【780M向け】Radeon 780Mのbf16演算修正とUnsloth StudioのGPU自動選択ロジック改善

ローカルLLMAMDVulkaniGPULLM最適化

目次
  1. 今回の要点
  2. RDNA3/4向けbf16 WMMA演算のバグ修正
  3. Unsloth StudioのGPU自動選択ロジック改善
  4. 出典

今回の要点

  • llama.cppがRDNA3/4 (gfx11/gfx12) 向けのbf16 WMMA演算バグを修正し、780M等での演算精度と動作が改善された。
  • Unsloth StudioがAPUとdiscrete GPUの混在環境において、discrete GPUを優先する自動配置ロジックを採用した。
  • Unsloth StudioのFlash Attention選択ロジックが静的テーブルからプロファイリングベースに変更され、ROCm環境での精度が向上した。

RDNA3/4向けbf16 WMMA演算のバグ修正

llama.cppのVulkanバックエンドでは、AMDのRDNA3/4アーキテクチャ (gfx11/gfx12) においてbf16形式の行列乗算 (WMMA) を実行する際、オペランドのベクトル型指定に誤りがあった。この修正により、Radeon 780M (RDNA3) や次世代RDNA4搭載GPUでのbf16演算が正しく動作するようになった。

この変更は、APUやdiscrete GPUにおけるbf16精度の推論品質と、計算の正確性を担保する上で重要である。特に、bf16を前提としたモデル構成において、演算エラーによる出力の破綻や精度低下を防ぐ。

根拠: hip: fix bf16 WMMA operand vector type for gfx11/gfx12 (PR #30885)

利用者の報告

RDNA4 (gfx1201) 環境における性能報告として、getsamsultan 氏は、3枚のRadeon AI PRO R9700 (discrete) を用いた環境で、HSA_ENABLE_SDMA=0 を設定すると生成速度が約61%低下する現象を報告している。具体的には、Qwen3-Coder-Next 80Bモデルにおいて、速度が ~54 t/s から 21 t/s に低下した。この設定はStrix Halo (APU) 向けと推測されており、discrete GPU環境では不要な制限となっている可能性がある。一方、HSA_ENABLE_SDMA=1 に設定することで、54.3 t/s の正常な速度が再現された。

Unsloth StudioのGPU自動選択ロジック改善

Unsloth Studioは、ROCm/HIP環境におけるFlash Attention (FA) の選択ロジックを、静的なモデルテーブル参照から、ブロック単位のタイミングプローブ (whole-block timing probe) へ変更した。これにより、ワークロードに応じたより正確なFAの選択が可能になった。

また、APU (統合メモリ) とdiscrete GPUを併用する環境において、自動でGGUFモデルを配置する際、discrete GPUを優先するロジックが導入された。これにより、Radeon 780M (APU) とdiscrete GPUを持つユーザーが、APU側に誤ってモデルが割り当てられる問題を回避できる。加えて、Vulkanの空きメモリ量が総メモリ量を超えないようクリップする処理も追加された。

根拠: Studio: pick ROCm flash attention by whole-block timing probe instead of model table (#13792)
根拠: Studio: prefer discrete GPUs over unified-memory APUs in auto GGUF placement; clamp Vulkan free to total (#14372)

利用者の報告

上記のGPU選択ロジック改善に関連し、getsamsultan 氏は、discrete GPU環境におけるSDMA (System Direct Memory Access) の有効化が性能に直結することを示している。Unsloth Studioがdiscrete GPUを優先するようになったことで、APU側のメモリ制約やSDMA設定の影響を受けずに、discrete GPUのリソースを最大限に活用できる環境が整うと期待される。

出典

【宣伝】SwitchBot 購入はこちらから

SwitchBot公式ページ
クーポン「AF-4903」で5%引き(アフィリエイトクーポンになりますのでご協力お願いします)
割引の詳しい仕組みに関してはこちらのページを参照ください。