• <xmp id="om0om">
  • <table id="om0om"><noscript id="om0om"></noscript></table>
  • 數據科學

    CUDA 工具包現已支持 NVIDIA Blackwell 架構

    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% 的相對峰值性能。

    Bar graph chart showing the relative peak performance comparing different input data types like FP4, FP8, INT8, TF32, BF16 and FP16, as being over 90% peak performance. All the bars are green in color.
    圖 1. Blackwell CUTLASS GEMM 性能相對于預期峰值,可提供高達 98% 的 Blackwell 峰值性能

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

    Bar chart showing that CUTLASS Grouped GEMM performance for MoE inference used in DeepSeek delivers up to 5x more performance on Blackwell compared to Hopper at various precisions.
    圖 2、與 Hopper 相比,DeepSeek 中使用的用于 MoE 推理的 CUTLASS 分組 GEMM 性能在 Blackwell 上在各種精度下的性能提升高達 5 倍

    NVIDIA Nsight 開發者工具

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

    This block diagram shows the flow of Tensor Core Operations accessing Tensor Memory and the performance results.
    圖 3、Nsight Compute 內存圖中的 Tensor 內存流量

    它還對日益流行的范圍分析功能進行了多項改進。用戶現在可以在已分析的范圍內收集源級指標,包括已執行指令和內存訪問信息。此更新還啟用了針對范圍的引導分析規則評估。這種用于識別性能問題的內置專業知識是 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 用戶提供:

    1. CUDA Python 已發布名為 cuda.core 的新慣用對象模型的早期原型,并將 CUDA 綁定移至子模塊 cuda.bindings。有關更多信息,請參閱 NVIDIA/cuda-python GitHub 存儲庫中的文檔。
    1. CUDA 核心計算庫 ( CCCL ) 已發布用于并行和協作算法的早期 Python 原型,使您能夠使用線程級并行性以及來自純 Python 代碼的用戶定義類型和函數。詳細了解 CCCL。

    此外,CuPy 團隊還將發布新版本,其中的 Blackwell 補丁經過驗證,現已全面推出。

    功能齊全的架構

    在 CUDA 工具包 12.8 版本中,我們現在認為 Maxwell、Pascal 和 Volta 架構功能齊全,并且即將發布的版本將凍結對這些架構的支持。

    這意味著,在未來的版本中,不會向驅動添加任何新功能來啟用支持 Maxwell、Pascal 和 Volta 架構的新 CUDA 工具包功能。最終用戶將能夠在其生命周期中使用受支持的即將推出的 LTS 驅動分支,在 Maxwell、Pascal 和 Volta 架構上運行現有的軟件堆棧和應用。

    從版本 12.8 開始,開發者在運行針對這些架構的離線編譯器時,將在使用 nvccnvrtcnvjitlink 時輸出警告消息。

    在下一個主要 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。

    ?

    0

    標簽

    人人超碰97caoporen国产