AISpot

llama.cpp 修復 WebGPU 批長度分配崩潰併發布 b12034

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

llama.cpp 發布 b12034 建置,修復 WebGPU 後端 scratch 分配大小不隨批長度單調增長的問題:以往用 n_ubatch 或單 token 預留的圖,覆蓋不了 2 到 19 行 query 的批,GGML_SCHED_NO_REALLOC 建置會因意外重分配而中止。修法是把行數傳入 flash attention vec 與 MMVQ 兩條路徑的判定,並按短路徑支援的最長批長度限制 scratch 大小。

原標題:b12034
閱讀原文

評分32 / 22(平均 27,門檻 60)
狀態未入選

原文

webgpu : fix CI by keeping scratch alloc sizes monotonic in batch length ( #31422 ) webgpu: keep scratch alloc sizes monotonic in the batch length The flash attention vec path and the MMVQ path append a scratch area after dst, but get_alloc_size only accounted for it when the current batch takes that path. The size was therefore not monotonic in the batch length: a graph reserved at n_ubatch (tiled path, no scratch) or at one token did not cover batches of 2 to 19 query rows, and GGML_SCHED_NO_REALLOC builds aborted on an unexpected reallocation. Pass the row count to both path predicates and size the scratch with the row count clamped to the longest batch the short path serves. nit: align the mmvq pipeline key with clang-format 22 webgpu: address review @yomaytk , name the mat-vec row threshold Website: https://llama.app Attestations: https://github.com/ggml-org/llama.cpp/attestations/62542460 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 評分45

llama.cpp 修復 WebGPU 大緩衝區清零

llama.cpp 發布 b12114,WebGPU 後端修復了大緩衝區處理:get_max_size 現在返回 maxBufferSize,memset/clear 不再整塊繫結緩衝區,buffer_memset 可處理超過最大繫結尺寸的緩衝區。該版本同時提供 macOS/iOS、Linux(CUDA 12/13、ROCm 10.0、Vulkan、SYCL、OpenVINO)、Android 與 Windows 的預編譯包。

llama.cpp releasesAI 評分25

llama.cpp b11896 修復 WebGPU memset 競態

llama.cpp 發布 b11896 建置,核心改動是修復 WebGPU memset 中的競態問題(#31162)。同批預編譯產物仍覆蓋 macOS/iOS(含 Apple Silicon 與 Intel)、Linux(Vulkan、CUDA 12/13、ROCm 10.0、OpenVINO、SYCL)、Android 與 Windows(含 Snapdragon 的 Adreno GPU 與 Hexagon NPU 路徑),CUDA 12 使用 12.8、CUDA 13…

llama.cpp releasesAI 評分42

llama.cpp b11466 修復 WebGPU flash_attn 的 KV 重疊檢查

llama.cpp 發布 b11466,唯一程式碼改動是修復 ggml-webgpu 後端 flash_attn 對 KV 重疊情形的 supports_op 檢查(#28205)。該版本同步更新各平台預編譯包,涵蓋 macOS/iOS、Linux、Windows、Android 與 openEuler,後端包括 CUDA 12/13、ROCm 10.0、Vulkan、SYCL、OpenVINO,以及 Snapdragon 的 Adreno GPU 與 Hexagon NPU;

llama.cpp releasesAI 評分42

llama.cpp 發布 b11424,修復 Vulkan Flash Attention 共享記憶體越界寫

llama.cpp 發布 b11424 建置版本,修復 Vulkan 後端 Flash Attention 的共享記憶體越界寫問題(#29988)。該版本照例提供 macOS/iOS、Linux、Windows、Android 的預編譯包,涵蓋 Vulkan、CUDA 12/13、ROCm 10.0、OpenVINO、SYCL、OpenCL 等後端,並附驍龍 CPU/Adreno GPU/Hexagon NPU 的安裝指引。