專用推理引擎興起,放棄通用性換極致效能
近期出現一批極窄用途的推理執行時,包括 Strata、ninfer、DwarfStar、Splash、llamAmpere、gufo 等。它們刻意放棄 llama.cpp 與 vLLM 擅長的通用性,只針對少數模型甚至單一硬體家族(如 Strix Halo)做最佳化。作者認為通用執行時負責相容、過擬合執行時負責極致效能將成為常態,並有助於智慧的民主化與去中心化,讓現有硬體在特定配置下榨出最大輸出。
依意思最接近的 30 筆
近期出現一批極窄用途的推理執行時,包括 Strata、ninfer、DwarfStar、Splash、llamAmpere、gufo 等。它們刻意放棄 llama.cpp 與 vLLM 擅長的通用性,只針對少數模型甚至單一硬體家族(如 Strix Halo)做最佳化。作者認為通用執行時負責相容、過擬合執行時負責極致效能將成為常態,並有助於智慧的民主化與去中心化,讓現有硬體在特定配置下榨出最大輸出。
llama.cpp 發布 b11732 建置,本次唯一的程式碼改動是修掉 CUDA 後端多餘分號引發的編譯警告(#30774)。預編譯包覆蓋 macOS/iOS、Linux、Windows、Android 與 openEuler,後端包含 CUDA 12.8/13.4、ROCm 10.0、Vulkan、SYCL、OpenVINO,以及 Snapdragon 上的 Adreno GPU 與 Hexagon NPU,Windows arm64 也提供 CUDA 13 版本。
llama.cpp 發布 b11499 建置,CUDA 後端改用位元組步長實現 roll,使 ROLL 運算可以作用於非連續張量(#29547)。該版本照例提供各平台預編譯產物:macOS Apple Silicon 與 Intel、iOS XCFramework,以及 Linux、Windows、Android 的 CPU、Vulkan、CUDA 12/CUDA 13、ROCm 10.0、OpenVINO、SYCL 建置,其中 CUDA 12 與 13 分別打包 12.8、1…
llama.cpp 發布 b11402 版本,CUDA 後端改為優先採用整塊(whole-tile)FlashAttention 排程,以提升兩階段核心效率。
llama.cpp 發布 b11538 建置,修復 CUDA 後端的舍入問題,使 MSVC 下 CPU 與 GPU 的計算結果一致。本次發布包覆蓋 macOS/iOS、Linux、Windows、Android 與 openEuler,其中 CUDA 12/13 預編譯包分別對應 CUDA 12.8 與 13.4 庫,Linux 與 Windows x64 另有 ROCm 10.0、OpenVINO、SYCL、Vulkan 建置,Snapdragon 平台提供 CPU、Adr…
llama.cpp 發布 b11510,CUDA 後端的 PAD kernel 改為迴圈處理,可支援超過 65535 行或切片的填充,解除此前的行數上限(#30147)。該版本同時更新各平台預編譯產物:macOS Apple Silicon 的 KleidiAI 建置仍標記 DISABLED,openEuler 建置也未啟用;
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 發布建置 b11456,其中 ggml-cuda 在緩衝區初始化的 padding memset 中改用每執行緒 stream(#28782),CI 也重新為 ROCm 啟用 test-backend-ops 的 -j 並行測試。該建置覆蓋 macOS/iOS、Linux、Android、Windows 與 openEuler,含 CPU、Vulkan、CUDA 12/13、ROCm 10.0、OpenVINO、SYCL 等後端;
llama.cpp 發布 b11498,修復 CUDA 後端 norm 系列核函式在 ne[2]/ne[3] 超過網格維度上限時的問題(PR #28175)。該版本建置產物覆蓋 macOS/iOS、Linux、Android、Windows 與 openEuler,後端含 CUDA 12/13、ROCm 10.0、Vulkan、SYCL、OpenVINO 等;
llama.cpp 修復了 CUDA 後端 argsort 的 CCCL 版本判斷錯誤:舊寫法分別比較主、次版本號,在 CCCL 4.x 上被判定為假,STRIDED_ITERATOR_AVAILABLE 不再定義,argsort 靜默退回 init_offsets 路徑,只損失效能且不報錯、不警告。補丁改用 CCCL 自帶的打包整數 CCCL_VERSION(3.4.3 記作 3004003),只需一次比較。
崑崙萬維發布並開源 Matrix-Game 4.0,稱其為全球首個可在消費級顯示卡上即時執行的影片大模型遊戲。基於 Wan2.2 5B 改造,單張 RTX 5090 上以 480p 實現 60 FPS 遊戲執行,按鍵到畫面端到端延遲低於 150ms,1 步去噪穩態生成 83 FPS,視訊記憶體峰值約 18.5 GiB。作為對比,輝達同期 StreamRender-H3 需 8 張 GB200,互動延遲約 500ms。開源內容包括模型權重和可由開發者直接修改、擴充套件的遊戲程式碼。
llama.cpp 合併 b11405 版本更新,為 lightning indexer 在 CUDA 與 ROCm 後端新增分塊核心,針對 4 頭場景最佳化。新核心將鍵以半精度暫存、查詢逐頭載入,每執行緒負責一個鍵對兩個 token,避免點積的跨執行緒歸約;同時把乘積改為 float 計算以防 half2 溢位,並讓每個鍵元素只擴充套件一次供所有頭使用。ROCm 上內層迴圈展開 8 次,gfx908 僅用 63 個 VGPR 無溢位,R9700 上核心提速 36 倍。
v0.40.5 把 MLX 原本為 Metal 寫的自訂核心移植到 CUDA,MLX 推理路徑由此延伸到 NVIDIA GPU。同一版本中,OpenAI 相容層可在 Responses 歷史裡接受自訂工具呼叫,應用端澄清了雲支付報錯提示,文件更新模型推薦並統一措辭。此外還有 MLX 的版本號提升,以及新貢獻者 @willietran 的首次提交。
llama.cpp 的 CUDA 後端重做 top-k 演算法選擇,大行數場景改用按行網格的 radix select 替代 CUB 逐行 DeviceTopKKernel,在 qwen4exp 34,816 tokens 上啟動次數從 1,671,253 次降到 2,329 次,耗時從 5,761.8 ms 降到 941.8 ms。
llama.cpp 發布每日建置 b11592,ggml-cuda 的 CUDA graph 除錯日誌改為只在設定 GGML_CUDA_GRAPH_DEBUG 後才輸出,並移除了這部分日誌的 NDEBUG 編譯開關。同一批提交把 CUDA 環境變數的讀取改成靜態常量快取,程序內只查詢一次,不再每次呼叫重複讀取。
llama.cpp 發布 b11417 建置,CUDA 後端針對 NVFP4 型別的 mmq 累加做了最佳化,改進 mmq_vec_dot_fp4_fp4_mma 以提升效能,並修正 mma_block_scaled_fp4 迴圈的縮排。該版本建置覆蓋 macOS/iOS、Linux、Windows、Android 與 openEuler,包含 CUDA 12.8、CUDA 13.4、ROCm 10.0、Vulkan、SYCL、OpenVINO 等後端;
llama.cpp 發布 b11555,修復了在支援 F16C 的 AVX2 CPU 上未啟用 F16C 的問題,可改善 x86 平台的 CPU 推理表現。同步更新的預編譯包覆蓋 macOS Apple Silicon、Windows 與 Linux 的 CUDA 12/13、Vulkan、ROCm 10.0、SYCL、OpenVINO,以及 Android、openEuler 等平台;
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 發布 b11425 建置,主要變更是把 CUDA 後端的 alloc_deps 檢查改為與 batch 無關(PR #29986,修復 #29980)。該版本同時更新各平台預編譯產物,覆蓋 macOS Apple Silicon 與 Intel、iOS XCFramework、Android arm64,以及 Windows 和 Ubuntu 上的 CUDA 12、CUDA 13、Vulkan、ROCm 10.0、SYCL、OpenVINO 等後端。
llama.cpp 發布 b11391 建置版本,唯一程式碼改動是將 CUDA 後端的 blocks_per_col 變數移到實際使用位置(PR #29939),由 Hugging Face 的 Adrien Gallouët 提交。
llama.cpp 合併 PR #29633,在 CUDA 後端針對小批次場景的 thin f16/bf16 mul_mat 改用 MMVF 指令,並調整了核心選擇邏輯。該改動由 NVIDIA 工程師提交,影響 Ubuntu 與 Windows 的 CUDA 12/13 建置,面向在 NVIDIA GPU 上執行本地推理的使用者。
LiteRT 發布 Tensor API,這是一個輕量 C++ 編寫層,開發者可以逐個運算元手工建置計算圖;同一份程式碼經 LiteRT 能跑在 CPU、GPU 與 NPU 上,不必為新硬體重寫。官方用 SAM 2 演示:模型全部用 C++ 編寫,在瀏覽器 WebGPU 上配合 Gemma 4 E2B 做即時多目標分割;coding agent 把它在 512×512 下的幀率從不足 10 提升到 30 以上。
開發者 roofkid 發布 Ninfer 4080,在 RTX 4080 16GB 上以 100k 上下文執行 ISTA-DASLab-Qwen-3.8-27B-GSQ,實測最高 prefill 2720 tok/s、生成 262 tok/s。專案採用 DFlash2 推測解碼與 KV 壓縮,程式碼已在 GitHub 開源並提供 Docker 映象。
llama.cpp 建置 b11721 在 CUDA 後端把 Qwen4Exp 的 SCALE → SIGMOID → SCALE → hc_post 鏈融合成單個 kernel,由四個 kernel 縮減為一個,程式碼移植自 Vulkan 的 HC_POST_GATE 融合(#29520)。實現上 dsv4_hc_post_f32 新增 gated 模板標誌,直接用原始權重計算 scale_out·sigmoid(scale_in·p);
一個由 AI 設計的開源 AI 加速器 openTPU 已在真實 PCIe 卡上跑通十餘款模型的真實權重,輸出與 bit-exact 模擬器逐位一致。硬體是 Xilinx Kintex-7 xc7k480t 加兩路 DDR3,LFM2.5-230M int8 解碼 59.0 tok/s、4-bit 達 85.8 tok/s;解碼受 DRAM 頻寬限制,實測跑到峰值的 82%-94%。
llama.cpp 發布建置 b11711,唯一程式碼改動是修復 CUDA flash attention 向量分發中觸發的 -Wtautological-compare 編譯警告(#30519),提交者為 Adrien Gallouët。
llama.cpp 發布建置版本 b11465,本次改動是「測試:在測試遞迴回滾時保留 anchor」(#29923)。該版本提供的預編譯產物覆蓋 macOS/iOS、Linux、Android、Windows 與 openEuler,其中 Windows 與 Linux 的 x64/arm64 均包含 CUDA 12、CUDA 13(CUDA 13.4 庫)、Vulkan、ROCm 10.0、OpenVINO、SYCL 等後端。
llama.cpp 發布 b11713,CUDA 後端針對低位元型別的 MMVQ 矩陣乘向量計算提速,同時修復 HIP 在 small nwarps GCN 上 Q3_K(ncols=2、3)與 Q6_K(ncols=4)的問題。
Ai2 把原先基於優先順序的 GPU 排程器換成了由 GPU 時間預算、層級化公平分配和時間切片契約組成的新系統。它管理數千塊 NVIDIA H100、B200、B300,叢集規模從 88 到 1024 塊 GPU,服務約 150 名內部研究者,GPU 需求長期是供給的 2 到 3 倍。舊方案導致 GPU 蹲坑佔位、優先順序通脹(最終 100% 工作負載都標為 HIGH)以及值班工程師大量時間用於協商關閉不可搶佔任務。
llama.cpp 建置版本 b11517 發布,其中 CUDA 後端將 src1 精度顯式傳遞給主機端的 MMQ 配置輔助函式(PR #30168,作者來自 NVIDIA),屬於量化矩陣乘效能/正確性相關的底層調整。