我对 ROCm 和 Strix Halo 的第一印象
Source: Hacker News
Here I’ll share my first impressions with ROCm and Strix Halo and how I’ve set up everything.

128 GB 在 CPU 与 GPU 之间高效共享。
操作系统选择与驱动安装
我习惯使用 Ubuntu,所以我坚持使用受支持的 24.04 LTS 版本,并按照官方安装说明进行操作。
BIOS update
没有 BIOS 更新,事情是无法正常工作的:PyTorch 无法找到 GPU。更新可以很容易地在 BIOS 设置中完成;机器连接到我的 Wi‑Fi 网络并自动下载。
Source: …
BIOS 设置和 Grub 更改
在 BIOS 设置中,确保将保留的视频内存设为较低的数值,并使用 GTT 让内存在 CPU 与 GPU 之间共享。保留的内存可以低至 512 MB。
含义
- CPU 不能使用 GPU 保留的内存。
- GPU 可以使用 保留 + GTT 的总量,但同时使用两者的效率可能不如单一的大 GTT 池,因为会产生碎片和寻址开销。
- 某些老旧游戏或软件可能会将 GPU 内存视为 512 MB 并拒绝运行;截至目前我尚未遇到这种情况。
然后编辑 /etc/default/grub:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash ttm.pages_limit=32768000 amdgpu.gttsize=114688"
运行 sudo update-grub。
注意:
amdgpu.gttsize不应包含整个系统内存。保留一部分内存(≈ 4 GB–12 GB)给 CPU(总内存 − 保留的 GPU 内存 − GTT),以保持 Linux 内核的稳定性。
使用 UV 的 PyTorch
由于 PyTorch 的依赖关系图非常复杂,我最终使用 uv 并在 pyproject.toml 中加入了以下配置:
[project]
name = "myproject"
version = "0.1.0"
description = "Add your description here"
readme = "README.md"
requires-python = ">=3.13"
dependencies = [
"torch==2.11.0+rocm7.2",
"triton-rocm",
]
[tool.uv]
environments = ["sys_platform == 'linux'"]
[[tool.uv.index]]
name = "pytorch-rocm"
url = "https://download.pytorch.org/whl/rocm7.2"
explicit = true
[tool.uv.sources]
torch = { index = "pytorch-rocm" }
torchvision = { index = "pytorch-rocm" }
triton-rocm = { index = "pytorch-rocm" }
你可以在 .bashrc 中添加一个方便的别名:
alias pytorch='''uvx --extra-index-url https://download.pytorch.org/whl/rocm7.2 \
--index-strategy unsafe-best-match \
--with torch==2.11.0+rocm7.2,triton-rocm \
ipython -c "import torch; print(f\"ROCM: {torch.version.hip}\"); \
print(f\"GPU available: {torch.cuda.is_available()}\"); import torch.nn as nn" -i
'''
Llama.cpp
运行服务器容器:
podman run --rm -it --name qwen-coder \
--device /dev/kfd --device /dev/dri \
--security-opt label=disable --group-add keep-groups \
-e HSA_OVERRIDE_GFX_VERSION=11.5.0 \
-p 8080:8080 -v /some_path/models:/models:z \
ghcr.io/ggml-org/llama.cpp:server-rocm \
-m /models/qwen3.6/model.gguf -ngl 99 -c 327680 \
--host 0.0.0.0 --port 8080 \
--flash-attn on --no-mmap
下载模型:
uvx hf download Qwen/Qwen3.6-35B-A3B --local-dir /some_path/models/qwen3.6
克隆 llama.cpp 仓库并将模型转换为 GGUF:
git clone https://github.com/ggerganov/llama.cpp.git /some_path/llama.cpp
cd /some_path/models/qwen3.6 && \
uvx --extra-index-url https://download.pytorch.org/whl/rocm7.2 \
--index-strategy unsafe-best-match \
--with torch==2.11.0+rocm7.2,triton-rocm,transformers \
ipython /some_path/llama.cpp/convert_hf_to_gguf.py \
-- . --outfile model.gguf
Opencode
我使用 Podman 来运行 Opencode;请查看我的仓库获取设置说明: 。
以下是使 Opencode 与 Llama.cpp 服务器配合使用的配置:
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"local": {
"options": {
"baseURL": "http://localhost:8080/v1",
"apiKey": "any-string",
"reasoningEffort": "auto",
"textVerbosity": "high",
"supportsToolCalls": true
},
"models": {
"qwen-coder-local": {}
}
}
},
"model": "local/qwen-coder-local",
"permission": {
"*": "ask",
"read": {
"*": "allow",
"*.env": "deny",
"**/secrets/**": "deny"
},
"bash": "allow",
"edit": "allow",
"glob": "allow",
"grep": "allow",
"websearch": "allow",
"codesearch": "allow",
"webfetch": "allow"
},
"disabled_providers": [
"opencode"
]
}
结论
所以,正如承诺的那样,我的第一印象是:目前为止,还不错。我能够使用 PyTorch 并在 Llama.cpp 上运行 Qwen 3.6,拥有大上下文窗口。虽然有一些粗糙的地方,但总体来说相当值得。