CUDAIntro
17/21 並列計算(2/4)

【テロップ】
※各テロップ文字をクリックすると該当の場所がピンポイントで閲覧できます。



【ノート】
カーネル関数は、ホスト側の関数から呼び出されます。呼び出す際には、いくつのスレッドを起動するか、を指定する必要があります。さきほども述べましたように、計算対象とする配列のサイズ分のスレッドを起動する必要があります。その指定方法は、三角括弧を3重にした記法を用いて、まず、スレッドブロックの数を記述し、次に、スレッドブロック内のスレッド数を記述します。実際に起動されるスレッドの数は、ブロックの数とブロック内のスレッド数の積になります。なお、スレッド数の指定には、より複雑な書き方もありますが、ここでは割愛します。 このプログラムでは、カーネル関数サブを、4かける32の128個のスレッドで実行するものを示しています。ひとつのカーネル関数は1個の配列要素の計算しかしませんが、128個のスレッド全体では、128のサイズの配列全体の計算となっており、それらの計算が並列に実行され、高速化されることになります。例えば、スレッド番号11のスレッドは、配列要素11の計算を行います。また、スレッド番号49のスレッドは、配列要素49の計算を行います。