日々の記録

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

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

実行モデル:特定のコンピューティングアーキテクチャで命令がどのように実行されるのかを計算処理の観点から定義する.
...CUDAの実行モデルではGPUの並列アーキテクチャが抽象的に表現されており,スレッドの並列性について論じることができる.
CUDAの実行モデルは命令スループットとメモリアクセスという観点から効率的なコードを記述するのに役立つ手がかりを与える.

GPUアーキテクチャの概要

SIMTアーキテクチャ:スレッドが32個ずつ,ワープと呼ばれるグループにまとめられた上で実行される.
ワープ内のスレッドはすべて同じ命令を同時に実行する.
スレッドはそれぞれ命令実行パスとレジスタ状態を保ち,独自のデータで現在の命令を実行する.
各SMは割り当てられたスレッドブロックを32個のスレッドからなるワープに分割し,利用可能なハードウェアソースにスケジュールする.
### SIMDとSIMTの違い SIMD : ベクトル内のすべての要素を一つの同期グループで同時に実行しなければならない.
SIMT:同じワープ内の複数のスレッドを独立として実行できる.
...ワープ内のスレッドは全て同じプログラムアドレスで同時に開始されるが,個々のスレッドの振る舞いは異なっている可能性がある.