<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Proxmox VE 9.2+ Intel 核显 SR-IOV + AMD Radeon AI PRO R9700 直通+Ubuntu24.04部署实测（三）]]></title><description><![CDATA[<h1>PVE 9.2 主机与 llama.cpp 推理服务器- R9700 直通 Ubuntu 搭建本地大模型</h1>
<blockquote>
<p dir="auto">作为家庭主服务器使用：<br />
1、PPPOE（Ikuai8）<br />
2、OpenWRT（科学上网）<br />
3、软路由（另外加一张4口2.5G网卡）<br />
4、本地AI服务器<br />
5、解码影音库、远程办公<br />
6、注意：<img src="https://lcz.me/assets/plugins/nodebb-plugin-emoji/emoji/android/1f680.png?v=efcae6a46b1" class="not-responsive emoji emoji-android emoji--rocket" style="height:23px;width:auto;vertical-align:middle" title="🚀" alt="🚀" /> ALL IN ONE · ALL IN BOOM <img src="https://lcz.me/assets/plugins/nodebb-plugin-emoji/emoji/android/1f4a5.png?v=efcae6a46b1" class="not-responsive emoji emoji-android emoji--boom" style="height:23px;width:auto;vertical-align:middle" title="💥" alt="💥" /><br />
7、做好数据备份、网络冗余。</p>
</blockquote>
<blockquote>
<p dir="auto">关键设备：显卡 PCI ID <code>1002:7551</code>（gfx1201），宿主机 PCI 地址 <code>0000:04:00.0</code>。</p>
</blockquote>
<hr />
<h2>阶段一：宿主机配置 GPU 直通</h2>
<p dir="auto">在 PVE 宿主机（R9700）上操作。</p>
<h3>1.1 确认 IOMMU 已启用</h3>
<pre><code class="language-bash"># 确认有 IOMMU 组（有输出即已启用）
ls /sys/kernel/iommu_groups/ | wc -l

# 查看显卡 IOMMU 组（应为独立组）
for d in /sys/kernel/iommu_groups/*/devices/*; do
  echo "$d -&gt; $(basename $(dirname $(dirname $d)))"
done | grep -i "04:00"
</code></pre>
<h3>1.2 配置 vfio-pci 绑定显卡</h3>
<p dir="auto"><strong>① 写入 vfio 绑定规则</strong></p>
<pre><code class="language-bash">cat &gt; /etc/modprobe.d/vfio.conf &lt;&lt;'EOF'
options vfio-pci ids=1002:7551,1002:ab40
softdep amdgpu pre: vfio-pci
EOF
</code></pre>
<blockquote>
<p dir="auto"><code>1002:7551</code> 是显卡本体，<code>1002:ab40</code> 是显卡音频功能（可绑可不绑，绑了更干净）。</p>
</blockquote>
<p dir="auto"><strong>② 配置 vfio 模块开机加载</strong></p>
<pre><code class="language-bash">cat &gt; /etc/modules-load.d/vfio.conf &lt;&lt;'EOF'
vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd
EOF
</code></pre>
<p dir="auto"><strong>③ 把 vfio 模块加入 initramfs（关键，确保在 amdgpu 之前抢占显卡）</strong></p>
<pre><code class="language-bash">cat &gt;&gt; /etc/initramfs-tools/modules &lt;&lt;'EOF'
vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd
EOF
</code></pre>
<p dir="auto"><strong>④ 更新 initramfs</strong></p>
<pre><code class="language-bash">update-initramfs -u -k all
</code></pre>
<h3>1.3 给 VM 添加直通设备</h3>
<pre><code class="language-bash"># VMID 以实际为准（本机为ID 102）
qm set 102 -hostpci0 0000:04:00.0,pcie=1
</code></pre>
<blockquote>
<p dir="auto"><code>pcie=1</code> 让 QEMU 以 PCIe 模式呈现设备（ GPU 必需）。<br />
若 VM 正在运行，该改动会在下次启动时生效。</p>
</blockquote>
<h3>1.4 重启宿主机生效</h3>
<pre><code class="language-bash">reboot
</code></pre>
<h3>1.5 验证直通成功</h3>
<p dir="auto"><strong>宿主机上</strong>（显卡应绑定 vfio-pci 而非 amdgpu）：</p>
<pre><code class="language-bash">lspci -nnk -s 04:00.0
# 期望：Kernel driver in use: vfio-pci
</code></pre>
<p dir="auto"><strong>客户机 Ubuntu 内</strong>（显卡应出现且绑定 amdgpu）：</p>
<pre><code class="language-bash">lspci -nnk | grep -A3 1002:7551
# 期望：Kernel driver in use: amdgpu
</code></pre>
<hr />
<h2>阶段二：客户机安装 ROCm</h2>
<p dir="auto">在 Ubuntu 24.04 虚拟机内操作（以下命令需要 root / sudo）。</p>
<h3>2.1 安装前置包</h3>
<pre><code class="language-bash">sudo apt update
sudo apt install -y python3-setuptools python3-wheel curl
</code></pre>
<h3>2.2 下载并安装 amdgpu-install 脚本</h3>
<pre><code class="language-bash"># 下载最新 amdgpu-install（版本号可能更新，以 repo 为准）
wget https://repo.radeon.com/amdgpu-install/31.50/ubuntu/noble/amdgpu-install_31.50.315000-1_all.deb
sudo apt install -y ./amdgpu-install_31.50.315000-1_all.deb
</code></pre>
<h3>2.3 补充 AMD 仓库公钥（重要，否则 apt 报 NO_PUBKEY）</h3>
<pre><code class="language-bash">sudo mkdir -p /etc/apt/keyrings
curl -sL https://repo.radeon.com/rocm/rocm.gpg.key | \
  sudo gpg --dearmor --yes -o /etc/apt/keyrings/rocm.gpg

# 验证 key ID 应为 9386B48A1A693C5C
gpg --show-keys /etc/apt/keyrings/rocm.gpg
</code></pre>
<h3>2.4 安装 ROCm（跳过 dkms 内核驱动）</h3>
<pre><code class="language-bash">sudo amdgpu-install -y --usecase=rocm --no-dkms
</code></pre>
<blockquote>
<p dir="auto"><code>--no-dkms</code>：Ubuntu 24.04 内核自带 amdgpu 已能驱动 R9700（gfx1201），无需额外 DKMS 内核模块，可避免编译失败。<br />
该命令会安装 ROCm 10.0 的 gfx1201 专用完整栈（rocBLAS、MIOpen、RCCL 等），耗时取决于网速。</p>
</blockquote>
<h3>2.5 给用户加 GPU 访问权限</h3>
<pre><code class="language-bash">sudo usermod -a -G render,video $USER
</code></pre>
<blockquote>
<p dir="auto"><img src="https://lcz.me/assets/plugins/nodebb-plugin-emoji/emoji/android/26a0.png?v=efcae6a46b1" class="not-responsive emoji emoji-android emoji--warning" style="height:23px;width:auto;vertical-align:middle" title="⚠" alt="⚠" />️ <strong>组权限需重新登录（注销或重启）才生效</strong>。</p>
</blockquote>
<h3>2.6 验证 ROCm 识别 GPU</h3>
<pre><code class="language-bash"># 重新登录后执行
rocminfo | grep -iE "gfx1201|R9700"   # 应显示 gfx1201 / Radeon AI PRO R9700
amd-smi                                # 应显示 Radeon AI PRO R9700 + 显存
</code></pre>
<hr />
<h2>阶段三：安装 llama.cpp 与模型</h2>
<h3>3.1 下载 AMD 官方预编译二进制</h3>
<pre><code class="language-bash"># 预编译包自带 ROCm 运行时（约 3.5GB）
wget -O llama-bin-linux.zip \
  "https://repo.radeon.com/rocm/llama.cpp/linux/rocm-rel-7.2.1/llama-b8407-ubuntu-24.04-rocm-7.2.1-gfx110X-gfx115X-gfx120X-x64.zip"
</code></pre>
<blockquote>
<p dir="auto">也可用 aria2 多线程加速：<code>aria2c -x 16 -s 16 -o llama-bin-linux.zip "URL"</code>（实测可提速百倍）。</p>
</blockquote>
<h3>3.2 解压并安装</h3>
<pre><code class="language-bash">sudo apt install -y unzip
sudo mkdir -p /opt/llama.cpp
sudo unzip -q -o llama-bin-linux.zip -d /opt/llama.cpp
</code></pre>
<p dir="auto">解压后目录（记录下完整路径，后面要用）：</p>
<pre><code>/opt/llama.cpp/llama-b8407-ubuntu-24.04-rocm-7.2.1-gfx110X-gfx115X-gfx120X-x64/
</code></pre>
<h3>3.3 下载模型（GGUF 格式）</h3>
<pre><code class="language-bash">mkdir -p /opt/llama.cpp/models
cd /opt/llama.cpp/models

# 示例：Qwen2.5-1.5B（中文友好，约 1.1GB）
wget -O qwen2.5-1.5b-instruct-q4_k_m.gguf \
  "https://huggingface.co/Qwen/Qwen2.5-1.5B-Instruct-GGUF/resolve/main/qwen2.5-1.5b-instruct-q4_k_m.gguf"
</code></pre>
<blockquote>
<p dir="auto">国内网络可改用镜像 <code>https://hf-mirror.com/...</code>；或下载更大的模型（7B/14B/32B）放入同一目录。</p>
</blockquote>
<h3>3.4 创建便捷启动器（本机为例）</h3>
<pre><code class="language-bash">sudo tee /usr/local/bin/llama-cpp &gt;/dev/null &lt;&lt;'EOF'
#!/bin/bash
DIR="/opt/llama.cpp/llama-b8407-ubuntu-24.04-rocm-7.2.1-gfx110X-gfx115X-gfx120X-x64"
export LD_LIBRARY_PATH="$DIR"
MODEL="/opt/llama.cpp/models/qwen2.5-1.5b-instruct-q4_k_m.gguf"
case "$1" in
  server) shift; exec "$DIR/llama-server" -m "$MODEL" -ngl 99 -fa on -c 4096 "$@";;
  cli)    shift; exec "$DIR/llama-cli"    -m "$MODEL" -ngl 99 "$@";;
  bench)  shift; exec "$DIR/llama-bench"  -m "$MODEL" "$@";;
  *) echo "用法: llama-cpp {server|cli|bench} [参数]";;
esac
EOF
sudo chmod +x /usr/local/bin/llama-cpp
</code></pre>
<hr />
<h2>阶段四：验证与使用</h2>
<h3>4.1 验证 GPU 推理</h3>
<pre><code class="language-bash"># 命令行对话测试
llama-cpp cli -p "你好" -n 60 --no-display-prompt
</code></pre>
<p dir="auto">期望输出包含：</p>
<pre><code>ggml_cuda_init: found 1 ROCm devices (Total VRAM: 30576 MiB)
  Device 0: AMD Radeon Graphics, gfx1201
...（生成的中文回复）...
</code></pre>
<h3>4.2 日常使用</h3>
<pre><code class="language-bash">llama-cpp server   # 启动 Web 服务 → 浏览器打开 http://localhost:8080
llama-cpp cli      # 命令行对话
llama-cpp bench    # 性能测试
</code></pre>
<p dir="auto"><strong>关键参数</strong>：</p>
<ul>
<li><code>-ngl 99</code>：所有层 offload 到 GPU（性能关键）</li>
<li><code>-fa on</code>：Flash Attention（省显存提速）</li>
<li><code>-c 4096</code>：上下文长度</li>
</ul>
<h3>4.3 更换更大模型</h3>
<ol>
<li>下载 GGUF 到 <code>/opt/llama.cpp/models/</code></li>
<li>编辑 <code>/usr/local/bin/llama-cpp</code>，把 <code>MODEL=</code> 改为新模型路径</li>
</ol>
<hr />
<h2>常见问题（实测踩坑记录）</h2>
<table class="table table-bordered table-striped">
<thead>
<tr>
<th>问题</th>
<th>原因</th>
<th>解决</th>
</tr>
</thead>
<tbody>
<tr>
<td>apt 报 <code>NO_PUBKEY 9386B48A1A693C5C</code></td>
<td>amdgpu-install 未自动导入公钥</td>
<td>手动下载 rocm.gpg.key 到 keyrings</td>
</tr>
<tr>
<td><code>rocminfo</code> 找不到 GPU</td>
<td>用户不在 render 组 / 未重新登录</td>
<td><code>usermod -aG render,video $USER</code> 后重新登录</td>
</tr>
<tr>
<td>llama.cpp 报 <code>libamd_comgr.so.3</code> 找不到</td>
<td>未设库路径</td>
<td>设 <code>LD_LIBRARY_PATH</code> 指向解压目录</td>
</tr>
<tr>
<td>下载速度慢（KB/s）</td>
<td>单线程 + 代理</td>
<td>用 <code>aria2c -x 16 -s 16</code> 多线程</td>
</tr>
</tbody>
</table>
<hr />
<p dir="auto"><img src="https://upload.lcz.me/uploads/016add88-0849-4406-bf57-8bebbebf1e8a.jpeg" alt="f4ea5643-d6ab-4bd1-ac92-51aaca700fcc-image.jpeg" class=" img-fluid img-markdown" /><br />
<img src="https://upload.lcz.me/uploads/27e04b3b-490f-4d05-9ca6-5882f24df84e.jpeg" alt="b7d955ad-cee2-4f7d-bd4e-d52e2770bc45-image.jpeg" class=" img-fluid img-markdown" /><br />
<img src="https://upload.lcz.me/uploads/ca226137-d015-497b-bd02-f9b883862cea.jpeg" alt="3158e1e4-17c4-43e7-9238-813e54b108ff-image.jpeg" class=" img-fluid img-markdown" /></p>
<pre><code></code></pre>
]]></description><link>https://lcz.me/topic/1636</link><generator>RSS for Node</generator><lastBuildDate>Wed, 23 Sep 2026 03:26:48 GMT</lastBuildDate><atom:link href="https://lcz.me/topic/1636.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 11 Sep 2026 20:34:16 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Proxmox VE 9.2+ Intel 核显 SR-IOV + AMD Radeon AI PRO R9700 直通+Ubuntu24.04部署实测（三） on Sat, 12 Sep 2026 06:59:39 GMT]]></title><description><![CDATA[<p dir="auto">非常好的分享，图文并茂，格式工整，置顶。</p>
]]></description><link>https://lcz.me/post/17500</link><guid isPermaLink="true">https://lcz.me/post/17500</guid><dc:creator><![CDATA[terry]]></dc:creator><pubDate>Sat, 12 Sep 2026 06:59:39 GMT</pubDate></item></channel></rss>