llama.cppはGGUF形式のローカルLLMを実行する基盤で、RX 9070 XTではROCm/HIPとVulkanの二つのGPU経路を選べます。両方とも同じ「GPU実行」ですが、必要なライブラリとビルド設定は異なります。導入時の選び分けから、実際にRX 9070 XTへ計算が載ったと判断する方法まで説明します。
ROCm/HIPとVulkanの違い
AMDのROCm 10.1互換性表はRX 9070 XTをgfx1201として掲載しています。AMDのllama.cpp案内には、ROCmライブラリを使う方法と、GPUデバイスを列挙して短い推論を実行する検証手順があります。ROCm/HIP経路を使う場合、対応するドライバーとランタイムをそろえる必要があります。
一方、llama.cppのビルド資料はVulkanバックエンドを別に案内し、WindowsでもGGML_VULKAN=ONによるビルド例を示します。Vulkanを選んだ実行はROCm実行と同じ条件とは言えません。ドライバーとモデルが同じでも、ビルドしたバックエンドで性能やエラーの原因が変わるため、最初に使う経路を一つ決めて検証します。
| 項目 | ROCm/HIP | Vulkan |
|---|---|---|
| 主な計算基盤 | AMD ROCm・HIP | Vulkanドライバーと対応ビルド |
| 対応確認 | AMDのROCm互換性表 | llama.cppのVulkanビルド資料 |
| GPU一覧 | ROCmデバイスとしてRX 9070 XTを表示 | Vulkanデバイスとして表示 |
| 比較時の注意 | ROCm版と版数を記録 | Vulkan版と版数を記録 |
導入とGPU認識の確認
ROCm経路ではAMDのインストール案内に従い、対応するOS、ドライバー、ROCm版を合わせます。AMDのllama.cppページには、llama-cli --list-devicesでデバイスを列挙する例があります。その出力例にはRX 9070 XTが約16GBのROCmデバイスとして載り、利用可能量は画面やアプリの使用分だけ少なく示されています。デバイスが見えない場合はROCmライブラリが読み込めているかを確認します。
WindowsでVulkan版を自分でビルドする場合、llama.cppの資料はVulkan SDKを入れ、cmake -B build -DGGML_VULKAN=ONとcmake --build build --config Releaseで構築する例を載せています。コマンドは使用する開発環境により調整が必要なので、Windows向けの該当節を選んで進めます。作成した実行ファイルがVulkanバックエンドを読み込めることを確認し、GPU一覧でRX 9070 XTを特定します。
GGUFモデルで計算を確かめる
AMDのllama.cpp手順は、デバイス一覧の確認に続き、GGUFモデルで短いベンチマークを実行してGPU計算を確かめます。最初は8B級のQ4量子化などVRAMに余裕のあるモデルを選び、ログに表示されるGPUへ載った層数とメモリを確認します。必要な層がCPUに残っていれば、実行時間はGPUだけの場合と変わります。
16GBのカードでも、モデルの重み、KVキャッシュ、演算の作業領域を合わせてVRAMを消費します。-nglなどGPUへの層の割り当てを変えると実行はできても、CPUとGPUの分担が変わります。異なるバックエンドを比べる際は、同じGGUFファイル、同じ文脈長、同じGPU層数にそろえ、生成速度とプロンプト処理速度を別に記録してください。
エラーが出たときの切り分け
ROCm版でデバイスが出ないなら、OSとドライバー、ROCmライブラリの場所を確認します。AMDの手順はWindowsのDLL探索や、Linuxで複数GPUが見える場合のHIP_VISIBLE_DEVICESにも触れています。特に内蔵GPUがあるPCでは、意図せず内蔵GPUが選ばれていないか一覧で見ることが有効です。
Vulkan版なら、まずVulkan対応ビルドを使っているか、必要なランタイムとGPUドライバーがあるかを調べます。ROCm版で使った環境変数をVulkan版へそのまま適用しても、デバイスの選択方法は同じではありません。実行ファイルの版とバックエンド、GPU一覧、モデルのログを保存しておけば、どの層で問題が起きたか追いやすくなります。
同じ実行ファイルに複数のバックエンドが組み込まれている構成では、ビルド時の指定だけでなく起動ログで使用したデバイスを判定します。ROCmのデバイスならROCm、VulkanのデバイスならVulkanとして測定記録に残すと、後で版を更新した際も同じ条件で比べられます。
まとめ
RX 9070 XTでllama.cppを使うなら、ROCm/HIPとVulkanのどちらで実行するかを先に決めます。GPU一覧の表示に続いて短いGGUF推論を行い、ログでGPUに載った層と使用メモリを確認すると、実際の計算経路を判断できます。
