llama.cpp 项目发布了构建版本 b11282,其中包括为 MUSA 设备传递定义 `CUDA_ARCH` 宏的修复。此前,MUSA 供应商头文件未能定义此变量,导致共享 ggml-cuda 源代码中的架构测试评估为零,从而产生空的内核体。

  • 该修复报告最新的架构,类似于 HIP 后端,同时明确排除与 MUSA 不兼容的仅 NVIDIA 功能。
  • `CUDA_ARCH` 现在仅针对设备传递定义,以与 CUB 的检测逻辑和 nvcc 行为保持一致。
  • 由于宏在 CUDA 和 MUSA 的主机传递中未定义,因此删除了架构比较中冗余的 `defined(CUDA_ARCH)` 检查。

此更改确保基于架构门控的内核体(例如 q8_0 -> f16 反量化内核)能够正确编译为 MUSA 设备的内核体,而不是扩展为空内核体。