AMDは2026年11月9日、Project MONAIのオープンソース能動学習アノテーションサーバーMONAILabel 0.8.5を、AMD Life Science 26.08(ROCm 10.0)上のAMD Instinct GPU向けにEarly Accessリリースとして対応させました。AMD Instinct MI355Xでの脾臓CTセグメンテーションでは、モデル推論がfp32同士の比較でCPUの131倍(中央値)になりました。
AMD InstinctはAMDのデータセンターAI・高性能計算向けアクセラレーター製品群で、ROCmはAMDのGPU計算向けオープンソフトウェア群です。MONAILabelは3D Slicer、OHIF Viewer、QuPathとMONAIベースの深層学習モデルを接続し、CT・MRIボリュームや病理のwhole-slide画像を対話的にラベル付けするためのサーバーです。
何が新しいか:3ファイルだけの移植
今回の対応はフレームワークレベルで行われ、GPU計算はすべてPyTorch-ROCm経由で実行されます。HIPがtorch.cuda.*として振る舞うため、Python API、既存のモデル設定、サンプルアプリ、MONAIバンドルは無変更で動きます。新規GPUカーネルは0本で、変更は次の3ファイルです。
| ファイル | 変更内容 |
|---|---|
monailabel/utils/others/generic.py |
gpu_memory_map()にrocm-smi --showmeminfo vram --csvのフォールバックを追加し、nvidia-smiがない環境でもAMDのVRAMを監視 |
monailabel/endpoints/logs.py |
/gpu RESTエンドポイントをバックエンド非依存化し、nvidia-smiかrocm-smiのどちらかに振り分け |
Dockerfile |
既存のCUDA手順と並べてAMD ROCmベースイメージとAMD PyPIホイールインデックスを記載 |
AMDは、カーネルを書き換えない方式のため、今後のupstream MONAI更新もAMD GPU対応をそのまま引き継げるとしています。オフライン単体テストは同じ0.8.5ホイールで57/57 PASSでした。
性能:MI355Xでの脾臓CT推論
測定はMedical Segmentation Decathlon Task09 Spleenの脾臓CT 4ボリュームで、2026年9月10日に実施されました。CPUベースラインはAMD Ryzen Threadripper PRO 7955WX(32スレッド固定、fp32)です。
| 項目 | 結果 |
|---|---|
| モデル推論のCPU比(fp32、ボリューム単位) | 131×(中央値、範囲115–133×) |
| ボリューム単位推論時間(bf16 autocast、実運用設定) | 約0.05–0.12秒 |
| ボリューム単位推論時間(fp32) | 約0.13–0.28秒 |
| 96³パッチ1枚のGPU推論(BasicUNet-3D、5.7Mパラメータ) | 約5.5–7.8ミリ秒(3回の独立測定の幅) |
| CPU–GPU出力の最大絶対誤差 | 約4.6×10⁻⁶(許容誤差5×10⁻²) |
AMDはパッチ単位の倍率を見出しにしなかった理由として、パッチ単位の比はCPU側の条件に強く依存し、ある環境ではスレッド数を変えるだけで178×から356×まで動いたと説明しています。
サーバーとモデルがロード済みのウォームリクエストでは、前処理とファイルI/Oが全体の94–99%を占め、GPU推論は残りのわずかな部分になりました。待ち時間はGPUではなく、ボリュームサイズとホストのページキャッシュ状態に応じたデータ移動で決まります。
試し方・要件
必要環境はAMD Instinct GPU、ROCm 10.0(26.08リリース向け)、Python 3.12、PyTorch-ROCmホイールです。測定環境のソフトウェアはPyTorch 2.13.0+rocm10.0.0、MONAI 1.6.0、MONAILabel 0.8.5でした。
# AMD PyPIインデックス(ROCm検証済みパッケージ)から導入
pip install monailabel --extra-index-url https://pypi.amd.com/rocm-10.0.0/simple/
# 放射線科サンプルアプリで脾臓セグメンテーションを起動
monailabel start_server --app radiology --studies --conf models segmentation_spleen
サーバーは起動時にモデルをAMD GPUへ事前ロードし、サーバーログにdevice: cudaと出ればGPU実行です。HIP/ROCmランタイムがCUDAとして見えるため、クライアント側の変更は不要です。ROCm PyTorch Dockerイメージから始める方法も用意されています。
hipCIMとの併用
MONAILabelはAMDのGPU画像I/OライブラリhipCIMなしでも動きますが、amd-hipcimを入れるとMONAIがhas_cucim=Trueを報告し、さらにamd-cupyを追加すると接続成分の後処理がCPUからGPUへ移ります。AMDはEarly Accessの位置づけとして、今後のリリースで検証範囲と機能を広げるとしています。

まだコメントはありません。