GPUプログラミング
1024個の値を木の形のリダクションで合計するとき、必要な段の数はいくつか。
- A10
- B512
- C1023
答えと解説を見る
正解:A. 10
各段で値の数が半分になるので、1024→512→256→…→1と、1になるまで10回半分にします。つまり段の数はlog2 1024=10です。足し算の総回数は512+256+…+1=1023回で、1つのスレッドが順に足す場合と同じですが、段が10しかないので、十分な数のスレッドがあれば非常に速く終わります。
- A. 正しい。2の10乗が1024です。
- B. 512は1段目に必要なスレッドの数です。
- C. 1023は足し算の総回数です。