llama.cppはCUDA・Vulkan・ROCmのどれで使う?GPUとOSから選ぶ

目次
llama.cppはCUDA、Vulkan、HIP/ROCmなど複数のGPUバックエンドを利用できる。
どれを選ぶか迷ったとき、最初から「一番速いもの」を探すより、自分のGPUとOSで公式に使える経路を確認する方が確実だ。
まずGPUとOSを固定する
最初に環境を記録する。
GPUの正確な型番:
OS・バージョン:
GPUドライバー:
llama.cppのバージョン・コミット:
配布済みバイナリ / 自分でビルド:
NVIDIA GPUではCUDAが主要な候補になりやすい。AMD GPUではHIP/ROCmやVulkanなどが候補になる場合がある。
ただし、GPU名だけから決めず、使用するOSとllama.cppの現在の公式ビルド資料で対応を確認する。
バックエンドごとのビルド手順を公式資料で確認する
llama.cppのビルド資料には、CUDA、HIP、Vulkanなどを有効にするためのCMake設定が用意されている。
必要なツールチェーンやドライバーはバックエンドによって異なるため、別の環境向け手順をそのまま流用しない。
また、一つのバイナリが複数のバックエンドやデバイスを認識する構成もあり得る。ファイル名だけで「必ずこのGPU経路を使う」と判断せず、起動ログを確認する。
公式の配布済みバイナリで足りるかを見る
自分のOSとGPUに対応する配布済みバイナリがあり、必要な機能を満たすなら、最初からソースビルドする必要はない場合もある。
自分でビルドする意味があるのは、たとえば、
- 特定のバックエンドを有効にしたい
- 特定のコミットやバージョンを試したい
- 独自のビルド設定が必要
といった理由があるときだ。
ビルド環境を増やすと、コンパイラーや各種ライブラリの管理も必要になるため、その手間も選択条件に入れる。
速度を比べるなら同じ条件で測る
CUDA、Vulkan、ROCmという名前だけから速度を推測しない。
同じGPUで複数の経路を比較できるなら、
GGUF: 同じ
コンテキスト長: 同じ
プロンプト: 同じ
生成条件: 同じ
llama.cppのバージョン: 同じ
として、バックエンドだけを変える。
異なるGPU同士の結果を比べて「CUDAとVulkanの差」とするのは避ける。
最初の合格条件は「正しいGPUで1回返ること」
最初から細かなベンチマークを取る必要はない。
- 小さなGGUFを読み込む
- 起動ログで使用デバイスを確認する
- 想定したバックエンドが選ばれているか確認する
- 一つの入力に応答が返る
ここまで通ってから、速度やメモリ使用量を比較する。
NVIDIA環境でCUDA Toolkitそのものが必要か迷っている場合は、CUDA ToolkitとNVIDIAドライバーの違いを先に確認すると整理しやすい。AMD GPUをWindowsで使う場合は、AMD GPUのWindows対応を確認する方法も参照できる。
まとめ
- CUDA・Vulkan・ROCmという名前だけで速度の順位を決めず、まず自分のGPUとOSで使える経路を確認する
- 配布済みの公式バイナリで目的を満たせるなら、自分でビルドするための環境を増やす必要がない場合もある
- 自分でビルドする場合は、使用するllama.cppのバージョンとバックエンドの公式ビルド手順を確認する
- 最初は小さなGGUFを一つ読み込み、想定したGPUとバックエンドが実際に使われていることをログで確認する
公式サイトで次に進む
この記事で明示的に扱うソフトだけを表示します。配布・手順は各公式ページで確認してください。
llama.cpp
local-gen.jpがファイルを配布するものではなく、互換性を保証するものでもありません。
この記事で扱ったデータ
モデル・GPU・実行ソフトの確認済みデータを、記事とは別に確かめられます。