llama.cpp b11710 為 CUDA 加入分組專家 top-k 融合
llama.cpp 發布 b11710,主要變更是 CUDA 後端新增 grouped experts 的 top-k 融合,並把它接入 graph_optimize,同時補上測試。同批提交還包含多處 HIP 修復,最終改為按 HIP 版本做條件編譯。
原標題:b11710
閱讀原文
| 評分 | 45 / 55(平均 50,門檻 60) |
| 狀態 | 未入選 |
|---|
原文
cuda : add grouped experts top-k fusion ( #29181 )
fuse grouped experts
add tests
hip fix
add to graph_optimize
apply suggestion from am17an
hip fix
fix hip fix
fix fix fix
gate on hip version instead
Website:
https://llama.app
Attestations:
https://github.com/ggml-org/llama.cpp/attestations/56948204
macOS/iOS:
macOS Apple Silicon (arm64)
macOS Apple Silicon (arm64, KleidiAI enabled) DISABLED
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 libraries
Ubuntu x64 (CUDA 13) - CUDA 13.4 libraries
Ubuntu arm64 (CUDA 13) - CUDA 13.4 libraries
Ubuntu x64 (ROCm 10.0)
Ubuntu x64 (OpenVINO)
Ubuntu x64 (SYCL FP32)
Ubuntu x64 (SYCL FP16)
Linux arm64 (Snapdragon: CPU, Adreno GPU, Hexagon NPU) - setup guide
Android:
Android arm64 (CPU)
Android arm64 (Snapdragon: CPU, Adreno GPU, Hexagon NPU) - setup guide
Windows:
Windows x64 (CPU)
Windows arm64 (CPU)
Windows arm64 (OpenCL Adreno)
Windows x64 (CUDA 12) - CUDA 12.4 DLLs
Windows x64 (CUDA 13) - CUDA 13.4 DLLs
Windows arm64 (CUDA 13) - CUDA 13.4 DLLs
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● 精選AI 評分74
llama.cpp 的 CUDA 後端重做 top-k 演算法選擇,大行數場景改用按行網格的 radix select 替代 CUB 逐行 DeviceTopKKernel,在 qwen4exp 34,816 tokens 上啟動次數從 1,671,253 次降到 2,329 次,耗時從 5,761.8 ms 降到 941.8 ms。
r/LocalLLaMA top of the dayAI 評分65
llama.cpp 的 PR #29184 提出在 CUDA 後端把共享專家融合進 MMVQ,為部分 MoE 架構帶來提速,例如 Qwen 35B A3B。有評論稱該改動使 TG 速度提升約 5%,並指出僅對部分 MoE 架構有效。
llama.cpp releasesAI 評分40
llama.cpp 合併 b11405 版本更新,為 lightning indexer 在 CUDA 與 ROCm 後端新增分塊核心,針對 4 頭場景最佳化。新核心將鍵以半精度暫存、查詢逐頭載入,每執行緒負責一個鍵對兩個 token,避免點積的跨執行緒歸約;同時把乘積改為 float 計算以防 half2 溢位,並讓每個鍵元素只擴充套件一次供所有頭使用。ROCm 上內層迴圈展開 8 次,gfx908 僅用 63 個 VGPR 無溢位,R9700 上核心提速 36 倍。
llama.cpp releasesAI 評分16
llama.cpp 發布 b11391 建置版本,唯一程式碼改動是將 CUDA 後端的 blocks_per_col 變數移到實際使用位置(PR #29939),由 Hugging Face 的 Adrien Gallouët 提交。
llama.cpp releasesAI 評分45
llama.cpp 發布建置 b11448,ggml-cuda 後端把大塊 BF16/FP16 到 F32 的轉換改為分塊執行(#29442),並修正分塊 cuBLAS 矩陣乘法未遵循目標 stride 的問題,提交由 Johannes Gäßler 參與。改動僅涉及 CUDA 後端,影響用 NVIDIA GPU 做本地推理的場景;該建置同時覆蓋 macOS Apple Silicon 與 Linux、Windows 的 CUDA 12/13 等平台。