Lock in $30 Savings on PRO—Offer Ends Soon! ⏳

非CUDAの悲哀 〜Claude Code と挑んだ image to 3D “Hunyuan...

非CUDAの悲哀 〜Claude Code と挑んだ image to 3D “Hunyuan3D”を EVO-X2(Ryzen AI Max+395)で動作させるチャレンジ〜

NVIDIA製GPU前提で構築されている Hunyuan 3D -2.1を、Ryzen AI Max+ 395搭載のEVO-X2 (128GB RAM)で動作させるべくチャレンジした結果を、『ローカルAIに向き合う展示会』(https://techplay.jp/event/987584)でのLT向けにまとめたものです

結局、不完全な動作であったため、当該コードベースをGitHubを公開する予定はありません。

Avatar for hawky the miscellaneous

hawky the miscellaneous

December 09, 2025
Tweet

Other Decks in Technology

Transcript

  1. CUDA vs ROCm 比較 NVIDIA CUDA PyTorch / TensorFlow cuDNN

    / cuBLAS CUDA Runtime NVIDIA GPU ✓ 業界標準・エコシステム成熟 ✓ ほぼ全てのAIフレームワークが対応 ⇔ 移植 AMD ROCm PyTorch (ROCm版) MIOpen / rocBLAS HIP Runtime AMD GPU △ エコシステム発展途上 △ CUDA前提コードの移植が必要
  2. 検証環境 ハードウェア CPU/APU AMD Ryzen AI MAX+ 395 GPU Radeon

    8060S アーキテクチャ gfx1151 (RDNA 3.5) VRAM 64GB (共有) 統合GPUのため、ROCmサポートは限定的 ソフトウェア ROCm 7.1 PyTorch 2.8.0+rocm7.1 コンテナ rocm/pytorch rocm7.1_ubuntu24.04_py3.12_pytorch_release_2.8.0
  3. 結論:動いた?動かなかった? シェイプ生成 成功! •環境変数設定で動作 •所要時間:約3分10秒 •頂点数 348,353 / 面数 696,714

    テクスチャ生成 未完 •ハードコードされたCUDA参照 •マルチGPU前提の設計 •大規模な改修が必要
  4. シェイプ生成:2つの壁を越えた 課題1: SDPAカーネル不在 Flash/Memory Efficient Attentionが ROCmでは実験的機能として無効化 解決策 実験的カーネルを明示的に有効化 課題2:

    GFXアーキテクチャ互換性 実機はgfx1151 (RDNA 3.5) ライブラリは gfx1100 (RDNA 3) 向け →GPU Hangやクラッシュが発生 解決策 export HSA_OVERRIDE_GFX_VERSION=11.0.0 export PYTORCH_ROCM_ARCH=gfx1100 GFXバージョンをエミュレート
  5. テクスチャ生成:立ちはだかる壁 ハードコードされたCUDA参照 複数箇所で直接指定されている マルチGPU前提設計 albedoとPBRを別GPUで処理 メモリ要求量 64GB共有メモリでも不足 動作に必要な改修 デバイス参照の動的化 "cuda:X"

    → tensor.device マルチGPU設計の見直し シングルGPU対応へ再設計 メモリ効率化 チャンク処理・CPUオフロード MIOpen回避 Math SDPへフォールバック アーキテクチャレベルの変更が必要
  6. ROCm 環境変数チェックリスト HSA_OVERRIDE_GFX_VERSION=11.0.0 → GFXアーキテクチャ互換性の確保 PYTORCH_ROCM_ARCH=gfx1100 → ターゲットアーキテクチャの指定 TORCH_ROCM_AOTRITON_ENABLE_EXPERIMENTAL=1 →

    実験的カーネル (Flash Attention等) の有効化 PYTORCH_HIP_ALLOC_CONF=expandable_segments:True → メモリ断片化対策 Docker実行時の設定例 docker run --rm -it --device=/dev/kfd --device=/dev/dri \ -e HSA_OVERRIDE_GFX_VERSION=11.0.0 \ -e TORCH_ROCM_AOTRITON_ENABLE_EXPERIMENTAL=1 \ rocm/pytorch:rocm7.1_ubuntu24.04_py3.12_pytorch_release_2.8.0