CUDA 工具包 的最新版本 (版本 12.8) 使用最新的 NVIDIA CPU 和 GPU,持續提升數據科學、AI、科學計算以及計算機圖形和模擬領域的加速計算性能。本文重點介紹了此版本包含的一些新功能和增強功能:
- NVIDIA Blackwell 架構支持
- CUDA 圖形處理條件節點增強功能
- 用于大語言模型(LLMs)的 Blackwell CUTLASS 內核
- NVIDIA Nsight 開發者工具更新
- 數學庫更新
cudaStreamGetDevice
- 編譯器更新
- 加速 Python 更新
- 功能齊全的架構
NVIDIA Blackwell 架構支持
CUDA 工具包 12.8 是該工具包的第一個版本,在整個開發者工具套件 (包括性能工具和分析器、庫和編譯器) 中支持 NVIDIA Blackwell 架構。Blackwell 由 208 億個晶體管構建而成,是 NVIDIA Hopper GPU 中晶體管數量的 2.5 倍以上,是迄今為止最大的 GPU。
Blackwell 支持的主要功能包括:Key Blackwell
- 采用自定義 Tensor Core 技術的第二代 Transformer 引擎:加速 LLM 和 mixture-of-experts (MoE) 模型的推理和訓練。
- 解壓縮: 使用 LZ4、Snappy 和 Deflate 等最新壓縮格式,加速數據分析和數據科學工作流的性能。
- 網絡互連:NVLink 和 NVLink Switches 加速萬億參數和數萬億參數 AI 模型的 GPU 間通信性能。
如需詳細了解 NVIDIA Blackwell 的領先創新,請參閱 NVIDIA Blackwell 架構技術概覽。
使用運行時核選擇將 CUDA Graphs 速度提升 2 倍,從而降低延遲推理
借助 Blackwell,CUDA Graphs APIs 仍然是啟動 GPU 操作序列重復調用的最高效方式。CUDA Toolkit 12.8 為 CUDA Graphs 引入了更多增強功能,包括其他 條件節點類型 。
在許多應用程序中,對 CUDA Graphs 中工作的執行進行動態控制可以提高圖形啟動的性能和靈活性。例如,一種算法需要多次迭代一系列運算,直到結果收到某個值以下,現在這種算法無需進行 CPU 控制管理即可完全在 GPU 上運行,從而將開銷降低高達 2 倍。CUDA Toolkit 12.8 改進了用于條件圖形節點運行時控制的 API。
條件節點包含圖形的片段,這些片段可以在圖形運行時根據要評估的條件執行或跳過。此類片段可以評估一次 (IF 節點),也可以在循環中重復評估 (WHILE 節點)。CUDA 12.8 增加了對兩種新型條件圖形節點的支持:IF/ELSE 組合節點和 SWITCH 節點。
借助 Blackwell 架構,我們改進了 LLM 性能,使包括 DeepSeek-R1 在內的所有推理模型受益。與返回 CPU 進行啟動決策相比,CUDA Graphs 增強的 SWITCH 和 IF/ELSE 支持可將運行時內核選擇的性能提高 2 倍。
- 訓練:通過減少內核選擇對 CPU 的依賴,訓練工作負載可維持更多的 GPU Tensor Core 吞吐量,從而提高模型 FLOPS 利用率(MFU)。這提高了使用相同的 GPU 基礎架構的性能,減少了訓練時間和成本。
- 推理:對于使用測試時計算的新一代推理模型 ,高令牌生成速率至關重要,因為每個推理請求都可以在每個查詢中生成大量令牌。CUDA 12.8 新流 API 可減少對主機 CPU 的調用,從而縮短一次內核處理與下一次啟動之間的時間,從而提高令牌生成率。這會在固定時間預算內生成更多 token,幫助模型推理更多并提高智能。
如需了解詳情, 請參閱使用條件節點的 CUDA 圖形中的動態控制流。
適用于 LLMs 的 Blackwell CUTLASS 內核
自 2017 年首次推出以來, CUTLASS 一直在推動研究人員和開發者在 NVIDIA GPUs 上實施高性能 CUDA 核函數。通過為開發者提供全面的工具來設計自定義操作 (例如 GEMMs 和 Convolutions),CUTLASS 在開發硬件感知算法方面發揮了至關重要的作用,推動了 FlashAttention 等幫助激發現代 AI 的突破。
隨著支持 CUDA 12.8 的 CUTLASS 3.8 的發布,NVIDIA 將擴展對 Blackwell 架構的支持,使開發者能夠利用新一代 Tensor Core 來支持所有新的數據類型。這包括新的窄精度 MX 格式和 NVIDIA 開發的 FP4 格式,可提高計算吞吐量。圖 1 顯示,對于 Tensor Core 運算,CUTLASS 可實現高達 98% 的相對峰值性能。

對于 DeepSeek-V3 和 DeepSeek-R1,分組的 GEMM 在推理期間所需的 MoE 計算中占很大比例。這些運算支持在單個持久性核函數啟動中對不同的矩陣大小、縮放系數和融合進行分組和并行化。借助 CUTLASS,在 Blackwell 以 FP4,Grouped GEMM 內核性能增加高達 5 倍,相比使用 FP16 的 H200。

NVIDIA Nsight 開發者工具
NVIDIA Nsight Compute 2025.1 是首個支持 Blackwell 架構的官方版本。更新包括顯存圖表中 Blackwell 硬件 Tensor 內存的可視化,以及 Tensor Core 性能數據。

