llama.cpp 在全部 Apple 平台改用 vm_allocate 分配記憶體
llama.cpp 的 ggml 後端在全部 Apple 平台(macOS Apple Silicon、Intel 與 iOS)把記憶體分配從 posix_memalign 改為 vm_allocate,並讓 test-host-buffer-release 測試預設執行。該改動同時覆蓋 iOS,屬於底層記憶體分配路徑調整,不涉及模型或 API 變化。
依意思最接近的 18 筆
llama.cpp 的 ggml 後端在全部 Apple 平台(macOS Apple Silicon、Intel 與 iOS)把記憶體分配從 posix_memalign 改為 vm_allocate,並讓 test-host-buffer-release 測試預設執行。該改動同時覆蓋 iOS,屬於底層記憶體分配路徑調整,不涉及模型或 API 變化。
llama.cpp 的 ggml 後端緩衝區型別介面新增 alloc_buffer_n 方法,並公開 API ggml_backend_buft_alloc_buffer_n,同時加入 get_alloc_size_n 與配套測試。預設實現負責多緩衝區拆分與張量分配,Meta 緩衝區型別提供按裝置建立子上下文的自訂實現;cpu、metal、openvino、hexagon、webgpu 等現有後端介面先置為 NULL。
VaM(Value as Memory)把價值模型的近期預測作為任務進度記憶輸入動作策略,機器人在紙盒裝配任務中連續自主執行 4 小時,成功率超過 95%。方法基於 π₀.₅ 建置動作專家,用 GRU 編碼歷史價值與本體狀態,價值預測與動作生成非同步計算,策略直接讀取已快取的價值。真機消融顯示,相比去掉價值快取,最終成功率提升 29.4%;線上 RL 方案相比離線方案平均成功率再提升 32.8%,每個梯度步消耗的真實世界時間降低 57.8%。
Vx 是一門面向異構計算的系統程式語言,把 CPU、GPU、NPU 與加速器記憶體納入型別系統,主機執行緒解引用裝置指標會直接編譯報錯而非執行時崩潰。它要求跨記憶體空間的資料移動顯式呼叫 transfer(),並用機器檔案描述 H100、H200、B200、A100、MI300X、Apple M4 等真實硬體的記憶體層級與互連,編譯期據此接受或拒絕放置方案。
Rust 編寫的 hypervisor Capsem 開源發布,把每個 AI 編碼代理關進獨立的氣隙 Linux 虛擬機器裡執行。macOS 端基於 Apple Virtualization.framework,要求 macOS 14+ 與 Apple Silicon,Linux 端需 KVM,預裝 Claude Code、Gemini CLI、Codex 與 Python、Node.js 等 30 多個包,10 秒內可進入提示符。
llama.cpp 發布 b11640,Vulkan 後端針對 cm2 mulmat 的矩陣乘法改用對 L2 快取更友好的 workgroup 排程(#30215)。同一版本把 macOS Apple Silicon 的 KleidiAI 建置標記為 DISABLED,並重新整理各平台預編譯包:Ubuntu 與 Windows x64 新增 ROCm 10.0,CUDA 13 建置對應 CUDA 13.4 庫。
llama.cpp 建置 b11913 把 Hexagon 後端的 VTCM 上限改為可通過 GGML_HEXAGON_VTCM_SIZE 覆蓋,並支援 K/M/G 單位字尾,同時移除了原先的 NTHREADS 上限項。該引數面向驍龍 Hexagon NPU 的本地推理,可按裝置實際 VTCM 容量調整。同批建置仍覆蓋 macOS、Linux、Windows、Android 上的 CPU、Vulkan、CUDA、ROCm、SYCL 等後端。
llama.cpp 發布建置 b11881,核心改動是讓所有記憶體快取統一遵循 no_alloc 設定。提交中另標註兩項待辦:把 no_alloc 從 llama_hparams 中移出;驗證在 Mac Studio(M2 Ultra、192GB)上用 DeepSeek-V4-Flash-Vision-Exp 的 GGUF 模型完成。
llama.cpp 發布建置 b12047,對 SYCL 後端的 dmmv(反量化矩陣向量乘)程式碼做清理與模板化:q8_0 重排 dmmv 併入通用模板,非 K 量化和 K-quant 的 dmmv 啟動器都改為模板實現。該版本同時提供 macOS、Linux、Windows、Android 等平台的預編譯包,其中 macOS Apple Silicon 的 KleidiAI 版本與 openEuler 建置被標記為 DISABLED。
llama.cpp 發布建置 b11908,主要變更把 no_alloc 欄位從 llama_hparams 結構中移出,並做了相關程式碼清理;同時為 test-llama-context 新增 no_alloc 測試用例。
llama.cpp 建置 b11567 引入可選的 ggml_backend_sched_realloc_callback,使用者程式碼通過 ggml_backend_sched_set_realloc_callback 註冊後,可在為計算圖預留的緩衝區不足、需要重新分配時收到通知。回撥會報告後端分配方案與圖大小相對上次排程是否發生變化。
llama.cpp 合併 PR #30106,修復 Vulkan 後端小矩陣乘法的分組錯誤。原實現把 warp tile 寬度 WM 固定為 32(8 寬子組時為 8),不隨 tile 的 BLOCK_SIZE 和 WARP 變化:使用 16 寬子組(Mali)時,同一工作組的第二個子組會寫入下一個 tile 的列;使用 8 寬子組時,部分 _id tile 有行未計算。現在改為按子組推導 WM,保證每個子組一個 warp tile;
llama.cpp 發布建置 b11460,SYCL 後端新增 IQ3_S 的多列 MMVQ 支援(PR #29500)。該版本繼續提供覆蓋 macOS/iOS、Linux、Android、Windows 與 openEuler 的預編譯包,其中 Ubuntu x64 與 Windows x64 包含 SYCL FP32、FP16 建置。
llama.cpp 發布 b11564 建置,Vulkan 後端為 CM2 matmul 專門化量化塊大小,並改用三元表示式避免 switch 降低帶來的開銷,同時澄清了相關注釋。該版本照例附帶全平台建置,涵蓋 macOS/iOS、Linux、Windows、Android 與 openEuler,包括 CUDA 12/13、ROCm 10.0、Vulkan、SYCL、OpenVINO 等後端。
llama.cpp 發布 b11683 版本,Vulkan 後端修復了 GPU 可見主機記憶體的相關問題,並減少主機指標匯入失敗時的日誌刷屏。該版本把 MoltenVK 排除在共享記憶體匯入之外,同時因 amdgpu 效能問題,在 AMD 上停用了主機記憶體緩衝區共享。
llama.cpp 發布建置 b11526,主要修復 Vulkan 後端 rms_norm 工作組數量溢位(#30145)。該版本繼續為 macOS/iOS、Linux、Windows、Android 與 openEuler 提供多後端建置,覆蓋 CPU、Vulkan、CUDA 12/13、ROCm 10.0、OpenVINO、SYCL 以及驍龍平台的 Adreno GPU 與 Hexagon NPU;
Sam Altman 在 Cheeky Pint 訪談中表示,個人把全球有限的 DRAM 留在自己電腦裡、只使用 5% 的時間,從全球分配角度看相當糟糕,雲端最大化利用率才是解法。他提到 OpenAI 獲准買下全球 40% 的 DRAM 產量,而美光已宣布退出消費級記憶體生產。OpenAI 還在自研代號 Jalapeno 的 AI 晶片,稱該晶片由 AI 為 AI 設計。
llama.cpp 發布 b11904 建置,主要改動是把 SYCL 後端的普通 MMVQ 啟動三元組改為模板化(#31013),涉及 Intel GPU 上的量化矩陣乘向量路徑。該版本照例提供多平台預編譯產物:macOS(Apple Silicon、Intel)、Linux(CUDA 12/13、ROCm 10.0、Vulkan、OpenVINO、SYCL FP32 與 FP16)、Windows、Android 及 openEuler。