Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions docs/articles/overview_of_RDNA4_hardware.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,8 @@ SIMDには以下のハードウェアがある:

さらに、これらのALUにはデータとアドレスを保存できるGeneral Purpose Register(GPR)があり、機能が異なる。

- SALU: 各wave内のwork-itemに共有される、4バイト単位のレジスター(Scalar GPR, SGPR)が128バイト x 32個ある
- VALU: wave内の各work-itemが持つ、4バイト単位のレジスター(Vector GPR, VGPR)が1536バイト x 32個ある。waveが32個なら16ブロック、64個なら8ブロック毎に確保される(つまり512 x 4バイト単位で確保される)
- VALU: 1536本のVGPRを持ち、各VGPRはwave内の各lane(work-item)に対応する32bit値を保持する。そのため、Wave32なら1VGPR=128バイト、Wave64なら論理的には256バイト相当になる
- SALU: wave全体で共有される32bitスカラレジスタ(SGPR)を使用する。SGPRはVGPRと異なりlaneごとの値を持たず、1 SGPR = 4バイトである

VGPRはWaveの各work-itemに必要な分だけレジスターを確保する。
また、条件分岐をサポートするために、各waveは各work-itemがアクティブか眠っているかを示すEXECuteマスクを持っている。
Expand Down
2 changes: 0 additions & 2 deletions zensical.toml
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,6 @@ nav = [
{ "Eigenで行優先の行列を行優先のベクトルに変換する時、ベクトルのイテレータを`std::contiguous_iterator`にする方法" = "articles/make-reshaped-matrix-iterator-contiguous.md" },
{ "oneTBBの使い方" = "articles/how_to_use_onetbb.md" },
{ "Ubuntu 25.04上のRadeonでRusticlを使う方法" = "articles/how_to_use_rusticl_with_radeon_on_ubuntu.md" },
{ "AMD RDNA4のハードウェアの概要" = "articles/overview_of_RDNA4_hardware.md" },
{ "AMD HIP" = "articles/hip/intro/intro.md" },
{ "Address sanitizerとEigenを一緒に使うとき" = "articles/eigen_with_asan.md" },
{ "Expression templatesのダングリング対策について" = "articles/expression_templates.md" }
] },
Expand Down