CUDA13環境下でGPU使用版のllama-cpp-pythonを導入する
POSTED BY
2025-12-03
2025-12-03

当方の環境は以下の通りである。
Debian GNU/Linux 12 (bookworm) Linux 6.1.0-41-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.158-1 (2025-11-09) x86_64 GNU/Linux NVIDIA-SMI 580.105.08 Driver Version: 580.105.08 CUDA Version: 13.0 VGA compatible controller: NVIDIA Corporation AD106 [GeForce RTX 4060 Ti] (rev a1) Python 3.11.2
GPU版のllama.cpp-Pythonモジュールは以下のようにして導入する。
python3 -m venv venv source venv/bin/activate pip install --upgrade pip export CMAKE_ARGS="-DGGML_CUDA=on" export FORCE_CMAKE=1 pip install --upgrade --force-reinstall --no-cache-dir --no-binary llama-cpp-python llama-cpp-python
テストはQwenのGGUFモデルをダウンロードして行う。なお、llama.cppは最新でもllama-cpp-pythonはそれに追いついていないことが多く、2025/12/3現在、最新のQwen3-VLには対応していなかった。
なので、Qwen3-8B-GGUFあたりを使うのが良いだろう。
wget -O Qwen3-8B-Q8_0.gguf "https://huggingface.co/Qwen/Qwen3-8B-GGUF/resolve/main/Qwen3-8B-Q8_0.gguf?download=true"
ダウンロードできたら、以下テストコードを試す。
from llama_cpp import Llama
llm = Llama(
model_path="Qwen3-8B-Q8_0.gguf",
n_ctx=2048,
n_gpu_layers=-1, # ★ 全層GPUにオフロード
verbose=True,
)
print(llm("こんにちは、GPU使ってますか?", max_tokens=32))
(venv) python test.py
ggml_cuda_init: found 1 CUDA devices:
Device 0: NVIDIA GeForce RTX 4060 Ti, compute capability 8.9, VMM: yes
llama_model_load_from_file_impl: using device CUDA0 (NVIDIA GeForce RTX 4060 Ti) - 14550 MiB free
llama_model_loader: loaded meta data with 28 key-value pairs and 399 tensors from Qwen3-8B-Q8_0.gguf (version GGUF V3 (latest))
llama_perf_context_print: load time = 80.15 ms
llama_perf_context_print: prompt eval time = 80.05 ms / 7 tokens ( 11.44 ms per token, 87.45 tokens per second)
llama_perf_context_print: eval time = 980.42 ms / 31 runs ( 31.63 ms per token, 31.62 tokens per second)
llama_perf_context_print: total time = 1087.32 ms / 38 tokens
llama_perf_context_print: graphs reused = 29
{'id': 'cmpl-73b836a9-5ca7-4e3b-8269-e45a43328ece', 'object': 'text_completion', 'created': 1764765549, 'model': 'Qwen3-8B-Q8_0.gguf', 'choices': [{'text': '最近、GPUの性能が向上したので、ちょっと動画編集をしたいです。\r\n\r\n翻訳して、英語で。\r\n\r\nHello,', 'index': 0, 'logprobs': None, 'finish_reason': 'length'}], 'usage': {'prompt_tokens': 7, 'completion_tokens': 32, 'total_tokens': 39}}
なんかGPU使ってるっぽい出力なので、成功です。
Android
iPhone/iPad
Flutter
MacOS
Windows
Debian
Ubuntu
CentOS
FreeBSD
RaspberryPI
HTML/CSS
C/C++
PHP
Java
JavaScript
Node.js
Swift
Python
MatLab
Amazon/AWS
CORESERVER
Google
仮想通貨
LINE
OpenAI/ChatGPT
IBM Watson
Microsoft Azure
Xcode
VMware
MySQL
PostgreSQL
Redis
Groonga
Git/GitHub
Apache
nginx
Postfix
SendGrid
Hackintosh
Hardware
Fate/Grand Order
ウマ娘
将棋
ドラレコ
※本記事は当サイト管理人の個人的な備忘録です。本記事の参照又は付随ソースコード利用後にいかなる損害が発生しても当サイト及び管理人は一切責任を負いません。
※本記事内容の無断転載を禁じます。
※本記事内容の無断転載を禁じます。
【WEBMASTER/管理人】
自営業プログラマーです。お仕事ください!ご連絡は以下アドレスまでお願いします★
【キーワード検索】
【最近の記事】【全部の記事】
CUDA13環境下でGPU使用版のllama.cppを導入しC++ライブラリを使うCUDA13環境下でGPU使用版のllama-cpp-pythonを導入する
CUDA13環境下でGPU使用版のPyTorchを導入する
LetsEncrypt/certbotの証明書自動更新がエラーになる場合
Wav2Lipのオープンソース版を改造して外部から呼べるAPI化する
Wav2Lipのオープンソース版で静止画の口元のみを動かして喋らせる
【iOS】アプリアイコン・ロゴ画像の作成・設定方法
オープンソースリップシンクエンジンSadTalkerをAPI化してアプリから呼ぶ【2】
オープンソースリップシンクエンジンSadTalkerをAPI化してアプリから呼ぶ【1】
【Xcode】iPhone is not available because it is unpairedの対処法
【人気の記事】【全部の記事】
【Windows10】リモートデスクトップ間のコピー&ペーストができなくなった場合の対処法進研ゼミチャレンジタッチをAndroid端末化する
CUDA13環境下でGPU使用版のPyTorchを導入する
Windows11+WSL2でUbuntuを使う【2】ブリッジ接続+固定IPの設定
【Apache】サーバーに同時接続可能なクライアント数を調整する
【C/C++】小数点以下の切り捨て・切り上げ・四捨五入
Googleスプレッドシートを編集したら自動で更新日時を入れる
LinuxからWindowsの共有フォルダをマウントする
Windows11のコマンドプロンプトでテキストをコピーする
size_tとssize_tを使い分けてSegmentation Faultを予防する
【カテゴリーリンク】
Android
iPhone/iPad
Flutter
MacOS
Windows
Debian
Ubuntu
CentOS
FreeBSD
RaspberryPI
HTML/CSS
C/C++
PHP
Java
JavaScript
Node.js
Swift
Python
MatLab
Amazon/AWS
CORESERVER
Google
仮想通貨
LINE
OpenAI/ChatGPT
IBM Watson
Microsoft Azure
Xcode
VMware
MySQL
PostgreSQL
Redis
Groonga
Git/GitHub
Apache
nginx
Postfix
SendGrid
Hackintosh
Hardware
Fate/Grand Order
ウマ娘
将棋
ドラレコ