llama.cpp b10951调整llama_n_rs_seq调用位置以跳过不必要的llama_decode
该提交把llama_n_rs_seq的检查提前到llama_decode之前,命中时直接返回,去掉res赋值和goto语句,发布页同时给出b10951的多平台预编译包。
llama.cpp发布b10951,其中一条提交(#28749)把common模块中的llama_n_rs_seq调用从llama_decode之后移到之前,检查命中时直接返回,去掉了原先设置res和goto的写法。提交说明给出的动机是:在不需要的情况下避免执行llama_decode。
提交 #28749 改了什么
该提交标题为“common : move llama_n_rs_seq to before llama_decode”,仓库为ggml-org/llama.cpp,随b10951发布。改动把llama_n_rs_seq的调用挪到llama_decode之前;若该检查为真,函数直接返回,不再继续往下走。
构建产物覆盖范围与限制
b10951发布页按平台列出预编译包,macOS/iOS提供Apple Silicon(arm64)和Intel(x64)以及iOS XCFramework;Linux提供Ubuntu x64、arm64、s390x的CPU包,以及x64/arm64的Vulkan、x64的ROCm 10.0、OpenVINO 2026.3.1、SYCL FP32和SYCL FP16;Android提供arm64 CPU包。
- Windows侧提供x64与arm64的CPU包,arm64的OpenCL Adreno包,x64的CUDA 12.4、CUDA 13.3以及arm64的CUDA 13.4包(附对应DLL),另有Vulkan、OpenVINO 2026.3.1、SYCL、ROCm 10.0包。
- 发布页注明macOS Apple Silicon(arm64, KleidiAI enabled)和openEuler相关构建为DISABLED。
- 提交作者为github-actions[bot],提交说明未给出性能数据或适用条件;检查命中时跳过的是一次llama_decode调用,具体收益需要按实际使用场景判断。