14. GPU の演算リソースを効率よく使うには?
局所性と非同期実行
データ局所性
短遅延
高バンド幅
非同期実行
データ転送と計算のオーバーラップ
効率的な非同期実行機能
Load
A
Compute
A
Store
A
Load
B
Compute
B
Store
B
Load
C
Comput
C
Load
A
Compute
A
Store
A
Load
B
Compute
B
Store
B
Load
C
Compute
C
Store
C
Async
Mem Copy
Compute
Mem Copy
Compute
15. CUDA プログラミングモデルと GPU HW 階層
CUDA: 3階層
HW: 4階層
Grid … Block Thread
GPU GPC SM CUDA core
CUDA は 3 階層のプログラミングモデルで、データ局
所性を利用
グリッド: ブロックの集合 (カーネル)
ブロック: スレッドの集合
一つの SM に割当。同一ブロック内のスレッドは、共
有メモリや L1 キャッシュ等の SM リソースを利用して、
協調実行
CUDA 階層と HW 階層に「乖離」
CUDA では GPC を利用できない
H100: 132 SM
16. THREAD BLOCK CLUSTER
クラスタ
CUDA: 4階層
HW: 4階層
Grid Cluster Block Thread
GPU GPC SM CUDA core
CUDA に新しい階層を追加 (CUDA 12)
グリッド: クラスタの集合 (カーネル)
クラスタ: ブロックの集合
ある一つの GPC 内の、複数 SM に割当
ブロック: スレッドの集合
クラスタの機能
クラスタ内ブロックは、同時にスケジューリング
分散共有メモリ: 互いの共有メモリにアクセス可
高速なクラスタ内同期 (HWサポート)
H100: 132 SM
31. GPU の演算リソースを効率よく使うには?
データ局所性と非同期実行
データ局所性
短遅延
高バンド幅
非同期実行
データ転送と計算のオーバーラップ
効率的な非同期実行機能
Load
A
Compute
A
Store
A
Load
B
Compute
B
Store
B
Load
C
Comput
C
Load
A
Compute
A
Store
A
Load
B
Compute
B
Store
B
Load
C
Compute
C
Store
C
Async
Mem Copy
Compute
Mem Copy
Compute
59. POINTERS
GTC 2022 talks
Inside the NVIDIA Hopper Architecture (S42663)
Optimizing CUDA Applications for NVIDIA Hopper Architecture (S41489)
CUDA: New Features and Beyond (S41486)
White paper
NVIDIA H100 Tensor Core GPU Architecture