CUDAIntro
15/21 スレッド番号

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



【ノート】
GPUの並列計算は、演算する配列のサイズと同じ数のスレッドを用いることが一般的です。この図の場合は、32個のスレッドで構成されるブロックが4個ある、128個のスレッドを用いる例を示しています。 スレッド番号を計算するには、この3個の組み込み変数を用います。組み込み変数は宣言しなくても用いることができる変数で、システム側で自動的にアタイが割り当てられます。なお、より複雑なスレッドの生成方式が可能で、その場合は別の変数も用いますが、ここでは、この3個だけ用います。また、変数名は、実際は、ピリオドが含まれた、構造体のメンバーで書かれています。おお文字小文字にも気を付けてください。アイディーエックスのアイは、おお文字です。ディーアイエムのディーも、おお文字です。スレッドのスペルにも気をつけてください。この例ではブロックアイディーエックスは0から3までのあたいを、スレッドアイディーエックスは0から127のあたいを、ブロックディーアイエムは32のあたいになります。 スレッド番号を計算するには、この式を用います。さきほども言ったように、それぞれの組み込み変数には、実行時に、各スレッドにおいて自動的にあたいが設定されるので、ユーザがあたいを設定する必要はありません。 各スレッドは自分のスレッド番号を参照して、計算すべき配列要素を特定します。アイディーに自分のスレッド番号を計算しておけば、アイディーを用いた演算式で計算ができます。