b11730: cuda: cap MMQ Stream-K blocks at available work (#30553)
llama.cpp 建置 b11730 調整 CUDA 後端 MMQ 的 Stream-K 排程:網格上限從按 SM 數量啟動改為實際 k-block 數量,並進一步按所有輸出 tile 的 K_vram 迭代總數(部分迭代向上取整)收緊。這能去掉小矩陣下無活可乾的多餘 CUDA 塊及其啟動與 fixup 開銷,有效取整 K 範圍與數值結果不變。代價是部分迭代可能改變 FP32 求和的分組方式,MUL_MAT 與 MUL_MAT_ID 後端測試已在 RTX 5090 上通過。
原標題:b11730: cuda: cap MMQ Stream-K blocks at available work (#30553)
閱讀原文
| 評分 | 42 / 45(平均 43,門檻 60) |
|---|---|
| 狀態 | 未入選 |
原文
相關報導
llama.cpp b11517 發布:CUDA 版把 src1 精度傳入主機端 MMQ 配置
llama.cpp 建置版本 b11517 發布,其中 CUDA 後端將 src1 精度顯式傳遞給主機端的 MMQ 配置輔助函式(PR #30168,作者來自 NVIDIA),屬於量化矩陣乘效能/正確性相關的底層調整。
llama.cpp 發布 b11390,修復 CUDA MMQ 記憶體錯誤
llama.cpp 發布建置版本 b11390,主要修復了 CUDA 後端在 n_expert 遠大於 n_ubatch 時的 MMQ 記憶體故障(#29941)。
llama.cpp b11713:CUDA 低位元量化 MMVQ 提速
llama.cpp 發布 b11713,CUDA 後端針對低位元型別的 MMVQ 矩陣乘向量計算提速,同時修復 HIP 在 small nwarps GCN 上 Q3_K(ncols=2、3)與 Q6_K(ncols=4)的問題。
llama.cpp b11511 修復 CUDA MMQ 越界讀取
llama.cpp 發布建置 b11511,主要修復 CUDA 後端 MMQ 的越界讀取問題(#29953)。該版本照常提供 CUDA 12/13、ROCm 10.0、Vulkan、SYCL、OpenVINO 等後端建置,覆蓋 Linux、Windows、Android 與 Snapdragon 的 CPU、Adreno GPU、Hexagon NPU。
b11618: HIP: use 64-row MMQ tiles for some quant types on RDNA3.5 (#28195)
llama.cpp 的 HIP 後端把 64 行/128 執行緒的 MMQ tile 擴充套件到更多量化型別與 J 值組合,覆蓋 RDNA3.5(gfx115x);此前該配置只在 J≤32 時使用,更大的 tile 會佔滿 LDS,無法讓每個 CU 再容納一個工作組。在 gfx1151 上對 100 個 MUL_MAT 形狀做三輪測試,中位提升 2.1%、最佳 26.0%,5 個 MUL_MAT_ID 形狀中位提升 8.0%。J=96 因未獲益被明確排除,其餘條目保持不變。