windows上让ollama支持AMD RX6700 XT显卡

最新更新

olllam对显卡6900XT支持一直不是很如意,另外本文中介绍的自己编译的ollama版本总是落后官方最新的版本很多,而且Patch后的ollama对最新的模型也支持不好。既然ollama就是用llama.cpp作为后端引擎来封装了模型下载、版本管理和API服务等便捷功能,建议直接用llama.cpp来替代ollama。请详细参考文章:本地使用[windows用AMD RX 6700XT本地部署大模型](https://www.hdget.com/windows-llm-amd-6700xt/

问题

ROCm(Radeon Open Compute Platform)是AMD推出的一个开放的、基于GPU的高性能计算平台,涵盖了许多用于GPU计算的库、工具和运行时环境等诸多组件,主要用于加速科学计算、机器学写等多种类型的计算任务,对标Nvidia的CUDA生态,旨在为HPC和超大规模GPU计算提供软件开发平台。

Ollama使用ROCm来对AMD GPU运行大模型给以支持,如果ollama使用的ROCm版本对GPU支持有限制,那么ollama就不会利用GPU来运行大模型。

截至到2026年3月15日,Ollama在windows上支持的AMD显卡如下(https://docs.ollama.com/gpu#windows-support):

Family Cards and accelerators
AMD Radeon RX 7900 XTX 7900 XT 7900 GRE 7800 XT 7700 XT 7600 XT 7600 6950 XT 6900 XTX 6900XT 6800 XT 6800
AMD Radeon PRO W7900 W7800 W7700 W7600 W7500 W6900X W6800X Duo W6800X W6800 V620

很不幸,我的AMD Radeon RX 6700XT就没有在支持的列表里面。

解决方案

感谢开源的力量,因为ollama是开源的,有热心网友尝试在ollama中加入较新版本的ROCm的支持,因为新版本的ROCm就有对RX 6700XT显卡的支持,自然而然加入新版本ROCm支持的Ollama也会同样支持到RX 6700XT。

准备步骤

  1. 首先到ollama官方网站,安装最新版本的Ollama,截至到文章发布时,最新版本的ollama为0.9.0
  2. 然后尝试在ollama的服务日志中找到显卡代码,例如下面日志中gpu_type=gfx1031字段表示RX6700XT对应的显卡代码为gfx1031
    ...level=WARN source=amd_windows.go:138 msg="amdgpu is not supported (supported types:[gfx1103])" gpu_type=gfx1031 gpu=0 library=C:\Users\rfanc\AppData\Local\Programs\Ollama\lib\ollama
  3. 然后到https://github.com/likelovewant/ollama-for-amd/releases网站找到最匹配的Ollama修改版本,匹配原则就是和官方网站的ollama版本最接近的,例如:https://github.com/likelovewant/ollama-for-amd/releases/tag/v0.9.0

具体步骤

从准备步骤中,我们已经获取到如下信息:

基于上述信息,我们具体的操作步骤如下:

  1. 打开Ollama修改版本页面:https://github.com/likelovewant/ollama-for-amd/releases/tag/v0.9.0
  2. 退出ollama
  3. 在该页面中下载并安装ollama修改版:OllamaSetup.exe
  4. 在该页面中找到v6.1.2版本的ROCm库的下载地址:https://github.com/likelovewant/ROCmLibs-for-gfx1103-AMD780M-APU/releases/tag/v0.6.1.2
  5. 打开v6.1.2的ROCm库下载页面,下载:rocm.gfx1031.for.hip.sdk.6.1.2.7z
  6. 解压rocm.gfx1031.for.hip.sdk.6.1.2.7z文件,将压缩包中的文件替换到下列路径:
    • rocblas.dll替换%LocalAppData%\Programs\Ollama\lib\ollama\rocblas.dll
    • library\*替换%LocalAppData%\Programs\Ollama\lib\ollama\rocblas\library\*
  7. 重新启动ollama

验证

  • 如果在ollama的server.log能找到类似日志,说明显卡已经成功找到
    ...level=INFO source=types.go:123 msg="inference compute" id=0 library=rocm variant="" compute=gfx1031 driver=6.1 name="AMD Radeon RX 6700 XT"...
  • 或者在运行大模型的时候,打开任务管理器,查看GPU的性能,如果看到显存被大幅占用,并且在推理时发现GPU利用率变高说明显卡已经被正确使用。

参考:

评论

  1. 浪矢
    1 年前
    2024-12-24 14:40:06

    成功了,但是对话一直报错了

    • 博主
      浪矢
      10 月前
      2025-6-02 12:28:24

      经过测试,如果最近的ROCmlibs6.2.4无法成功,需要用ROCmlibs6.1.2

  2. hiddenlong
    1 年前
    2025-2-03 21:44:19

    非常感谢

  3. xtcom
    1 年前
    2025-2-08 13:00:16

    你好,看到占用了显存,但不用占GPU,知道是什么问题吗?RX6600显卡(gfx1032)

    • 博主
      xtcom
      10 月前
      2025-6-02 12:27:12

      占用了专用GPU内存说明成功了,如果没有,则没成功

  4. Antonio
    10 月前
    2025-6-03 9:16:34

    我前面按照这个流程完成了一次设置,可以正确调用GPU,后面删了重新装了一次ollama,所有的操作都一模一样,可以正确识别我的GPU,但是在跑的过程中依然使用CPU并非GPU,我在想是不是在变量设置里面有什么漏掉的东西。两次安装用的都是同一个平台同一台机器,唯一的区别就是期间我迁移过系统盘。

    • 博主
      Antonio
      1 周前
      2026-3-13 8:48:43

      用最新的ollama和ROCmlibs试试

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