它還對日益流行的范圍分析功能進行了多項改進。用戶現在可以在已分析的范圍內收集源級指標,包括已執行指令和內存訪問信息。此更新還啟用了針對范圍的引導分析規則評估。這種用于識別性能問題的內置專業知識是 NVIDIA Nsight Compute 的關鍵組件。此版本報告了內核堆棧大小,并添加了自定義工具提示,以幫助用戶了解其工作負載性能。
此版本的 Compute Sanitizer 是一款自動正確性檢查工具,增加了對 Python 調用堆棧的支持,可在通過 Python 應用啟動內核時準確定位內核正確性問題。此外,用于 Blackwell 的新 Tensor Core MMA 護欄可以報告與 Tensor Core 編程相關的錯誤。在編譯程序時,可以通過添加 PTXAS 標志 -g-tmem-access-check
來啟用這些功能。常見錯誤的示例包括訪問未分配的 tensor 內存、無效的地址以及使用無效的分配器。
數學庫更新?
借助 CUDA 工具包 12.8,我們獲得了一些新的增強功能庫,這些增強功能利用了新的 Blackwell 架構,并有助于加速 AI、數據科學、圖形和仿真以及高性能科學計算領域的應用程序。
新功能?
- cuBLAS
- API 經過擴展,支持微縮 4 位和 8 位浮點混合精度張量核心加速矩陣乘法,可實現 10.0(Blackwell)及更高版本的計算能力。
- 為 Windows x64 上的 NVIDIA Ampere GPU 架構和 Blackwell GeForce 級 GPU 引入了對 CUDA in Graphics (CIG) 的初步支持。現在,系統會自動檢測 CIG 上下文,并且 cuBLAS 會選擇符合 CIG 共享內存使用限制的內核。
- cuSOLVER 現在支持 zsytrf/zsytrs,這是一款無需旋轉的復雜對稱直接求解器。
- nvJPEG 現在支持 Tegra 架構。
- NPP 現在為 DRIVE Thor 架構提供支持。
cudaStreamGetDevice
?
應用程序通常使用 CUDA 流提供對 GPU 資源的有序訪問。CUDA 流實例與固定的 CUDA 設備相關聯。在用于處理多臺設備的應用中,在某些情況下,為給定流獲取底層設備的句柄有助于根據設備特性定制應用。
以前,CUDA API 沒有提供檢索與 CUDA 流關聯的設備的機制;開發者必須自行追蹤。添加 cudaStreamGetDevice
CUDA API 以檢索與 CUDA 流關聯的設備,可以簡化應用。
編譯器更新?
新的編譯器更新包括以下內容:
- CUDA 工具包 12.8 版本引入了對作為主機端編譯器的 GCC 14 的支持。
- 現在,Blackwell 架構的默認高級優化器基于 LLVM 18
nvdisasm
現在支持發射 JSON 格式的 SASS 反匯編。
加速 Python 更新?
以下兩個測試版現已面向 Python 用戶提供:
- CUDA Python 已發布名為
cuda.core
的新慣用對象模型的早期原型,并將 CUDA 綁定移至子模塊cuda.bindings
。有關更多信息,請參閱 NVIDIA/cuda-python GitHub 存儲庫中的文檔。
- CUDA 核心計算庫 ( CCCL ) 已發布用于并行和協作算法的早期 Python 原型,使您能夠使用線程級并行性以及來自純 Python 代碼的用戶定義類型和函數。詳細了解 CCCL。
此外,CuPy 團隊還將發布新版本,其中的 Blackwell 補丁經過驗證,現已全面推出。
功能齊全的架構
在 CUDA 工具包 12.8 版本中,我們現在認為 Maxwell、Pascal 和 Volta 架構功能齊全,并且即將發布的版本將凍結對這些架構的支持。
這意味著,在未來的版本中,不會向驅動添加任何新功能來啟用支持 Maxwell、Pascal 和 Volta 架構的新 CUDA 工具包功能。最終用戶將能夠在其生命周期中使用受支持的即將推出的 LTS 驅動分支,在 Maxwell、Pascal 和 Volta 架構上運行現有的軟件堆棧和應用。
從版本 12.8 開始,開發者在運行針對這些架構的離線編譯器時,將在使用 nvcc
、nvrtc
和 nvjitlink
時輸出警告消息。
在下一個主要 CUDA 工具包版本中,將從編譯器中刪除對 Maxwell、Pascal 和 Volta 架構的離線編譯支持。即將推出的用于生產應用程序執行的 LTS 驅動以及 Maxwell、Pascal 和 Volta 應用程序的 JIT 編譯將在正常的 3 年期 LTS 支持窗口期內獲得支持。
如需了解更多詳情,請參閱 CUDA Toolkit 12.8 版本說明 。
總結?
CUDA 工具包 12.8 版本為 NVIDIA Blackwell 架構提供完整的功能支持。無論您是使用 C++ 還是 Python 開發應用程序,此版本都將繼續為最新的 NVIDIA GPU、加速庫、編譯器和開發者工具提供增強支持。
想要了解更多信息?查看 CUDA 文檔 ,瀏覽最新的 NVIDIA Deep Learning Institute (DLI) 產品 ,并訪問 NGC 目錄 。在 CUDA Developer Forums 中提出問題并加入對話。
致謝?
感謝以下 NVIDIA 貢獻者:Stephen Jones、Jackson Marusarz、Becca Zandstein、Andy Terrel、Ashraf Eassa、Matt Nicely 和 Mridula Prakash。
?