llama.cpp 项目发布了构建版本 b9974,其中包含针对 CUDA 构建的关键修复。该更新防止了当库在零或有限可用显存的设备上查询 GPU 显存信息时发生的致命崩溃。

  • 通过将 cudaMemGetInfo() 的错误设为非致命,并将受影响设备的总/空闲显存分配为零,修复了由此引发的崩溃。
  • 防止 fit 算法尝试将层放置在无空闲显存的设备上,从而避免在启动或使用 '-dev none' 时发生硬性崩溃。
  • 提供 macOS Apple Silicon (arm64) 构建版本,但已禁用该平台的 KleidiAI 支持。
  • 为 Ubuntu x64 和 arm64 (CPU)、Vulkan、ROCm 7.2、OpenVINO 以及 SYCL FP32/FP16 提供 Linux 二进制文件。
  • 包含 Android arm64 (CPU) 构建版本。
  • Windows 二进制文件涵盖 CPU、OpenCL Adreno、CUDA 12/13、Vulkan、OpenVINO、SYCL 和 HIP。
  • openEuler 支持部分禁用,提供针对 x86 和 aarch64 架构的特定构建版本。

此更改确保 llama.cpp 在 GPU 显存资源耗尽或不可用的系统上保持稳定,使软件能够优雅地处理此类情况,而不是意外终止。