AMD GPU に関する記事を読んでいて、特定の例に混乱しています。多数のレジスターを持つ SIMD ユニットが与えられた場合、x 個のレジスターが必要な場合、SIMD を占有できる波面の数はいくつですか?
具体的には、SIMD ユニットに 1 ~ 32 のウェーブフロントを共有する 16k のレジスタがある場合。これは、各波面が平均 8 つのレジスタを持つことができることを意味します (波面が 32 ある場合)。これで問題ありません。
さらに、SIMD のウェーブフロント数には 20.6 までのグローバルな制限があり、各ウェーブフロントに 11 ~ 12 のレジスタを与えることになります。
この部分は私を混乱させます。さらに、83 以上のレジスタを使用する場合、SIMD を占有できるのは 2 つの波面のみであると言えます。(波面の幅は 64 であることを思い出してください)。
私の計算
2 * 83 * 64 = 10628 registers
では、これは SIMD ごとに与えられた 16,384 をはるかに下回っています。したがって、3 つの波面があっても問題ありません。
見逃したものがある場合は、ここの記事を読んでいます。(第7段落)