news 2026/9/12 9:24:24

Tabby 在 ROCm 下提示 AMD 设备不受支持怎么解决?

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Tabby 在 ROCm 下提示 AMD 设备不受支持怎么解决?

Tabby 在 ROCm 下提示 AMD 设备不受支持怎么解决?

【免费下载链接】tabbySelf-hosted AI coding assistant项目地址: https://gitcode.com/GitHub_Trending/tab/tabby

在 Linux 上用--device rocm启动 Tabby 后,如果你的 AMD 显卡不在 ROCm 的官方支持列表里,启动会因设备不受支持而失败。官方 FAQ 给出的解决办法是设置HSA_OVERRIDE_GFX_VERSION环境变量,让它指向一个 ROCm 支持的相近显卡的 GFX 版本,之后 Tabby 服务即可正常启动并提供代码补全。本文基于 FAQ 与 本地 ROCm 运行文档 给出完整的设置与验证步骤。

前提条件

  • Tabby 的 ROCm 支持目前只在 Linux 上可用。按 ROCm 运行文档 的说法,ROCm 支持当时仅存在于 nightly 构建,预计在 0.9 版本转为稳定。
  • 系统已在支持的平台上安装好 ROCm(按 AMD 官方安装说明操作,文档中以 Arch Linux 成功安装 ROCm 包为例)。

设置 HSA_OVERRIDE_GFX_VERSION

FAQ 的原文建议:如果存在一块 ROCm 支持的相近 GPU,可以把HSA_OVERRIDE_GFX_VERSION设为对应值。文档给出的示例值:

  • RDNA2 架构:10.3.0
  • RDNA3 架构:11.0.0

方式一:直接运行编译好的 Tabby 二进制

如果你按文档自己编译(需加--features rocm参数)或直接使用 ROCm 版本的二进制,在启动命令前设置该环境变量即可。以下示例沿用文档中的模型与参数,10.3.0需按你的显卡架构替换为文档给出的对应值:

# RDNA2 示例;RDNA3 请改为 11.0.0 HSA_OVERRIDE_GFX_VERSION=10.3.0 ./tabby serve --model TabbyML/StarCoder-1B --device rocm

方式二:使用 Docker 部署

文档给出的 ROCm Docker 启动命令使用 GPU 直通参数--device=/dev/kfd --device=/dev/dri。设置环境变量时,参照 FAQ 中docker run -e 变量名=值的写法,在命令中增加一行-e HSA_OVERRIDE_GFX_VERSION=...

docker run \ --device=/dev/kfd --device=/dev/dri --security-opt seccomp=unconfined --group-add video \ -p 8080:8080 -v $HOME/.tabby:/data \ -e HSA_OVERRIDE_GFX_VERSION=10.3.0 \ tabbyml/tabby-rocm \ serve --device rocm --model StarCoder-1B

其中$HOME是 shell 中指向当前用户主目录的变量,-v $HOME/.tabby:/data用于持久化 Tabby 数据,均保持文档原样。

验证服务是否正常

设置生效的判断方式是 Tabby 服务能正常启动并响应补全请求。按 扩展故障排查文档 的步骤检查:

  1. 服务启动后日志应出现类似Listening at 0.0.0.0:8080的消息;
  2. 浏览器打开http://localhost:8080/swagger-ui/,应显示 Swagger UI 页面。文档给出的本地直接运行成功时的输出示例如下(文档示例,实际输出会因版本和模型不同而有差异):

  1. 在 Swagger UI 中展开/v1/completions,点击Try it out再点Execute;或者用curl发送补全请求:
curl -X 'POST' \ 'http://localhost:8080/v1/completions' \ -H 'accept: application/json' \ -H 'Content-Type: application/json' \ -d '{ "language": "python", "segments": { "prefix": "def fib(n):\n ", "suffix": "\n return fib(n - 1) + fib(n - 2)" } }'

收到补全响应即说明 Tabby 服务运行正常。Linux 安装文档同时说明,启动成功后还可以访问http://localhost:8080打开 Tabby 实例页面。

限制与替代路径

  • FAQ 指出 ROCm 下的实际 VRAM 上限目前大多未经测试,但 CodeLlama-7B 在 AMD Radeon RX 7900 XTX 上大约占用 8GB VRAM(依据 ROCm 监控工具)。选型时可参考此数据。
  • Tabby 单实例只使用一块 GPU;如需多卡,按 FAQ 的说法启动多个 Tabby 实例并分别设置HIP_VISIBLE_DEVICES(rocm)或CUDA_VISIBLE_DEVICES(cuda)。
  • 如果显卡连相近的 ROCm 支持版本都找不到、仍然无法用 ROCm 运行,可选分支是改用 Vulkan:按 Vulkan 支持文档 下载 Vulkan 预编译二进制并安装 Vulkan 库(Linux 下如 Arch 的vulkan-icd-loader、AMD 的vulkan-radeon,Debian 的libvulkan1),然后:
./tabby_x86_64-manylinux2014-vulkan serve --model StarCoder-1B --device vulkan

启动时若看到 Vulkan 已找到显卡的输出,即表示 GPU 加速可用。

按上述顺序操作后,设备不受支持的报错应消除、服务进入监听状态并返回补全结果;若 Swagger 页面打不开或补全请求无响应,再按 故障排查文档 检查服务端日志中的报错。

【免费下载链接】tabbySelf-hosted AI coding assistant项目地址: https://gitcode.com/GitHub_Trending/tab/tabby

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/12 9:23:05

RV1126B边缘AI监护摄像机:ISP-NPU-VPU全链路实战指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/12 9:22:53

Python+Vue3跨平台学习行为分析系统开发实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/12 9:21:48

微信小程序商城选型指南:原生开发与uni-app深度对比

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/12 9:17:09

Python正则表达式实战:re模块核心技巧与应用

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华