前回の記事で Navi21 /Sienna Cichlid の専用メモリのタイプは、Navi10 /Navi14 同様に GDDR6 ではないかと書いたが、それが揺らぐようなパッチが出てきた。
AMD Navi21 /Sienna Cichlid 情報近況 ―― GDDR6と省電力とサーバ向けと 【2020/07/21】 | Coelacanth’s Dream
それが以下のパッチで、主な内容としては UMC(Unified Memory Controller)1 Ver 8.7 にて ECC で検知されたメモリエラーをレポートする機能をサポートするものと推察される。
[PATCH] drm/amdgpu: add support for umc 8.7 ras functions
そして気になるのが以下の部分。
+/* HBM Memory Channel Width */ +#define UMC_V8_7_HBM_MEMORY_CHANNEL_WIDTH 128 +/* number of umc channel instance with memory map register access */ +#define UMC_V8_7_CHANNEL_INSTANCE_NUM 2 +/* number of umc instance with memory map register access */ +#define UMC_V8_7_UMC_INSTANCE_NUM 8 +/* total channel instances in one umc block */ +#define UMC_V8_7_TOTAL_CHANNEL_NUM (UMC_V8_7_CHANNEL_INSTANCE_NUM * UMC_V8_7_UMC_INSTANCE_NUM) +/* UMC regiser per channel offset */ +#define UMC_V8_7_PER_CHANNEL_OFFSET_SIENNA 0x400
UMC v8.7 については初見だが、UMC_V8_7_PER_CHANNEL_OFFSET_SIENNA
から Navi21 /Sienna Cichlid に関連付けられたものと思われる。Vega20、Arcturus に関連付けられているのは UMC v6.1 であり、バージョンナンバーが一気に飛んでいることとなる。しかし、ECCに対応した製品を出す計画が無かっただけで、内部的には Navi1x 系にもUMC のバージョンが割り振られていたのであれば自然と考えられる。
して、上に引用した部分には Navi21 /Sienna Cihclid が HBM系のメモリを採用するかのように記述されている。
各マクロ名と値については、まず HBM系メモリは 128-bit のメモリチャネルを 8本束ね、1024-bit のインターフェイスを構成する。
UMC_V8_7_HBM_MEMORY_CHANNEL_WIDTH
はそのままメモリチャネルの幅、UMC_V8_7_UMC_INSTANCE_NUM
は束ねる本数に対応していると考えられる。
UMC_V8_7_CHANNEL_INSTANCE_NUM
は、UMC v6.1 のファイルと比較すると、
/* HBM Memory Channel Width */ #define UMC_V6_1_HBM_MEMORY_CHANNEL_WIDTH 128 /* number of umc channel instance with memory map register access */ #define UMC_V6_1_CHANNEL_INSTANCE_NUM 4 /* number of umc instance with memory map register access */ #define UMC_V6_1_UMC_INSTANCE_NUM 8 /* total channel instances in one umc block */ #define UMC_V6_1_TOTAL_CHANNEL_NUM (UMC_V6_1_CHANNEL_INSTANCE_NUM * UMC_V6_1_UMC_INSTANCE_NUM) /* UMC regiser per channel offset */ #define UMC_V6_1_PER_CHANNEL_OFFSET_VG20 0x800 #define UMC_V6_1_PER_CHANNEL_OFFSET_ARCT 0x400
UMC v6.1 では値が 4
となっている。
比較できるファイルがこれしかないため、根拠とするには少し乏しいが、Vega20 のスペックから、インターフェイス数を表しているのかもしれない。
短絡的になれば、Navi21 /Sienna Cichlid は HBM2 2インターフェイス(2048-bit) に対応……とも考えられるが、前回 書いたように、GDDR6メモリを採用するような記述も見られる。
まさかの GDDR6 と HBM2 の両対応なんて考えが浮かんだりもするが、今の所それを判定するための文もない。
[PATCH] drm/amdgpu: enable umc 8.7 functions in gmc v10
まだ結論を出すことはできないが、考察の跡をつけ、今後のためとしたい。