AMD MI355Xにおけるオキュパンシー計算:第一原理からのガイド
本記事はAMDの次世代GPUアーキテクチャMI355Xにおけるオキュパンシー(占有率)計算を、第一原理から徹底解説する。ハードウェア構造とスレッドスケジューリングの基礎に立ち返り、MI355X特有の演算ユニット構成やレジスタ制約がオキュパンシーに与える影響を数式と具体例で示す。GPUカーネル最適化に携わるエンジニア向けの実践的リファレンス。
背景メモ
- AMD MI355Xは、2025年後半に投入予定の同社次世代データセンター向けGPUで、NVIDIAのBlackwell B200/B300と競合する。本記事は、このチップの「オキュパンシー(Occupancy)」——GPU内の計算ユニット(CU)をどれだけ効率的に使えるかを左右する指標——を、CUDA/ROCmプログラミングの基礎に立ち返って解説している。
- 著者はインドのディープラーニング・エンジニアで、GPUカーネルの性能解析ブログで知られる。
- 「オキュパンシー」とは、GPUが持つ最大スレッド数のうち実際に同時実行できている割合。高ければ必ずしも高速とは限らず、メモリ帯域幅やレジスタ使用量とのトレードオフが重要で、このバランスを「Occupancy Math」と呼ぶ。
- MI355Xのアーキテクチャ上の特徴として、従来のMI300XからCompute Unitあたりのレジスタ数が倍増し、Warpあたりのスレッド数が64に拡張された点がある。これにより、大規模行列演算でのオキュパンシー戦略が従来と大きく変わる。
- AMD GPUのプログラミング・モデル(ROCm/HIP)はNVIDIA CUDAと似ているが、オキュパンシーに関する設計上の制約が異なるため、NVIDIAに最適化されたコードをそのまま移植すると性能が出ないことが多い。