AISpot

llama.cpp 新增 GDN chunked kernel,RTX 3090/4090 開啟 MMA

llama.cpp releases版本更新地端推論開源

llama.cpp 建置 b11632 為 CUDA 和 HIP 後端加入 GDN chunked kernel(自 tetherto#257 移植)。在 RTX 3090(SM86)與 RTX 4090(SM89)通過正確性和 prefill 基準測試後,CUDA 側啟用 GDN MMA,其他未測試架構繼續沿用原有 fallback;ggml 側另註明 GDN 只在 n_tokens > K 時保證最終狀態。

GDN 的 chunked kernel 進入 llama.cpp 的 CUDA/HIP 路徑,並在 RTX 3090、4090 實測後放行 MMA、其餘架構保留 fallback,對在 NVIDIA 與 AMD 顯示卡上跑本地推理的人有直接參考價值。

原標題:b11632
閱讀原文

評分58 / 48(平均 53,門檻 60)
狀態未入選

原文

cuda, hip: GDN chunked kernel ( #29353 ) cuda, hip: GDN chunked kernel Ported-from: tetherto#257 Source-commit: 53f0027 Co-authored-by: Aman Gupta [email protected] fix older builds review fixes cuda: enable GDN MMA on tested Ampere and Ada GPUs Enable SM86 and SM89 after RTX 3090 and RTX 4090 correctness and prefill benchmarks. Keep other untested architectures on the existing fallback. Assisted-by: Codex cuda : use refactored swizzle API in GDN MMA ggml : GDN only guarantees the final state when n_tokens > K cuda : add short GDN MMA phase comments Co-authored-by: gianni-cor [email protected] Co-authored-by: Aman Gupta [email protected] Website: https://llama.app Attestations: https://github.com/ggml-org/llama.cpp/attestations/56096976 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 releasesAI 評分45

llama.cpp 建置 b11448:ggml-cuda 分塊處理大塊 BF16/FP16 轉 F32

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 等平台。

llama.cpp releasesAI 評分40

llama.cpp 為 4 頭 lightning indexer 新增 CUDA 分塊核心

llama.cpp 合併 b11405 版本更新,為 lightning indexer 在 CUDA 與 ROCm 後端新增分塊核心,針對 4 頭場景最佳化。新核心將鍵以半精度暫存、查詢逐頭載入,每執行緒負責一個鍵對兩個 token,避免點積的跨執行緒歸約;同時把乘積改為 float 計算以防 half2 溢位,並讓每個鍵元素只擴充套件一次供所有頭使用。ROCm 上內層迴圈展開 8 次,gfx908 僅用 63 個 VGPR 無溢位,R9700 上核心提速 36 倍。

llama.cpp releasesAI 評分45

llama.cpp 為 x86 tinyBLAS 加入 BF16/FP16/FP32 K 尾部向量化

llama.cpp 的 ggml-cpu 後端在 x86 上為 tinyBLAS 增加了 BF16、FP16、FP32 的 K 尾部支援並做了向量化,同時讓 CPU 測試在啟用 use_ref 時跳過 tinyBLAS,以便與 vec_dot 路徑對比。改動以 PR #29806 合入,隨 b11398 建置發布,覆蓋 macOS、Linux、Windows、Android 等多平台 CPU 與 GPU 後端。