ROCmAMD 与 ROCm

rocBLAS 报错找不到 TensileLibrary.dat

报错原文

rocBLAS error: Cannot read <path>/TensileLibrary.dat: No such file or directory for GPU arch : gfx<nnnn>

尖括号 <…> 里的内容每次运行都会不同。

是什么意思

rocBLAS 只为 ROCm 支持的显卡型号附带编译好的计算内核。你的显卡型号(末尾的 gfx 编号)不在其中,所以没有可加载的内核文件。

为什么会出现

  • 常见于 ROCm 不支持的消费级 Radeon,例如 gfx1030 以外的 RDNA2 显卡(gfx1031、gfx1032 等)和部分集成显卡。

怎么解决

  1. 在 Linux 上,让 ROCm 使用最接近的受支持型号:RDNA2(gfx103x)用 HSA_OVERRIDE_GFX_VERSION=10.3.0,RDNA3(gfx110x)用 11.0.0。这是变通办法,不是官方支持 —— 同一代架构内通常可行。
  2. 或者不用 ROCm:llama.cpp 的 Vulkan 后端和 Ollama 的 Vulkan 路径可以在 ROCm 不支持的 Radeon 上运行。

相关指南

相关报错

核对来源

报错原文于 2026-10-26 从源码中读取核对。