NVIDIA 喺 2026 年 11 月 4 日嘅官方技術博客(NVIDIA Technical Blog)宣佈,CUDA 13.5 已正式發布。呢個版本嘅最大賣點,係 NVIDIA Vera Rubin 平台由「早期開發者試玩」(early developer access)轉入「通用可用」(General Availability,即 GA),官稱「ready for enterprise production」,即聲稱可以俾企業落生產環境用。另外 Windows on Arm 支援,喺 CUDA 13.4 已經 GA,今次進一步擴展到 NVIDIA DGX Station for Windows。

Vera Rubin 聽落似係佢哋新一代 GPU 平台,但要注意呢篇係廠商自己嘅通告,冇獨立數據、冇測試成績。所謂「GA」代表乜,要分清楚:廠商話可以生產級用,唔等於有第三方實測證明跑得穩、跑得掂。

同一時間,CUDA 13.5 亦帶入一連串 GPU 工作排程(scheduling)嘅新功能,主要集中喺兩樣嘢:locality domains 嘅 green context 分區,同 Multi-Process Service(MPS,多程序服務,即係一個 GPU 俾多個程序共用)嘅新版。

Green context 分區:要均分定要用盡?

locality domains 係將 GPU 嘅 streaming multiprocessor(SM,串流多處理器,即 GPU 內做運算嘅核心單元)按物理位置分組。CUDA 13.5 畀應用一個選擇:每個 domain 用統一數量嘅 SM(均勻、可預期),或者將每個 domain 剩低嘅 supplemental SM 都納入分區。後者用一個新 flag(cudaDevSmResourceGroupLocalityDomainSupplementalSms)配合 domain ID 啟用,好處係可以盡用整塊 GPU,但代價係各分區大小未必一致。

官方話,應用可以用 cudaDevSmResourceSplit() API 嘅「discovery mode」先探明每個分區有幾多 SM,再按實際數字分配工作。簡單講,就係叫你揀:要穩定可預期,定要盡量榨乾硬件。

MPS v3:排程更細,但係廠商聲稱

MPS 係 NVIDIA 嘅 GPU 共用機制,喺一個 GPU 上跑多個 workload。CUDA 13.5 嘅 MPS v3 加咗幾項功能:

  • Weighted timeslicing(加權時間片):令需要較多運算時間嘅 MPS server 獲較長嘅 time slice,可以按 server 獨立調整排程力度。
  • SM partition load balancing(分區負載平衡):一個分區冇 client 接喺上面嘅時候,可以將佢嘅 SM 「借出」俾其他分區用,借出同借入都獨立控制(--max-chunks 同 --shareable=true)。官方稱借出嘅資源會喺重新分配前收回。
  • Cgroup-based routing:將 Linux cgroup v2 嘅子樹映射到 MPS namespace,client 經 daemon 主 socket 連線時自動路由到正確嘅 namespace。
  • Per-namespace SM partition assignments:對每個 namespace 一次設定該分區嘅 SM 分配,之後經該 namespace 路由嘅 client 自動套用,唔使再逐個設 CUDA_MPS_SM_PARTITION 環境變數。
  • Polling-based memory accounting fallback:當 cgroup 記憶體會計機制唔可用時嘅備援機制(原文內容喺呢度被截斷)。

模姐驗嚇貨

呢篇係 NVIDIA 自己嘅產品通告,所有功能描述、排程邏輯、GA 狀態全部係廠商聲稱。冇獨立測試、冇用户回聲、冇性能數據。對於想喺生產環境上 Vera Rubin 嘅團隊,建議等第三方實測先出先再決定,或者自己用官方 API 做驗證。CUDA 生態系緊密鎖喺 NVIDIA 硬件,呢類工具更新對用其他平台嘅開發者而言影響有限。對用 CUDA 嘅開發者,locality domains 同 MPS v3 呢兩塊係值得跟住關注嘅,尤其係如果你嘅 workload 需要細粒度 GPU 資源管理。

模姐|深度調教