Coelacanth's Dream

ROCm v3.4 は Arcturus への最適化がメインか

Tensileへのプルリクエストから ROCm v3.4 での更新内容が見えてきた。
Tensileとは、行列演算やN次元のテンソルの縮約、2つの多次元オブジェクトの乗算といった演算のベンチマークに使われるバックエンドライブラリを作成するためのツール。

ROCm 3.4 milestone merge develop into master by zaliu · Pull Request #922 · ROCmSoftwarePlatform/Tensile

内容としては、行列演算用の命令 MFMA、データ精度 BF16、その他もろもろへの最適化、修正が見られ、
先2つから ROCm v3.4 はArcturusへの対応をより進め、性能を引き出すことがメインと考えられる。

Arcturus での新機能に対応する ROCm v3.2 を待たず、ROCm v3.3 が不意を打つ形でリリースされたことでリリース形体が分かれた。1

Arcuturs 向けのリリースと一般ユーザー向けのリリースで分けるのか、
それとも ROCm v3.4 で合流するか。
ROCm のパッケージには一般ユーザーもそれなりに使うOpenCLドライバも含まれるため、リリース形体を分けることには一応の意味がある。
また、Zen 4 EPYC Genoa CPU と、時期から CDNA 2 GPUを採用すると思われるスーパーコンピューター El Capitan ではソフトウェアスタックに ROCm の拡張バージョンを使用するとしており、今後開発を進める上で分けることはありえるはずだ。

An enhanced version of the open source ROCm heterogenous programming environment, being developed to tap into the combined performance of AMD CPUs and GPUs, unlocking maximum performance.

それならそれで番号以外に違いを付けてほしい。それか合流するか。
詰まるところ、わかりやすくしてくれというのが個人的な気持ちだ。