所屬事件:
llama.cpp 修復 CLAMP 非連續檢視定址錯誤(1 個來源 · 2 則報導)
llama.cpp 在 10 月先後修復了 CLAMP 運算元在非連續檢視上的定址錯誤,涉及 ggml 的 CPU、CUDA 與 OpenCL 後端。10 月 6 日發布的 b11449 針對 CPU 與 CUDA:CUDA 此前按 ggml_nelements 做平坦處理、忽略檢視 stride,CPU 則把第 j… 看完整事件
llama.cpp 修復 OpenCL 非連續檢視 CLAMP 計算錯誤
llama.cpp 為 OpenCL 後端新增跨步核心 kernel_clamp_nc,修復輸入為非連續(strided)檢視時 CLAMP 讀錯元素的問題。原 clamp 核心把源與目標當作一維連續陣列索引,遇到新增的 CLAMP v=1 情形會取錯資料;現在源不連續時自動改用新的 strided 核心,與其他一元運算元的做法保持一致。
原標題:b11639
閱讀原文
同一事件共有 2 則報導(1 個來源),看事件全貌
| 評分 | 35 / 40(平均 37,門檻 60) |
| 狀態 | 未入選 |
|---|
原文
opencl: support CLAMP on non-contiguous views ( #30186 )
The clamp kernel indexed source and destination as one flat contiguous array, so
a strided view as input (the new CLAMP v=1 case) read the wrong elements. Add a
strided kernel_clamp_nc, as the other unary ops have, and take it whenever the
source is not contiguous.
Website:
https://llama.app
Attestations:
https://github.com/ggml-org/llama.cpp/attestations/56132091
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 評分43
llama.cpp 建置 b11533 修復了 Adreno A6x GPU 上的 OpenCL 核心編譯崩潰,並把 Adreno 623 加入 A6X 檢測列表。具體做法是在 A6X 上跳過 kernel_cpy_f32_f32_pack——A623 的編譯器後端(E031.50.31.01)無法處理引數過多的核心;GEMV 核心裡的 get_local_size 也加了常量摺疊變通方案。
llama.cpp releasesAI 評分43
llama.cpp 發布 b11451 建置,主要變更是修復 OpenCL 後端在 Adreno GPU 上 xmem GEMM 的越界讀取(OOB read)問題,對應 PR #30041。
llama.cpp releasesAI 評分42
llama.cpp 建置 b11558 修復了 OpenCL 後端處理 Q4_K 量化權重時的映象大小限制:當權重映象超出裝置限制時改為回退,而不是直接失敗。同一批提交還修正了 q4_0 的廣播邏輯,並避免 rms_norm 中出現不完整的子組計算,提交者來自高通(qti.qualcomm.com)。
llama.cpp releasesAI 評分45
llama.cpp 建置 b11620 修復了 OpenCL 後端 q8_0 dp4a 路徑下 MoE 矩陣乘法(MUL_MAT_ID)與 GEMM 的最小值處理錯誤,避免量化 MoE 模型在 GPU 上算出錯誤結果。同一批改動還讓 Adreno GPU 直接拒絕 PREC_F32 的 MUL_MAT_ID,不再走不支援的精度路徑。
llama.cpp releasesAI 評分43
llama.cpp 發布 b11565 建置,主要改動是為 SYCL 後端的 DMMV 在行尾加上讀取保護,修復越界讀取(PR #29338)。這批預編譯產物同時更新了平台矩陣:macOS Apple Silicon 啟用 KleidiAI 的版本與 openEuler 兩項被標記為 DISABLED;macOS 與 iOS 另提供 Intel x64 與 XCFramework 產物;