收起左侧

ollama docker 版尝试调用vulkan

0
回复
85
查看
[ 复制链接 ]

0

主题

0

回帖

0

牛值

江湖小虾

年初的时候买了一台铭凡n5,r7 255,780m的板载显卡,32GB内存,卸了铭凡的系统,改成飞牛,存储功能用起来真不错,也很完善,一直处于开机状态,后来发现,自己用有点浪费。。。

这两天手头事情不多,就想尝试一下能不能给机器装个大模型,后来选的是ollama+lobechat,安装完毕之后试了好久,也在自己的win电脑上试了一下,怎么都开启不了显卡加速,台式机是6750gre的显卡,查了一下都不是rocm的支持对象,各种设置修改了半天也无法调用,所以想尝试vulkan的方式,翻了翻论坛,提供的方案我这半**子没敢尝试,怕把飞牛系统弄坏了,毕竟机器还存了好多东西。

后来试出来,只要修改一下docker的环境变量和功能就行。

环境变量设置,重启docker和重启飞牛都不会影响显卡的调用。

645bf4af37e8f4d2ad8113f9d1788ab2.png

其中的

HSA_OVERRIDE_GFX_VERSION,是为了让ollama能够识别显卡,后面的数字,应该是ai max 395,780m,好像是11.0.0,这个好像写啥没啥影响,应该都能用。

OLLAMA_GPU_DRIVER,是当时尝试想调用一下rocm,查日志的时候发现不成功,但是也没删,没准以后能用。

OLLAMA_VULKAN,这个是打开vulkan功能。

OLLANA_FLASH_ATTENTION之所以设置0,是因为对话第二次就会出错,lobe会提示错误。

81857bd2-d53e-47c1-a4da-217a1ab2c5c1.png

跑了一下ai,提示:

  1. Vulkan 驱动库缺失**:Ollama 的 Vulkan 后端试图加载系统的 Vulkan 动态库(**.so 文件),但找不到,导致进程启动瞬间崩溃。
  2. 权限问题**:容器或用户没有权限访问** /dev/dri 设备节点。
  3. 显存溢出 (OOM):虽然通常会报 OOM 错误,但在某些 Vulkan 实现中,初始化失败也会直接导致进程退出。

更新vulkan怕把系统弄崩,所以又跑了一遍日志。提示:根本原因推测:
这是 AMD RADV 驱动与 Ollama 当前版本的 Vulkan 后端(特别是 Flash Attention 或 Coopmat 矩阵加速功能)之间的兼容性冲突**。**
日志显示:matrix cores: KHR_coopmat。Ollama 试图利用 AMD 显卡的矩阵加速核心进行运算,但当前的驱动版本或 Ollama 的实现逻辑在处理这一指令时导致了崩溃。此外,日志中开启了 FlashAttention:Enabled,这也是常见的崩溃源。

可能确实是驱动版本低造成的,但是最后还是选择的 OLLAMA_FLASH_ATTENTION=0,这个选项,最容易,等以后飞牛更新驱动和运行库之后再打开就行了。

环境变量下面的功能选择的高权限容器,非高权限的选项我没研究明白,但是默认的状态应该是调用不了显卡,其中某一个选项应该是显卡映射,所以就选了全高,但是这中全高权限应该是有风险,所以只能慢慢研究选项了。

其他的就都是默认。

ff4d48aa-da01-4070-9c06-eb436ef4f171.png

日志中的GPU输出。

运行的qwen3.5:9b_q4,gpu运行效率

0b3e5fbc-4a92-49e5-876b-dcdb8ed7c6eb.png

9b的情况下,只能说吐字速度有提升,但是提升的不大,GPU似乎也没有办法再提高使用率了,就算是聊胜于无吧。还有,总感觉不是特别稳定...

收藏
送赞
分享

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则