Skip to content

Commit 73a7c58

Browse files
committed
Fix format and add some details.
Signed-off-by: Yuya Asano <[email protected]>
1 parent 1031989 commit 73a7c58

File tree

1 file changed

+10
-3
lines changed

1 file changed

+10
-3
lines changed

docs/articles/overview_of_RDNA4_hardware.md

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,18 +15,21 @@ WGPの内部について詳しく見ていく。
1515
## タスクの単位
1616
AMDとNVIDIAでは、用語が異なるため整理する。
1717
AMDでは仕事の最小分割単位をwork-itemと呼び、CUDAでのthreadに相当する。
18-
また、単一のRDNA4プロセッサー上で並列に実行できる32個または64個のwork-itemの集まりをWaveと呼ぶ
18+
また、単一のRDNA4プロセッサー上で並列に実行できる32個または64個のwork-itemの集まりをWave(またはWavefront)と呼ぶ
1919

2020
## Compute Unit(CU)
2121
WGPの内部には2つのCompute Unit(CU)があり、1つのCUには2つのSIMDがある。
2222
SIMDには以下のハードウェアがある:
23+
2324
- 1 x Scalar ALU (SALU): wave毎に1つの値を操作し、すべての制御フロー(if/else、ループ)を管理する。
2425
- 32 x Vector ALU (VALU): 各work-item上で同じ算術操作を行う
2526

2627
さらに、これらのALUにはデータとアドレスを保存できるGeneral Purpose Register(GPR)があり、機能が異なる。
27-
- SALU: 各wave内のwork-itemに共有される、32ビットのレジスター(Scalar GPR, SGPR)が128バイト x 32個ある。
28-
- VALU: wave内の各work-itemが持つ32ビットのレジスター(Vector GPR, VGPR)が1536バイト x 32個ある。
2928

29+
- SALU: 各wave内のwork-itemに共有される、4バイト単位のレジスター(Scalar GPR, SGPR)が128バイト x 32個ある。
30+
- VALU: wave内の各work-itemが持つ、4バイト単位のレジスター(Vector GPR, VGPR)が1536バイト x 32個ある。waveが32個なら16ブロック、64個なら8ブロック毎に確保される(つまり512 x 4バイト単位で確保される)。
31+
32+
VGPRはWaveの各work-itemに必要な分だけレジスターを確保する。
3033
また、条件分岐をサポートするために、各waveは各work-itemがアクティブか眠っているかを示すEXECuteマスクを持っている。
3134
アクティブなwork-itemはベクター命令をを実行し、眠っているものはNOPとして命令を実行する。
3235
EXECマスクはSALUまたはVALUの比較によって、いつでも書き換えられる。
@@ -41,3 +44,7 @@ LDSは4バイトの512エントリーを持つ、64個のバンクに分割さ
4144
work-group内のwaveはすべて同じWGP上で動く。
4245

4346
work-groupは1つあたり最大64kBのLDSのメモリを確保できる。
47+
48+
## 参考
49+
1. [AMD "RDNA4" Instruction Set Architecture Reference Guide](https://www.amd.com/content/dam/amd/en/documents/radeon-tech-docs/instruction-set-architectures/rdna4-instruction-set-architecture.pdf)
50+
2. [GPUアーキテクチャとGPUプログラミングの話が面白かった](https://qiita.com/Koya_/items/28446be12252edc06137)

0 commit comments

Comments
 (0)