mi50 32g 安装rocm7+llama.cpp教程
摆平00
2026年05月14日 15:54

1200买的mi50单卡本来已经闲置,但是看见rocm7的提升,手又痒了,折腾一下,安装rocm7+llama.cpp来跑qwen3.6。在开始安装前,表示对纳兰泽雨大神的致敬(https://www.bilibili.com/opus/1062708349420699672?spm_id_from=333.1387.0.0 和https://www.bilibili.com/opus/1062709216989413379?spm_id_from=333.1387.0.0 ),如果你不追求运行qwen3.6,也不追求rocm7,可以直接使用这2个教程,rocm6+vllm+模型,我后面的教程也不用看了。如果要按我的教程来,这里要改一下原贴的run参数:

以下的命令不要直接复制粘贴进命令窗口,中间有空行!!!

docker network create vllm-net  (建立专用网络,后面也要用)

docker run -it --rm \

    --shm-size=2g \

    --device=/dev/kfd \

    --device=/dev/dri \

    --group-add video \

    --network=vllm-net \

    -p 0.0.0.0:8000:8000 \

   --name qwen3-int4 \ (改成你想要的容器名字)

    -v /home/lyy/model/qwen3/:/model \ (改成你的路径,其他千万不要改)

    nalanzeyu/vllm-gfx906 \

    vllm serve /model \

    --max-model-len 8192  

--enable-prefix-caching

但是经测试此版本的vllm无法运行qwen3.6,所以我选择重新安装。我后面的教程也是基于大神提供的思路,不在主机上直接安装rocm,因为显卡可以直通docker,所以在docker中直接拉取带mi50的rocm7+llama.cpp的镜像。现在mi50的7.2的镜像也有了(https://hub.docker.com/r/mxxm/llama-mi50?utm_source=chatgpt.com ),但是不确定稳定性,所以我还是选择拉取amd官方的ROCm7 + Ubuntu22.04 + llama.cpp 的镜像(https://rocm.docs.amd.com/projects/llama-cpp/en/docs-25.09/install/llama-cpp-install.html?utm_source=chatgpt.com )这里有个坑,amd官方rocm7不支持mi50了,所以镜像中没有MI50(gfx906) 的 Tensile文件了,所以必须得手动添加进去,刚好我以前装过纳兰泽雨的docker镜像,所以可以直接从这个vllm的容器中复制到rocm7的容器中。 (所以如果你没有装过纳兰泽雨的镜像,得先按他的教程从安装驱动到run走一遍,或者参考AMD MI50安装ROCm7.0.2教程(较6.3性能提升20-30%)​,下载后复制到容器中)

以下的命令不要直接复制粘贴进命令窗口,中间有空行!!!

先新建文件夹,放入模型的gguf mkdir -p ~ model 放入你想要的gguf 然后拉取镜像,命令:docker pull rocm/llama.cpp:llama.cpp-b6356_rocm7.0.0_ubuntu22.04_full 然后run:

docker run -it \ --name llama-rocm7 \

--network=vllm-net \ (注意,这里是run纳兰泽雨镜像时提前建立的专用网络)

--device=/dev/kfd \

--device=/dev/dri \

--group-add video \

--cap-add=SYS_PTRACE \

--security-opt seccomp=unconfined \

--ipc=host \

--shm-size=16G \

--dns=8.8.8.8 \

--dns=1.1.1.1 \

-v /home/lyzyy/model/qwen3.6:/models \

-p 8081:8081 \

--entrypoint /bin/bash \

rocm/llama.cpp:llama.cpp-b6356_rocm7.0.0_ubuntu22.04_full 成功后应该显示:root@xxxxxxxx:/app# ,然后验证:rocminfo 看看rocm7是否安装成功,得看到有gfx906字样。 下一步:验证 llama.cpp HIP backend,现在在容器里执行:/app/llama-cli -h,重点看输出里是否有:HIP,或者ROCm,应该是一大段信息。成功后,这里又来一个坑,amd官方镜像里的llama.cpp版本无法运行qwen3.6,还得重新拉取:新开一个ssh,docker exec -it llama-rocm7 bash 进入容器,先安装工具:

apt install -y \

iputils-ping \

wget \

curl \

git \

unzip \

cmake \

build-essential

然后clone 最新 llama.cpp,

cd /app

git clone --depth 1 https://github.com/ggml-org/llama.cpp.git​ latest

cd /app/latest 然后:设置 MI50 gfx906 环境变量

export HSA_OVERRIDE_GFX_VERSION=9.0.6

export GGML_HIP_ARCH=gfx906

编译:

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 -j$(nproc)

编译成功后验证:./build/bin/llama-cli -h,显示以下正常:

Device 0: , gfx906:sramecc-:xnack- (0x906), VMM: no, Wave Size: 64, VRAM: 32752 MiB

如果正常,接下来做:gfx906 Tensile 修复

不要关闭当前容器,现在请新开一个ssh终端,进入纳兰泽雨的容器,docker exec -it qwen3-int4 bash(注意,这里qwen3-int4是我给纳兰泽雨镜像设置的名字,你要改成你的),找到所有带gfx906的文件,在开一个ssh,系统根目录下建一个文件夹:mkdir -p ~/gfx906-tensile,把刚才找到的文件复制进来,或者从(https://archlinux.org/packages/extra/x86_64/rocblas/)里面下载到gfx906-tensile文件夹里方法见上面安装rocm7.0.2的教程视频,然后把 Tensile 复制到新 llama.cpp 容器:

docker cp \

~/gfx906-tensile/. \

llama-rocm7:/opt/rocm/lib/rocblas/library/

开始跑模型

进入容器:docker exec -it llama-rocm7 bash

/app/latest/build/bin/llama-server \

-m /models/Qwen3.6-35B-A3B-UD-Q5_K_M.gguf \

-ngl 99 \

--flash-attn on \

-c 65536 \

-b 2048 \

-ub 512 \

-t 4 \

--threads-batch 4 \

--cache-ram 4096 \

--cache-type-k q8_0 \

--cache-type-v q8_0 \

--temp 0.7 \

--top-p 0.8 \

--min-p 0.05 \

--host 0.0.0.0 \

--port 8081

直接在浏览器中输入:http://192.168.100.2:8081 (换成你的ip)就可以体验了。这是llama.cpp自带的网页对话界面还是很方便的,openwebui都可以不用了。因为是上班摸鱼写的,所以无法出视频,也不会剪辑,所以出个文字教程供大家参考。每个人在执行代码的过程中情况都不一样,报错是肯定的,这里也只是大概得整体思路,报错的话直接问AI就行了。