llama.cpp b12257将CUDA图与并发流状态移出common.cuh
该版本把ggml_cuda_graph、ggml_cuda_concurrent_event和ggml_cuda_stream_context移入graph.cuh,并将PDL缓存改为在ggml-cuda.cu中只定义一次。
llama.cpp发布b12257构建,发布说明列出的改动集中在CUDA后端:将图与并发流相关状态移出common.cuh,以减少头文件改动触发的重编译范围。
发布说明由github-actions[bot] 提交,属于项目发布的变更记录,不是第三方对性能的独立测试。
CUDA状态移入graph.cuh
发布说明称,ggml_cuda_graph、ggml_cuda_concurrent_event和ggml_cuda_stream_context只被ggml-cuda.cu使用,但放在common.cuh中意味着对这些类型的任何改动都会重建每个CUDA翻译单元。
改动将它们移到graph.cuh,common.cuh只保留前向声明。context构造函数、cuda_graph() 和any_cuda_graph_*() 现在定义在ggml-cuda.cu中,流上下文通过unique_ptr持有。
PDL缓存改为单一定义
ggml_cuda_kernel_can_use_pdl原先作为头文件中的static函数存在,改动后在ggml-cuda.cu中只定义一次,发布说明称这样PDL缓存从每个翻译单元一份变为一份。GGML_CUDA_PDL环境变量检查也合并进该函数。
预编译包与平台范围
b12257提供的预编译产物包括macOS Apple Silicon(arm64)与Intel(x64)、iOS XCFramework;Linux侧覆盖Ubuntu x64/arm64的CPU、Vulkan、CUDA 12.8与 13.5、ROCm 10.0、OpenVINO、SYCL FP32/FP16,以及Snapdragon的CPU、Adreno GPU、Hexagon NPU包;另有Android、Windows各后端包与UI包。
发布页面将macOS Apple Silicon的KleidiAI版本和openEuler各构建标记为DISABLED,并链接到对应PR。