AMD Instinct MI50 在ROCm7.1.1下编译运行llama.cpp、ollama

     今天去amd官网闲逛,发现MI50的驱动居然已经更新到了7.1.1,心情激动了下,立马下载安装的试试,结果是一波三折。

下载文件:

amdgpu-install_7.1.1.70101-1_all.deb

 

安装

sudo apt install ./amdgpu-install_7.1.1.70101-1_all.deb

提示需要通过amdgpu-install安装

sudo amdgpu-install ./amdgpu-install_7.1.1.70101-1_all.deb

 

等待安装完成

 

--安装驱动更新后的依赖库

sudo apt update
sudo apt upgrade

 

补充安装:

sudo apt install rocm-libs

 

查看ROCm版本

sudo update-alternatives --display rocm

zt@zt:~/Downloads/tensorfiles$ sudo update-alternatives --display rocm
rocm - auto mode
link best version is /opt/rocm-7.1.1
link currently points to /opt/rocm-7.1.1
link rocm is /opt/rocm
/opt/rocm-7.1.1 - priority 801794908

 

编译llama.cpp (这边使用的是已有的B7227)

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 12

 

编译通过,尝试运行:

./llama-server -m ~/.lmstudio/models/lmstudio-community/Qwen3-VL-30B-A3B-Instruct-GGUF/Qwen3-VL-30B-A3B-Instruct-Q4_K_M.gguf --n-gpu-layers 9999 --main-gpu 0 --split-mode none --port 8081

可以运行,打开浏览器,打开地址http://127.0.0.1:8081,并开始聊天。

不出意外的话,就出意外了,一旦确认录入,就开始报错:

rocBLAS error: Cannot read /opt/rocm-7.1.1/lib/rocblas/library/TensileLibrary.dat: No such file or directory for GPU arch : gfx906
List of available TensileLibrary Files :
"/opt/rocm-7.1.1/lib/rocblas/library/TensileLibrary_lazy_gfx1101.dat"
"/opt/rocm-7.1.1/lib/rocblas/library/TensileLibrary_lazy_gfx1201.dat"
"/opt/rocm-7.1.1/lib/rocblas/library/TensileLibrary_lazy_gfx942.dat"
"/opt/rocm-7.1.1/lib/rocblas/library/TensileLibrary_lazy_gfx1200.dat"
"/opt/rocm-7.1.1/lib/rocblas/library/TensileLibrary_lazy_gfx1100.dat"
"/opt/rocm-7.1.1/lib/rocblas/library/TensileLibrary_lazy_gfx1150.dat"
"/opt/rocm-7.1.1/lib/rocblas/library/TensileLibrary_lazy_gfx950.dat"
"/opt/rocm-7.1.1/lib/rocblas/library/TensileLibrary_lazy_gfx1151.dat"
"/opt/rocm-7.1.1/lib/rocblas/library/TensileLibrary_lazy_gfx908.dat"
"/opt/rocm-7.1.1/lib/rocblas/library/TensileLibrary_lazy_gfx1030.dat"
"/opt/rocm-7.1.1/lib/rocblas/library/TensileLibrary_lazy_gfx90a.dat"
"/opt/rocm-7.1.1/lib/rocblas/library/TensileLibrary_lazy_gfx1102.dat"
Aborted

按之前的7.0.2的经验,应该是缺失TensileLibrary文件,进入/opt/rocm-7.1.1/lib/rocblas/library/一看,果然缺失gfx906的文件。

AMD这是驱动支持了MI50,但是ROCm的支持太监了!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

坑爹呢!

 

既然来都来到这步了,尝试把原来7.0.2安装使用的6.4.4版本的ROCBLAS文件中提取gfx906相关文件,全部拷贝到/opt/rocm-7.1.1/lib/rocblas/library/中,然后又尝试了运行了一次,这次都正常了。

速度上并没有明显变化(废话,之前提示本来主要是rocm6.4带入的,没有官方新的TensileLibrary发布出来还想提升简直白日做梦)

 

重新修改了下Ollama的源码,将ROCm变更到7.1.1,编译也能通过,能正常使用。

 

凑合用吧!

 

posted @ 2026-01-06 20:44  猿妙不可言  阅读(1623)  评论(0)    收藏  举报