
OllamaでAMDのROCmが認識されない? ライブラリの置き場所を確認しよう
症状
OllamaをAMD GPUで使いたいのに、ROCmではなくVulkanで動いてしまう。ログに libDirs: cuda_v12, cuda_v13, vulkan とだけ表示され、ROCmが選択肢にない。
AMDのGPUは、追いついていないソフトも多いですが、Ollamaは「ROCmに対応」してるので、AMDのGPUは問題なく使えます。
原因:2つのインストール流儀の衝突
Linuxには /usr/lib(aptなどが管理)と /usr/local/lib(手動インストール用)という慣習がある。
Ollamaの公式スクリプトは本体を /usr/local/ に置き、ライブラリも /usr/local/lib/ollama/ を探す。
一方、ROCm対応ライブラリは tar -C /usr での展開やapt経由で /usr/lib/ollama/ に入る。
どちらの流儀も正しいが、1台のマシンで噛み合わない。
解決策
シンボリックリンクでつなぐ。ROCmライブラリは約2.5GBあるので、コピーよりリンクが現実的。
sudo ln -s /usr/lib/ollama/rocm_v7_2 /usr/local/lib/ollama/rocm_v7_2
sudo systemctl restart ollama
これはユーザーのミスではない
公式ドキュメント通りにインストールしてもこの食い違いは起きる。GitHubにも同様の報告が複数あり、環境変数での回避もうまくいかないケースが報告されている。Ollama側のドキュメントと実装のズレが主因。
CUDA
Application ── CUDA Runtime ── NVIDIA Driver
AMD
Application ── HIP ── ROCr/HSA ── amdgpu/kfd
注意
apt upgrade やOllamaの再インストールでリンクが消える可能性がある。動かなくなったら ls /usr/local/lib/ollama/ で rocm_v7_2 があるか確認すること。