v0.40.7-rc1 去重 GGML 與 MLX 的 CUDA 執行庫
v0.40.7-rc1 把 GGML 與 MLX 兩個後端共用的 CUDA 庫合併進同一個 CUDA payload 目錄,消除重複打包。程序內和子程序載入 MLX 時都會解析這個打包依賴目錄;MLX 私有庫與 JIT 標頭檔案仍保留在 MLX overlay 中。此外補齊 OpenBLAS 的完整 Fortran 執行時依賴閉包,並在發布打包流程中校驗這些依賴。
依意思最接近的 29 筆
v0.40.7-rc1 把 GGML 與 MLX 兩個後端共用的 CUDA 庫合併進同一個 CUDA payload 目錄,消除重複打包。程序內和子程序載入 MLX 時都會解析這個打包依賴目錄;MLX 私有庫與 JIT 標頭檔案仍保留在 MLX overlay 中。此外補齊 OpenBLAS 的完整 Fortran 執行時依賴閉包,並在發布打包流程中校驗這些依賴。
llama.cpp b11436 修復 ggml-openvino 後端的 CI 測試失敗與多項 GPU 迴歸。上游 #29622 給輸入 embedding 圖加入混合 token/embd 分支,後端改為只從計算節點建置 OV 模型,並把同型別連續 DUP 按 CONT 翻譯以避免圖被拆分,修復了 CPU 與 GPU 上首個單 token decode 失敗;
llama.cpp 建置 b11854 為 Vulkan 後端加入 ggml src1 精度支援,並更新累加器精度選擇邏輯。改動通過縮放處理 fp32 溢位,並修復 copy-to-fp16 啟用中的溢位問題;同時補充 ggml 精度查詢輔助函式、在 mul_mat 中增加檢查與測試,並統一命名為 acc_prec。此次建置仍覆蓋 macOS、Linux、Windows、Android 的 Vulkan、CUDA、ROCm、SYCL、OpenVINO 等後端二進位制。
llama.cpp 發布建置版本 b12109,本次更新為同步 ggml 上游程式碼。該版本提供的預編譯包覆蓋 macOS Apple Silicon(arm64)與 Intel、iOS XCFramework、Linux(CUDA 12/13、ROCm 10.0、Vulkan、OpenVINO、SYCL)、Windows、Android 及 openEuler 的 310p 與 910b(含 ACL Graph)。
llama.cpp 發布 b11563 建置,其中 ggml 把符號預設可見性改為 hidden,避免一批內部符號通過 GGML_API 洩漏(#30014,討論見 #29997)。同批建置覆蓋 macOS/iOS、Linux、Windows、Android 與 openEuler,含 CUDA 12/13、ROCm 10.0、Vulkan、SYCL、OpenVINO 等後端。
ggml 修復了 CLAMP 運算元在非連續檢視上的定址錯誤,涉及 CPU 與 CUDA 後端。CUDA 此前按 ggml_nelements 做平坦處理、忽略檢視 stride,CPU 則把第 j 行按 j*nb01 定址、忽略 nb02/nb03;現在兩者都改為遵循 dims 1..3 的 stride,且 CUDA 的 supports_op 要求行連續,與 Metal 一致。
llama.cpp 建置 b11529 修復了 ggml 中 ggml_acc 的越界寫漏洞:ggml_acc_impl 將 size_t 偏移量收窄為 int32_t 時未做檢查,超大偏移會截斷成負數,再被符號擴充套件為巨大 size_t 導致邊界斷言失效,可在 dst 緩衝區下方越界寫入。修復方式是在收窄前檢查偏移量,與 ggml_set_impl 中已有檢查保持一致。該版本同時提供 macOS、Linux、Windows、Android 等多平台預編譯包。
llama.cpp 發布 b11731,ggml-cpu 後端將 ggml_v_silu 與 ggml_v_expf 向量化,提交者為 IBM 的 Aaron Teo,可加速 CPU 推理中的 SiLU 啟用與指數運算。該版本照例更新了各平台預編譯產物,覆蓋 CUDA 12/13、Vulkan、ROCm、SYCL、OpenVINO、Android 及 Windows arm64 等。
llama.cpp 發布建置 b11687,核心改動是重構 ggml-cpu 的 s309x repack 輔助函式(PR #30588)。同批預編譯產物覆蓋 macOS/iOS、Linux、Android、Windows 與 openEuler,其中 macOS Apple Silicon 的 KleidiAI 啟用版和 openEuler 建置被標記為 DISABLED。
llama.cpp 發布建置 b11581,主要改動是刪除模型實現中多餘的 ggml_cont 呼叫,官方稱所有 unary kernel 現在都已支援這種用法,CUDA unary kernel 也已跟進。同一批提交修正了 qwen3next:在用於廣播乘法的 sigmoid 前後恢復 cont_2d 張量連續性,並清理 dflash 的 cont。
ggml-openvino 後端更新到 2026.4.1,重點最佳化 Qwen3.5 MoE 推理效能,並新增推理效能分析、預設使用遠端輸出張量、磁碟快取模型直載(cache_only)等能力。在 Arc B390 上以 q4_asym64_all 重量化執行 gemma-4-26B-A4B,pp512 從 66.16 t/s 提升到 1608.73 t/s,tg128 從 25.94 提升到 26.46 t/s,困惑度基本不變。
llama.cpp 建置 b11906 把 ggml-cpu 的 concat 重寫為單個按行執行的 kernel,所有型別共用一套實現,量化型別也包含在內:稠密源行只需一次 memcpy,轉置源則按元素逐個複製,元素大小在編譯期已知。行不再只沿 i2 維度切分(該維度常為 1),而是按 32 行一組分塊分給多執行緒;遇到轉置源時在外層迴圈遍歷元素,讓同一 tile 的各行讀取相鄰地址。
llama.cpp 建置 b12002 為 ggml 加入通用批次張量複製 API,並把 llama 的 context io 改為按批次執行裝置張量複製。新 API 已獲 CUDA 後端支援,會按緩衝區型別分組排程,同時移除了舊的非同步 tensor_n 介面並補上空緩衝區鉤子,還修復了二維批次張量的識別問題。測試方面,test-backend-tensor 經過重構,用 mock 緩衝區型別驗證鉤子呼叫、逐張量回退,以及 cpy_tensor_n 的全有全無語義。
llama.cpp 發布 b11532 建置,ModernBERT 編碼器改用精確 GELU(exact GELU),替代此前的近似實現;同時保留 ggml_geglu 上的 tanh GELU 別名,並把 gelu_python 對映到 ggml_geglu_erf。
llama.cpp 已實現對 EmbeddingGemma 2 的 Day-0 支援,由作者 ggerganov 公布。對應 GGUF 權重由 ggml-org 發布在 Hugging Face,可直接下載用於本地推理。Day-0 意味著模型發布當天即可在 llama.cpp 上執行,無需等待社群自行轉換。
llama.cpp 發布 0.9.0,底層 ggml 升級至 v0.29.0,新增 OCP FP8 E4M3 量化型別與對應 ftype。新運算元 flash_attn_ext_rows 讓統一 KV cache 在多序列推理中更高效,非統一 KV 的 prefill 效能也得以恢復;同時加入批次張量複製 API 和基於 NCCL 的多節點張量並行。
llama.cpp 發布 b11720,ggml 的 SUM 運算新增非連續(non-contiguous)張量檢視支援,覆蓋 CPU、CUDA、Vulkan 與 WebGPU 四種後端,並補充了非連續檢視的測試用例。
llama.cpp 建置 b11838 修復了 ggml_time_us 的時間溢位問題,實現上改用 double(#30969)。該版本同時提供 macOS/iOS、Linux、Android、Windows 等多平台預編譯包,其中 macOS Apple Silicon 的 KleidiAI 建置與 openEuler 建置被標記為 DISABLED。
Google DeepMind 推出 EmbeddingGemma 2 嵌入模型,740M 引數在多項基準上具備競爭力,甚至超過部分引數量兩倍以上的專用模型。模型以 Apache 2.0 許可發布,權重已上線 Hugging Face 與 Kaggle。開發者可用它為應用加入多模態檢索,例如用語音備忘錄定位影片片段,也可與 Gemma 4 搭配實現端側私有 RAG。
llama.cpp 發布 b12102,修復 ggml 檢視的越界檢查:此前用同形狀連續張量的大小校驗,導致行重疊但未越界的檢視被誤判、stride 過寬而越界的檢視反而通過;現在檢視函式把 stride 傳給張量建構函式,按實際到達的位元組數檢查。另新增斷言要求帶 stride 的檢視從 dim 0 連續元素開始,delta_net 的卷積視窗改為一次建立全部行,不再在檢查後擴寬。
llama.cpp 的 ggml 後端緩衝區型別介面新增 alloc_buffer_n 方法,並公開 API ggml_backend_buft_alloc_buffer_n,同時加入 get_alloc_size_n 與配套測試。預設實現負責多緩衝區拆分與張量分配,Meta 緩衝區型別提供按裝置建立子上下文的自訂實現;cpu、metal、openvino、hexagon、webgpu 等現有後端介面先置為 NULL。
Google DeepMind 發布 EmbeddingGemma 2,一個 Apache 2.0 許可、740M 引數的開源端側多模態嵌入模型,基於 Gemma 4 架構,把文字、程式碼、影像、音訊與影片對映到同一嵌入空間。它按需模組化:純文字最低 270M 引數,另有 170M 視覺與 300M 音訊編碼器;MRL 支援把 768 維向量截斷到 128 維,本地儲存最多省 6 倍。
llama.cpp 發布 b11786 建置,ggml-cpu 後端的 f32 gelu_quick 與 geglu_quick 改為不依賴 fp16 查表直接計算,同時保留 GGML_GELU_QUICK_FP16 表路徑,並新增 VXE 的 gelu_quick 路徑。該版本還為 f32 CPU 核心補充 test-gelu-quick 測試,並從其中移除 inf/nan 輸入。
llama.cpp 發布建置 b11459,唯一列出的程式碼改動是 ggml-webgpu 在 WASI 上不再啟用 Dawn 原生特性。該建置的預編譯產物覆蓋 macOS Apple Silicon(arm64)與 Intel(x64)、iOS XCFramework、Linux、Android、Windows 以及 openEuler。後端包括 CPU、Vulkan、CUDA 12、CUDA 13、ROCm 10.0、OpenVINO 與 SYCL;
Ollama 發布 v0.40.6 預發布版,GGUF 格式新增 q2_0 張量與檔案型別,為更低位元的模型量化提供支援。該版本還修復了 Windows 上 runner 程序殘留(孤兒程序)的問題,並在 Ollama 雲端上線 clef,同時把 --ask 模式的提問鍵改為識別符號。更新由 jmorganca、dhiltgen、jberg5 提交,共 1 個 commit。
Google DeepMind 的 EmbeddingGemma 2 已上線 Ollama,執行 ollama pull embeddinggemma-2 即可拉取。訊息由 Ollama 官方帳號在 10 月 6 日發布,官方稱該模型面向消費級裝置,並且是多模態模型。原文未披露模型體積、上下文長度與具體支援的模態等細節。
llama.cpp 發布 b11907 建置,把 hyper-connection 與 DSA 圖建置器原先通過 ggml_tensor** 輸出引數寫出的額外輸出(post/comb gates、保留的 top-k 選擇、inject gates)改為與主輸出一起放進一個小結構體返回。這是一次介面層面的改動,呼叫這些圖建置器的程式碼需要同步調整。
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 時保證最終狀態。
llama.cpp 發布 b11486 建置,Hexagon 後端的 GELU 啟用函式精度得到改進(#30104)。該版本繼續為驍龍平台提供 Hexagon NPU、Adreno GPU 與 CPU 三類後端,覆蓋 Linux arm64、Android arm64 與 Windows arm64。