自動変換できた割合が95%でも、残り20箇所の手作業に614分かかりました。
自動変換の割合が50%まで下がると、手作業なしの場合の0.52倍まで時間が伸びます。
ROCmはランタイム・コンパイラ・ライブラリをまとめたAMDのソフトウェアスタックです。
AMD GPUでAIを動かす基盤がROCmです。公式はAMD GPUをプログラムするために必要なツールを提供し、ランタイム・コンパイラ・性能とシステムのユーティリティ・最適化された数学と計算のライブラリを含むと説明しています。
多くのAIコードはもともとNVIDIA向けのCUDAで書かれています。ROCmでは、これをHIPという仕組みで動かします。
HIPはCUDAに近いAPIを持ち、既存のCUDAコードをAMD向けへ移す役割を担います。
次のセクションでは、この移行がどれだけの手間になるのか実測します。
It provides the tools needed to program AMD GPUs — including runtimes, compilers, performance and system utilities, and optimized math and compute libraries.原文AMD ROCm 公式ドキュメント「What is ROCm?」 この内容の有効期限2027-02-19
HIPIFYはCUDAコードの多くを自動変換します。ただし残った箇所の手作業が、移行時間の大半を占めます。
AMD GPUへの移行は、CUDAコードをそのまま持っていけるわけではありません。公式はNVIDIA CUDAに近いインターフェースを提供することで、HIPは移植可能なアプリケーションを書けるようにし、既存のCUDAコードをAMDプラットフォームへ効率よく移行できるようにすると説明しています。
「効率よく」がどれだけの時間になるのか実際に計算して数えました。
CUDA呼び出し箇所 400個。HIPIFYが自動変換できた箇所はレビューだけで済む
自動変換1箇所 0.3分、手作業1箇所 25分
自動変換できた割合 自動変換の箇所 手作業の箇所 合計時間 全部手作業との比
95% 380個 20個 614分 0.06倍
85% 333個 67個 1775分 0.18倍
70% 278個 122個 3133分 0.31倍
50% 196個 204個 5159分 0.52倍
自動変換できた割合が95%でも、残る20箇所の手作業だけで614分かかりました。全部手作業の場合の6%まで圧縮できてはいますが、ゼロにはなりません。
自動変換の割合が50%まで下がると、合計時間は全部手作業の0.52倍まで伸びます。
この結果から、移行前に自分のコードでどれだけ自動変換できるか試しておくことの価値がわかります。割合が低いコードベースほど、見積もりを厚めに取る必要があります。
自動変換できる割合が下がるほど、合計時間は全部手作業に近づく。
By providing an interface closely aligned with NVIDIA CUDA, HIP allows developers to write portable applications and efficiently migrate existing CUDA code to AMD platforms.原文AMD ROCm 公式ドキュメント「HIP」 この内容の有効期限2027-02-19
自動変換できない主な理由はライブラリです。HIP相当がないものは、自分で置き換える必要があります。
AMD GPUへの移行で自動変換が届かない範囲には、明確な理由があります。公式はHIPIFYはすべてのCUDAコードを継ぎ目なくHIPコードへ自動変換するわけではないと述べています。
特にHIP相当のないCUDAライブラリや、サードパーティのライブラリは変換できません。実際に計算して、対応が少ない場合にどれだけ遅れるか数えました。
ライブラリ呼び出し 60種類。HIP相当がないものは自前で置き換える(1件 4時間)
HIP相当がある割合 置き換えが必要な件数 追加でかかる時間
95% 4件 16時間
85% 13件 52時間
70% 25件 100時間
50% 35件 140時間
HIP相当があるのが95%でも、残る4件の置き換えに16時間かかりました。85%まで下がると52時間です。
この追加時間を避ける最も確実な方法は、設計の段階でHIP相当のあるライブラリだけを選ぶことです。後から置き換えるより、先に選び直すほうが安く済みます。
HIPIFY does not automatically convert all CUDA code into HIP code seamlessly.原文AMD ROCm 公式ドキュメント「HIPIFY」 この内容の有効期限2027-02-19
同じ課題を持つ会社にとって、動いている設定は「作る時間」を買えるということです。ServiceDockは自作のワークフローやテンプレートを出品できるマーケットプレイスです。手数料や出品の流れは出品者向けページにまとまっています。
出品の仕組みを見る