llama.cpp Releases

[预发布 / 持续构建] b11513

llama.cpp实验性构建改进CUDA的top-k算法选择,qwen4exp在34,816 tokens下耗时从5,761.8毫秒降至941.8毫秒;属实验性版本,HIP与MUSA沿用旧阈值。

预发布 / 持续构建:这是实验性构建,并非稳定版本。

CUDA:改进 top-k 算法选择(#28713) * CUDA:针对大行数使用 radix top-k 用基于行的 grid radix select 替代 CUB 的逐行 DeviceTopKKernel, 由 GGML_CUDA_TOPK_RADIX_MIN_ROWS 控制。在 qwen4exp 的 34,816 个 token 上,这将 top-k 从 1,671,253 次启动 / 5,761.8 ms 降至 2,329 / 941.8 ms。 * CUDA:按形状选择 TOP_K 实现 将 nrows/ncols 特殊情况替换为来自 #28547 的决策边界 (如 #29278 中实现):短行使用 bitonic,多个长行使用 radix select, 单个长行使用 DeviceTopK 或 CUB argsort。这些阈值在构建时仍可覆盖。 在该边界之上的两项改进: - 在行数不超过一个 padded 1024 且各行能容纳在一波 block 中时(nrows <= SM 数量),bitonic 继续使用;radix select 需要固定开销约十几次启动,只有在更多行时才能摊销 - 在 DeviceTopK 可用时,它最多处理两行 Radix select 现在按块处理行,使其临时内存保持有界, bitonic 路径保留其分块方式。HIP 和 MUSA 保留其先前的阈值。 在 bitonic/radix 交叉点附近为 test-backend-ops 添加性能测试用例。 * CUDA:使 top-k 注释更简洁 * CUDA:从 supports_op 中移除 TOP_K 宽度限制 * CUDA:在可用时为单行 TOP_K 使用 DeviceTopK * CUDA:避免 TOP_K bitonic 检查中的 ncols 溢出 * CUDA:在 argsort 和 top-k 之间共享行分块辅助函数 * CUDA:在 TOP_K radix 循环中用 int64_t 进行 blocks_per_row 计算 * CUDA:将 GGML_CUDA_TOP_K_NROWS_THRESHOLD_DEVICETOPK 重命名为 GGML_CUDA_TOP_K_NROWS_THRESHOLD * CUDA:在 bitonic 和 CUB TOP_K 路径之间共享一个排序辅助函数 * CUDA:更新 TOP_K 的 TODO、阈值和分块注释 * tests:添加跨越多个行块的 TOP_K 用例 * CUDA:在 TOP_K radix 循环中使用 int64_t 类型的 col,修正阈值注释 * CUDA:将 TOP_K 和 ARGSORT 支持限制为 ne[0] <= INT_MAX --------- Co-authored-by: praneshgo <227579474+praneshgo@users.noreply.github.com> Co-authored-by: Pranesh Gonegandla

网站: - https://llama.app

证明(Attestations): - https://github.com/ggml-org/llama.cpp/attestations/54066267

macOS/iOS: - macOS Apple Silicon(arm64) - macOS Apple Silicon(arm64,启用 KleidiAI) 已禁用 - macOS Intel(x64) - iOS XCFramework

Linux: - Ubuntu x64 (CPU) - Ubuntu arm64 (CPU) - Ubuntu s390x (CPU) - Ubuntu x64 (Vulkan) - Ubuntu arm64 (Vulkan) - Ubuntu x64 (CUDA 12) - CUDA 12.8 库 - Ubuntu x64 (CUDA 13) - CUDA 13.4 库 - Ubuntu arm64 (CUDA 13) - CUDA 13.4 库 - Ubuntu x64 (ROCm 10.0) - Ubuntu x64 (OpenVINO) - Ubuntu x64 (SYCL FP32) - Ubuntu x64 (SYCL FP16) - Linux arm64(骁龙:CPU、Adreno GPU、Hexagon NPU) - 安装指南

Android: - Android arm64 (CPU) - Android arm64(骁龙:CPU、Adreno GPU、Hexagon NPU) - 安装指南

Windows 平台: - Windows x64 版(CPU) - Windows arm64 版(CPU) - Windows arm64 版(OpenCL Adreno) - Windows x64 版(CUDA 12) - CUDA 12.4 DLL 文件 - Windows x64 版(CUDA 13) - CUDA 13.4 DLL 文件 - Windows arm64 版(CUDA 13) - CUDA 13.4 DLL 文件 - Windows x64 版(Vulkan) - Windows arm64 版(Vulkan) - Windows x64 版(OpenVINO) - Windows x64 版(SYCL) - Windows x64 版(ROCm 10.0)

openEuler: - DISABLED - openEuler x86 架构(310p) - openEuler x86 架构(910b,ACL Graph) - openEuler aarch64 架构(310p) - openEuler aarch64 架构(910b,ACL Graph)

UI: - UI

原始出处

llama.cpp Releases

内容说明

原始发布及相关权利归来源方。

机器翻译 · 请以原文为准