llama.cpp 最佳化 CUDA 下 MoE 資料佈局,修復 F16 效能回退
llama.cpp 發布 b12144 建置,CUDA 後端把 MoE 資料佈局線性化,以加速 MMQ/MMF 量化矩陣乘,並把 MMQ tile size 最佳化推廣到更多場景,同時修復了 F16 效能回退。
原標題:b12144
閱讀原文
| 評分 | 55 / 45(平均 50,門檻 60) |
| 狀態 | 未入選 |
|---|
原文
CUDA: linearize MoE data layout for MMQ/MMF ( #31047 )
CUDA: linearize MoE data layout for MMQ/MMF
Apply MMQ tile size optimization more generally
Fix F16 performance regression
Website:
https://llama.app
Attestations:
https://github.com/ggml-org/llama.cpp/attestations/64340308
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 26.04 s390x (CPU)
Ubuntu 26.04 s390x (zDNN)
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 releasesAI 評分43
llama.cpp 發布 b11962 建置,在 CUDA 的 MMQ 路徑中把 MoE(MUL_MAT_ID)的 gate/up 投影與 GLU 融合成一個運算元,減少中間結果的視訊記憶體讀寫與運算元呼叫開銷。
llama.cpp releasesAI 評分43
llama.cpp 發布 b11953 建置版本,CUDA 後端新增針對 384 個專家的 Top-K MoE 融合運算元(#31288),由 Codex 輔助完成,可加速此類稀疏 MoE 模型在 NVIDIA GPU 上的推理。該版本同步放出 macOS、Linux、Windows、Android 等多平台預編譯包,覆蓋 CUDA 12.8/13.4、ROCm 10.0、Vulkan、SYCL、OpenVINO 及驍龍 Adreno/Hexagon 等後端。
llama.cpp releasesAI 評分46
llama.cpp 發布 b11554,Vulkan 後端改進了 MoE 推理中 mul_mat_id 對重複專家 id 的處理:不再逐個迴圈,而是在預計算階段統一處理。原本受限的 hoist row ids 最佳化現在預設開啟,會生成緊湊的 tile 描述列表、按需發射多個 tile,從而收緊 workgroup 數量上界,尾部執行緒可直接提前退出。
llama.cpp releasesAI 評分49
llama.cpp 發布 b11417 建置,CUDA 後端針對 NVFP4 型別的 mmq 累加做了最佳化,改進 mmq_vec_dot_fp4_fp4_mma 以提升效能,並修正 mma_block_scaled_fp4 迴圈的縮排。該版本建置覆蓋 macOS/iOS、Linux、Windows、Android 與 openEuler,包含 CUDA 12.8、CUDA 13.4、ROCm 10.0、Vulkan、SYCL、OpenVINO 等後端;
llama.cpp releases● 精選AI 評分69
llama.cpp 發布 b11507 版本,新增 MoE 快取跨多張 GPU 的支援(PR #30112),可讓混合專家模型在多 GPU 環境下更充分地利用視訊記憶體。該版本同時更新了各平台預編譯產物,覆蓋 macOS Apple Silicon、iOS、Linux(CUDA 12/13、Vulkan、ROCm 10.0、SYCL、OpenVINO)、Windows、Android 以及 openEuler 等平台。