メインコンテンツへスキップ
見出し画像

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 があるか確認すること。


    あなたへのおすすめ