CUDAIntro
5/21 並列処理(2/2)
【テロップ】
※各テロップ文字をクリックすると該当の場所がピンポイントで閲覧できます。
【ノート】
例えば、ここにあるフォーループのように、4つの配列データの加算を行うことを考えます。 プログラムの通り、フォーループを逐次に実行すると、 4回の演算を順番にすることになります。 しかし、演算をするコンピュータが4個あれば、この演算を同時にすることができ、 4倍の高速化が達成されます。GPUでは、数百から数千のコアが内蔵されているので、数百から数千の演算が同時に行うことができます。ただし、GPUの1個のコアはCPUよりも性能が低いので、単純に数百倍も速くなるわけではありませんが、並列化の効果により、一定の高性能化は達成できます。 そこで、どのように計算をGPU上のコアに割り当てるか、ということが大きな問題です。この部分はクーダを用いて簡単に実現できます。また、GPUとCPUは物理的に異なるメモリを利用するので、そのメモリ間のデータ移動をどうするかも問題です。これも、クーダが用意している関数で簡単に実現できます。