GitHub Repo
Ollama 預發布版將 MLX 自訂核心移植至 CUDA,Nemotron 局部測試提示吞吐量倍增
Ollama 於 10 月 14 日發布 v0.40.5-rc0,納入三類 MLX 自訂核心的 CUDA 移植,減少原先退回計算圖運算的路徑。作者在 RTX 6000 Ada 上測得兩款 Nemotron 模型提示吞吐量提升逾一倍,但結果尚缺跨硬體與完整工作負載驗證。

Ollama 於 10 月 14 日發布 v0.40.5-rc0 預發布版,納入前一天合併的 MLX CUDA 核心移植。這項更新針對 NVIDIA GPU 的實際執行路徑:原本只有 Metal 實作的部分自訂運算,在 CUDA 上會退回計算圖運算;新版補上對應核心,讓相關模型能使用專用實作。發布紀錄
移植涵蓋 mamba2_scan、depthwise_conv_silu、gated_delta,以及相關狀態與偏置變體。作者也調整執行緒邊界檢查與純量讀取方式,並將部分快取改放在各 warp 的暫存器內,以重複正規化計算換取免用共享記憶體及同步屏障。這些細節說明,跨後端移植仍須配合 GPU 的執行與記憶體模型調整。技術提案
作者在 Linux、RTX 6000 Ada 上比較主分支與修改分支:NVFP4 的 nemotron3:33b 提示處理速度由每秒 323.9 tokens 升至 679.0,生成速度由 112.3 升至 149.6;nemotron-3.5-lightning:30b-a3b 的提示處理由 313.3 升至 695.6,生成由 113.2 升至 129.7。兩者提示階段增幅約為 110% 與 122%,生成階段則約為 33% 與 15%。這是作者提供的局部測試,不能直接推算所有模型或線上服務的加速幅度。測試數據
MLX 官方文件已有從原始碼字串即時編譯 CUDA 自訂核心的介面,可指定輸入布局與動態共享記憶體。此次變更的技術意義,是把既有介面用於 Ollama 的具體模型運算,補齊後端效能差距。MLX 文件
部署者接下來應追蹤正式版收錄情況,並以自己的提示長度、量化設定與 GPU 重測首 token 延遲及持續生成速度。數值一致性也需納入驗證:提案指出融合核心與計算圖的歸約順序不同,bf16 結果可能相差一個最低有效位元;審查者另明確表示未在本機驗證 CUDA 執行。因此,目前證據支持特定配置的效能改善,仍不足以保證跨裝置表現。驗證說明
來源
- Qwen3.5 4B returns thinking-only responses for a long conversation on Ollama 0.40.2 · Issue #18916
- Thinking — Ollama documentation
- Generate a chat message — Ollama API documentation
- Ollama v0.40.3 發布說明
- 暫停本機模型相容性遷移的修補與維護者說明
- 模型遷移修補程式差異
- Generate embeddings API 文件
- Ollama v0.40.5-rc0 發布紀錄
- mlx: port the Metal custom kernels to CUDA #18657
- mlx.core.fast.cuda_kernel 官方文件