llama.cpp b11760 修復 HIP/CUDA mmf 歸約中 tile 寬度不能被 64 整除的問題
llama.cpp 發布建置 b11760,首要變更是修復 HIP/CUDA 後端在 mmf 歸約中 tile 寬度不能被 64 整除時的計算錯誤(PR #30836)。
原標題:b11760
閱讀原文
| 評分 | 35 / 45(平均 40,門檻 60) |
|---|---|
| 狀態 | 未入選 |
原文
相關報導
llama.cpp 建置 b11846 為 CUDA DP4A MMQ 加靜態斷言
llama.cpp 發布建置 b11846,最重要改動是在 ggm-cuda 後端為 DP4A MMQ 的 tile height 增加靜態斷言,強制其必須是 warp size 的整數倍。其餘為常規多平台建置產物更新,覆蓋 macOS Apple Silicon、Ubuntu 的 CUDA 12/13、ROCm 10.0、Vulkan、SYCL、OpenVINO,以及 Windows、Android 與 openEuler 版本;
llama.cpp 發布 b11390,修復 CUDA MMQ 記憶體錯誤
llama.cpp 發布建置版本 b11390,主要修復了 CUDA 後端在 n_expert 遠大於 n_ubatch 時的 MMQ 記憶體故障(#29941)。
llama.cpp 修復 RDNA3/RDNA4 上 HIP bf16 WMMA 編譯失敗
llama.cpp 修復了 HIP 後端在 AMD RDNA3(gfx1150/1151)與 RDNA4(gfx1200/1201)上 bf16 WMMA 的編譯失敗。原因是 __builtin_amdgcn_wmma_f32_16x16x16_bf16_w32 等內建要求 A/B 運算元為 short 向量而非 __bf16,原先按 __bf16 宣告分片會直接報錯。
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 因未獲益被明確排除,其餘條目保持不變。
llama.cpp 發布 b11500,修復 hex-mmadd 融合偏置的讀寫對齊假設
llama.cpp 建置版本 b11500 發布,主要變更是 hex-mmadd 在融合 bias-add 時不再假設讀寫記憶體對齊(#30133)。