NVIDIA每次發布CUDA Toolkit
都會帶來功能更新和性能提升,幫助開發者更充分地利用NVIDIA GPU及更廣泛的NVIDIA軟體平台。
CUDA Toolkit 13.4新增了對Arm版Windows
的支持。此前,CUDA應用長期通過Linux系統支持Arm平台;本次更新將這一能力擴展到了Arm版Windows平台。
此次發布還引入了對NVIDIA Rubin
GPU架構的早期開發者支持、增強的GPU管理能力、擴展的CUDA Python
和CCCL
功能,以及NVIDIA Nsight
開發者工具和核心數學庫的更新。
CUDA 13.4增強功能
本節詳細介紹CUDA 13.4的其他增強功能。
預覽版:開發者可訪問NVIDIA Rubin
CUDA Toolkit 13.4以預覽形式新增了對NVIDIA Rubin架構(計算能力107)的功能支持,使開發者能夠在CUDA Toolkit未來版本正式支持Rubin之前,提前開始移植應用程式。Rubin是驅動智能體AI時代的下一代GPU架構。
多進程服務V3
多進程伺服器(MPS)V3為CUDA MPS引入了現代化的控制層,簡化了共享GPU資源的自動化和管理。此更新為開發者和編排層提供了可腳本化的命令行界面、命名伺服器實例以及用於組織並發工作負載的命名空間。同時新增了TOML配置支持、流式多處理器(SM)分區控制以及cgroup集成的GPU內存限制。這些能力實現了精確的GPU分區,能夠以編程方式定義計算性能、內存邊界和執行優先級。此版本確保MPS能夠集成到容器化環境中,在最大化硬體利用率的同時,為每個進程保持嚴格的資源隔離。
CUDA計算結構傳輸
CUDA計算結構傳輸(CFT)為高級應用和通信庫提供了一種以傳輸為中心的方式,可大規模跨NVIDIA NVLink結構移動數據。軟體無需將每個遠程GPU分配映射到進程的虛擬地址空間,而是可以使用端點ID和偏移量定位命名的邏輯端點,然後直接從GPU發出異步的put、get和歸約操作。
這種方法降低了大型多GPU系統中的虛擬地址壓力,支持單播和多播通信模式,並報告完成和錯誤狀態,使應用程式能夠檢測、重試或重新路由失敗的結構傳輸。
CFT僅通過CUDA驅動API提供,主要面向需要更高級通信庫無法提供的特定功能的通信庫開發者。大多數應用開發者最好使用NVIDIA NCCL
或NVSHMEM等庫。
局部性域
CUDA 13.4開放了對局部性域的編程訪問。局部性域是GPU中包含流式多處理器(SM)和設備內存的一部分。應用程式可以在局部性域中分配設備內存,並在同一局部性域中創建具有SM資源的綠色上下文。在具有多個局部性域的設備上,將計算與其訪問的內存共置可以提升性能。
查詢統一內存的位置
針對統一內存駐留資訊的API支持,為性能敏感型庫和運行時提供了一種直接方式,用於了解託管數據或系統分配數據當前所在的位置。統一內存簡化了異構編程,但高性能軟體仍需要局部性感知能力,以避免不必要的頁面遷移、遠程內存訪問或低效的暫存路徑。通過駐留查詢,CUDA應用程式和庫能夠更智能地決定何時何地調度計算和數據移動。
CUDA驅動與CUDA工具包解耦
CUDA SDK安裝程序不再捆綁NVIDIA驅動程式。請使用您偏好的包管理器單獨安裝適當的nvidia-open驅動或cuda-toolkit軟體包。
一致性平台默認採用基於驅動的一致性內存管理
在NVIDIA Grace Hopper、NVIDIA Grace Blackwell和NVIDIA Vera Rubin等一致性平台上,驅動程式現在默認使用基於驅動的一致性內存管理(CDMM)而非NUMA。NUMA模式仍完全受支持,可通過核心模組參數選擇。如果計劃使用該模式,請在升級前進行更改。這是一個節點級設置,需要重新加載驅動或重啟才能生效,應在升級前做出選擇。
編譯器/NVCC
主機編譯器兼容性現已包括受支持主機平台上的GCC 16和Clang 22。新的SM_107架構目標支持針對Rubin GPU的編譯。
CUDA Python
CUDA Python擴展了對核心CUDA API和高性能算法的Python化訪問,並在開發工具、內存管理、圖工作流和應用可移植性方面進行了更新。
cuda.core
在CUDA Python 1.0發布之後,cuda.core 1.1.0進一步擴展了穩定的Python化CUDA API,新增了紋理和表面編程、更豐富的託管內存控制、改進的CUDA圖集成,以及供開發工具和智能體使用的完整類型資訊。
紋理和表面編程
新的cuda.core.texture模組為CUDA紋理和表面內存提供了一流的Python API。OpaqueArray和MipmappedArray表示硬體布局的GPU分配,TextureObject支持無綁定、硬體過濾的核心讀取,SurfaceObject支持帶類型的核心端加載和儲存操作。
NUMA感知的託管內存
ManagedMemoryResource.allocate()現在返回帶有基於屬性接口的ManagedBuffer,用於CUDA內存建議。應用程式可以配置只讀數據、首選放置位置和處理器訪問權限。
新的Host類型在指定內存位置時對Device起補充作用,可以表示任意主機內存、特定的NUMA節點,或與調用線程相關聯的NUMA節點。
改進的開發和圖工作流
cuda.core 1.1為每個公共API提供了.pyi類型存根,使IDE具備自動補全能力,並讓編碼智能體能夠訪問類型資訊、函數簽名、返回類型等。
在眾多CUDA圖工作流改進中,GraphBuilder.graph_definition將捕獲的圖公開為GraphDefinition。開發者可藉此將流捕獲與顯式圖構建相結合,包括檢查或擴展已捕獲的圖。
其他新增功能包括特定設備的NVLink枚舉、擴展的綠色上下文工作隊列配置、Program和ObjectCode的類路徑輸入,以及公共的Buffer.size屬性。此版本還加強了IPC驗證、自由線程Python的正確性,以及CUDA進程檢查點恢復功能。
cuda.compute
cuda.compute提供了對NVIDIA CUDA核心計算庫(CCCL)高性能、可定製GPU算法的Python化訪問,包括排序、掃描、歸約、變換等。
cuda.compute 1.1支持對多個GPU架構的算法對象進行提前編譯(AoT),甚至可以在沒有GPU的構建系統上完成。ProxyArray和ProxyValue在不分配設備內存的情況下描述參數類型,而serialize()則創建可儲存和部署的構件。在目標系統上,deserialize()無需重新編譯即可恢復算法,並加載與當前GPU架構匹配的構建版本。
CCCL
CUDA 13.4搭載了CCCL 3.4,具備NVIDIA Blackwell GPU上更快的cub::DeviceScan、CUB設備級算法的單次調用API、批量warp歸約,以及cuda::std中熟悉的C++標準庫並行算法。
NVIDIA Blackwell GPU上更快的設備級掃描
Blackwell架構現已提供針對cub::DeviceScan的新型warp專用實現。該實現利用張量內存加速器(TMA)來重疊內存移動與計算,同時降低同步開銷。
在NVIDIA Blackwell GPU上的基準測試結果顯示,新的cub::DeviceScan::Sum實現在測試的數據類型中,內存頻寬利用率最高可達92%(此前實現約為50%)。該實現針對大規模掃描工作負載進行了優化,同時為不支持的架構、數據類型、疊代器和工具鏈保留了回退方案。
CUB設備級算法的單次調用API
CCCL 3.4完成了在CUB設備級算法中推出基於執行環境的單次調用重載的工作。此前,應用程式通常需要先調用一次CUB算法以確定其臨時儲存需求,分配該儲存後,再次調用算法執行操作。新的重載從通過執行環境提供的內存資源中獲取臨時儲存。
這減少了樣板代碼,同時集中控制了算法如何執行以及如何獲取臨時儲存。傳統的兩階段API並未被棄用,仍可供需要顯式儲存管理的應用程式使用。
warp內的批量歸約
新引入的CUB warp級集合操作cub::WarpReduceBatched,用于歸約分布在一個warp中的多個獨立值批次。它將這些批次一起處理,最大限度減少shuffle操作,並提高每個warp執行的有效工作量。
GPU上的並行C++標準庫算法
CUDA 13.4在cuda::std中引入了C++標準庫並行算法模型。開發者可以使用cuda::execution::gpu執行策略調用數十種熟悉的算法,包括copy_if、find_if、merge、reduce和transform、scan等操作。
這些算法作用於設備可訪問的範圍,底層使用CCCL和CUB實現。這為CUDA C++開發者提供了標準、易識別的GPU執行接口,同時通過可定製的執行策略保留了對流和內存資源等CUDA特定功能的訪問。
CUDA Tile IR迎來程序化依賴啟動
對CUDA Tile IR的程序化依賴啟動(PDL)支持實現了同一CUDA流上核心間的重疊執行,使依賴核心能夠在其前驅核心完成之前開始執行。
CUDA Tile C++中的新視圖
CUDA Tile C++引入了用於加載和儲存數據的額外視圖。
跨步視圖創建靜態大小的數據塊,塊之間的間距由編譯時的跨步因子決定,便於實現模板類操作中常見的數據訪問模式。
聚集散射視圖支持訪問數組中不相鄰的數據塊,便於處理具有稀疏訪問模式的數據。
開發者工具
以下是若干開發者工具增強功能。
Nsight Python
Nsight Python 1.0是一個Python核心性能分析接口,利用NVIDIA Nsight工具自動化跨多種核心配置的性能分析。裝飾器和上下文管理器使核心基準測試、架構指標收集、防止GPU限流以及性能可視化能夠在一個腳本中完成,無需樣板代碼,無需手動解析報告。Nsight Python以極小的代碼開銷提供可擴展的架構指標,而不僅僅是牆鍾時間。
NVIDIA Nsight Compute
Nsight Compute 2026.3為CUDA Tile工作負載新增了Tile IR支持,使開發者能夠在源代碼頁面檢查Tile IR,並將其與CUDA Tile源代碼及生成代碼相關聯。此版本還改進了OptiX工作負載的寄存器溢出資訊,並增強了Nsight Copilot功能。
NVIDIA Nsight Systems
Nsight Systems 2026.5.1擴展了跨CUDA、CPU、AI框架、網路和儲存的平台覆蓋範圍與工作負載可見性。此Web版本新增了對CUDA 13.4、Rubin GPU和Arm版Windows的支持,還將NVTX範圍投射到"所有流"層級中,對cuTile名稱進行反混淆處理,並在時間線上顯示通過CiG流提交的CUDA工作負載。
CPU指標集將相關硬體計數器分組,實現單次採集,幫助開發者通過自頂向下指標集逐步定位瓶頸。針對PyTorch工作負載,新的--pytorch=functions-trace-shapes選項為跟蹤函數添加張量形狀和訓練參數等資訊。開發者可以在形狀跟蹤提供的額外細節與現有函數跟蹤選項的更低開銷之間進行選擇。
網路、儲存與集群性能分析
網路性能分析新增了通過NVIDIA DOCA遙測服務採集高頻網卡指標的能力,使開發者能夠在無需提升權限的情況下,將流量、擁塞通知和發送等待與應用活動相關聯。新的NCCL落後者分析方案能夠分析集合通信時序,識別反覆延遲通信器進度的計算節點。
儲存性能分析現已包括S3訪問匯總分析方案,可匯總跨進程和主機的訪問模式與I/O統計資訊,幫助識別熱點儲存桶和對象、頻繁的小規模傳輸以及工作負載不均衡問題。NVIDIA SCADA指標性能分析將來自SCaled Accelerated Data Access儲存架構的計數器和直方圖納入時間線,開發者可以藉此將儲存伺服器活動與GPU和CPU事件相關聯。
針對多節點和集群性能分析,實驗性的vClock插件在無法使用PTP等高精度同步方式時,無需更改系統時鐘或需要提升權限,即可改善報告對齊效果。
二進制負載與插件開發
NVTX二進制負載現可導出為動態關係表,負載欄位以列的形式表示,便於在SQLite、Arrow以及Arrow/Parquet格式中進行下游分析。Nsight Systems插件框架還新增了初始化階段、進程退出回調API,以及在子進程中加載插件庫的能力。開發者可以在應用程式啟動前初始化數據採集,捕獲關閉期間產生的數據,並將性能分析覆蓋範圍擴展到子進程。
NVIDIA Nsight Cloud
Nsight Cloud使在遠程無頭系統上查看和分析性能分析報告變得更加容易。Nsight Operator在分析、OpenTelemetry和NVIDIA Dynamo方面進行了改進,並配備了全新的文檔站點。
NVIDIA Nsight AI
Nsight AI將專業化的AI輔助能力引入加速計算開發工作流。NVIDIA託管的CUDA MCP伺服器將受支持的AI編碼智能體連接到最新的CUDA文檔和代碼示例,而開源的Nsight Copilot藍圖則為希望在自有環境中部署和運行的團隊提供了自託管的CUDA AI後端。
NVIDIA Compute Sanitizer
Compute Sanitizer在Hopper及更新架構上改進了共享內存越界檢測能力,並支持編譯時修補。Initcheck現已支持批量異步內存拷貝,racecheck支持按集群塊過濾。
NVIDIA核心數學庫
CUDA Toolkit 13.4中的核心數學庫現已具備對Rubin GPU架構的功能支持,並為N1X筆記本電腦生態系統提供了Arm版Windows支持。
13.4版本中cuBLAS的更新包括以下特性:
cuBLAS通過使用Ozaki-II方案的定點仿真提升了雙精度性能。
在Blackwell數據中心GPU上,cuBLASLt動態地在流式多處理器(SM)間調度分組GEMM計算,以最大限度減少常見MoE工作負載中的負載不均衡問題。與早期工具包版本相比,這種方法提升了具有大量分組(例如32個)的分組GEMM調用的性能,也能在分組GEMM操作與其他設備核心並發運行時提升性能。
cuBLASLt新增了實驗性縮放模式CUBLASLT_MATMUL_MATRIX_SCALE_VEC32_MN_K4_UE8M0和CUBLASLT_MATMUL_MATRIX_SCALE_VEC128_MN_K4_UE8M0,採用支持A和B FP8精度張量的替代縮放因子布局。這些模式以4為一組打包縮放因子,並以M維或N維為主儲存。當主維不能被4整除時會添加填充。
開始使用CUDA Toolkit 13.4
CUDA Toolkit 13.4通過新增Arm版Windows支持、NVIDIA Rubin GPU架構預覽支持、更新的GPU資源管理與通信能力,以及CUDA Python、CCCL、NVIDIA Nsight開發者工具和核心數學庫方面的增強功能,進一步擴展了CUDA開發能力。
開發者可下載CUDA Toolkit 13.4,並查閱CUDA Toolkit 13.4發布說明,了解完整的功能列表、支持平台和兼容性資訊。
Q&A
Q1:CUDA Toolkit 13.4有哪些主要新特性?
A:主要新增了對Arm版Windows的支持、NVIDIA Rubin GPU架構的預覽支持、多進程服務V3、CUDA計算結構傳輸、局部性域訪問,以及CUDA Python、CCCL和Nsight開發者工具的多項增強。
Q2:CUDA Toolkit 13.4是否支持NVIDIA Rubin架構?
A:是的,CUDA Toolkit 13.4以預覽形式提供了對NVIDIA Rubin架構(計算能力107)的功能支持,使開發者能夠提前開始移植應用程式,Rubin正式支持將在未來版本中實現全面可用。
Q3:多進程服務V3(MPS V3)能帶來什麼改進?
A:MPS V3引入了現代化控制層,提供可腳本化命令行界面、命名伺服器實例和命名空間,新增TOML配置支持、SM分區控制及cgroup集成的GPU內存限制,實現更精確的GPU資源分區與隔離管理。






