Ollama0.32.14在linux环境下编译以及调用MI50GPU支持Qwen3.8 27B
最近忙事,很少再在自己的机器上更新模型,最近出了Qwen3.8 27B的稠密模型,评价不错,遂试试。
ollama从0.30.0之后,后端都直接换到完整的llama.cpp,这是好事。
之前用ollama恨其性能拉垮,用llama.cpp性能好了,但是与openwebui匹配不好,体验不佳,现在完美了。
但是升级有几个门槛。
看了下后台代码,rocm版本好像默认来到了7.2.1。对于mi50来说,需要自己编译rocm库,并完成安装。(好在我之前已经将rocm升级到7.2.1,省很多事)。
然后后端的代码引用了在线的llama.cpp的源码,编译时会联网下载,这里不使用**上网,是没法完成代码下载的。
再就是编译问题,原来的编译后端的命令:
rm -rf build && mkdir build && cd build && cmake -Dhip_DIR=/opt/rocm-7.2.1/lib/cmake/hip -DCMAKE_PREFIX_PATH=/opt/rocm-7.2.1 -DAMDGPU_TARGETS=gfx906 -DGGML_HIP_ROCWMMA_FATTN=ON -DCMAKE_BUILD_TYPE=Release .. && cmake --build . -j$(nproc)
该命令可以完成编译,编译后,将lib/ollama拷贝到对应的目录,并完成bin/ollama更新,运行是没法调用gpu的。
主要就是编译后端时,没法调用hip相关编译器,都是纯cpu推理库。
解决方法:
--添加环境设定
export ROCM_PATH=/opt/rocm-7.2.1
export HIP_PATH=/opt/rocm-7.2.1
export CMAKE_PREFIX_PATH=/opt/rocm-7.2.1
export hip_DIR=/opt/rocm-7.2.1/lib/cmake/hip
--直接使用与llama.cpp相同的编译命令进行编译
HIPCXX="$(hipconfig -l)/clang" HIP_PATH="$(hipconfig -R)" cmake -S . -B build -DGGML_HIP=ON -DAMDGPU_TARGETS=gfx906 -DGGML_HIP_ROCWMMA_FATTN=ON -DCMAKE_BUILD_TYPE=Release && cmake --build build --config Release -- -j$(nproc)
手动将build/llama-server-local/bin/中拷贝到lib/ollama中
安装命令
sudo systemctl stop ollama
sudo rm -r /lib/ollama
sudo cp -r build/lib/ollama /lib/
sudo cp ollama /bin/
sudo systemctl start ollama
打开openwebui测试

浙公网安备 33010602011771号