日々の記録

メモ代わりにも使ってます

CUDA C プロフェッショナルプログラミング第2章 4/5

スレッドの構成:

ブロック: 複数のスレッドからなる束.
一つのカーネルによって生成された全てのスレッドをまとめてグリッドと呼ぶ.
グリッド内のスレッドはすべて同じグローバルメモリ空間を共有している.
グリッドは複数のスレッドブロックで構成されている.
スレッドとブロッ=互いに協調して動作できるスレッドのグループであり以下の機能を利用できる.
・ブロックに属するスレッド間の同期
・ブロック内で共有されるメモリ
*異なるブロックに属しているスレッド同士が協調して動作することはできない.
(要はブロックはCPU版のプロセスか?)

スレッドは互いを区別するために,以下の一意な座標を使用する.
・bloxkIdx ... グリッド内のブロックのインデックス
・threadIdx ... ブロック内のスレッドのインデックス

グリッドとブロックのサイズは以下の二つの組み込み変数によって指定される.
・blockDim ... スレッドの数によって指定されるブロックのサイズ
・gridDim ... ブロックの数によって指定されるグリッドのサイズ

グリッドとブロックの次元

グリッド: ブロックの二次元配列.
ブロック: スレッドの三次元配列.