NVIDIA 發布了 CUDA 開發環境 CUDA 11.6 的最新版本。本版本的重點是增強 CUDA 應用程序的編程模型和性能。 CUDA 繼續推動 GPU 加速度的邊界,并為 HPC 、可視化、 AI 、 ML 和 DL 和數據科學中的新應用奠定基礎。
CUDA 11.6 有幾個重要特性。這篇文章概述了關鍵功能:
- GSP 驅動程序架構現在默認為圖靈和安培 GPU
- 新 API 允許禁用實例化圖中的節點
- 完全支持 128 位整數類型
- 協作組命名空間更新
- CUDA 編譯器更新
- Nsight Compute 2022.1 版本
CUDA 11.6 附帶 R510 驅動程序,這是一個更新分支。 CUDA 11.6 工具包可供下載 .
GSP 驅動程序體系結構
GSP 驅動程序體系結構現在是所有列出的圖靈和安培 GPU 的默認驅動程序模式。較舊的驅動程序體系結構作為后備支持。有關更多信息,請參閱 R510 驅動程序自述 。
實例化的圖形節點 API 添加
我們添加了一個新的 API cudaGraphNodeSetEnabled
,以允許禁用實例化圖中的節點。在此版本中,支持僅限于內核節點。相應的 API cudaGraphNodeGetEnabled
允許查詢節點的啟用狀態。我們還添加了禁用空內核圖節點啟動的功能。
128 位整數支持
CUDA 11.6 包括 128 位整數(__int128)
數據類型的完整版本,包括編譯器和開發工具支持。主機端編譯器必須支持__int128
類型才能使用此功能。
協作組名稱空間
協作組名稱空間已更新為新函數,以提高命名、函數范圍以及單元維度和大小的一致性。
Implicit Group/Member | Threads | Blocks |
thread_block:: |
dim_threads num_threads thread_rank thread_index |
(Not needed) |
grid_group:: |
num_threads thread_rank |
dim_blocks num_blocks block_rank block_index |
CUDA 編譯器
- 在編譯過程中向目標安裝的 GPU 添加了
-arch=native
編譯選項。這擴展了現有的-gencode=arch=compute_xx,code=sm_xx
體系結構規范 - 添加從
nvlink
創建 PTX 文件的功能
不推薦的功能
- 不推薦使用用于設備上 fork 和 join 并行的
cudaDeviceSynchronize()
,以便為具有更高性能的替換編程模型做準備。這些函數在本版本中繼續工作,但這些工具會發出有關即將發生的更改的警告。 - CentOS Linux 8 已經到了生命的盡頭 在 2021 年 12 月 31 日,對這個操作系統的支持現在在 CUDA 工具包中被棄用。 CentOS Linux 8 支持將在未來版本中完全取消。
額外資源
- GTC 會議:
- CUDA 新功能及更多功能 ,作者:斯蒂芬·瓊斯
- 幾乎毫不費力的 CUDA 圖 ,作者:羅布·范德維恩加特和姚家杰
- 深入研究最新的 HPC 軟件 作者:蒂姆·科斯塔
- 多 GPU 編程模型 ,作者: Jiri Kraus
- 博客帖子:
- 在 CUDA 11.5 工具包中展示新功能
- 使用 C++編譯輔助工具減少應用程序生成時間
- 在動態環境中使用 CUDA 圖 ,作者: Rob Van der Wijngaart
- Nsight 開發人員工具的完整概述 作者: Chaitrali Josh
?