NVIDIA は、 CUDA 開発環境の最新リリースである CUDA 11.6 を発表しました。今回のリリースは、プログラミング モデルとアプリケーションのパフォーマンスの向上に焦点を当てています。 CUDA は、 GPU アクセラレーションの限界を押し広げ、HPC、ビジュアライゼーション、AI、ML と DL、データ サイエンスにおける新しいアプリケーションの基礎を築き続けます。
CUDA 11.6 にはいくつかの重要な機能があります。この記事では、主な機能の概要をご紹介します。
- GSP ドライバー アーキテクチャのデフォルトが Turing と Ampere GPU に変更
- インスタンス化されたグラフのノードを無効にするための新しい API
- 128 ビット整数型のフル サポート
- Cooperative groups の名前空間の更新
- CUDA コンパイラ アップデート
- Nsight Compute 2022.1 リリース
CUDA 11.6 にはアップデート ブランチである R510 ドライバーが同梱されています。 CUDA 11.6 ツールキットこちらからダウンロード可能です。
GSPドライバー アーキテクチャ
GSP ドライバー アーキテクチャは、対応しているすべての Turing および Ampere GPU に対して、ドライバー モードのデフォルトになりました。古いドライバー アーキテクチャはフォールバックとしてサポートされています。詳細については、 R510 Driver Readme を参照してください。
インスタンス化されたグラフノード を操作するAPI の追加
新しい API cudaGraphNodeSetEnabled
の追加により、インスタンス化されたグラフのノードを無効化にできるようになりました。本リリースでは、サポート対象をカーネル ノードに限定しています。 また、対応する API cudaGraphNodeGetEnabled
により、ノードの有効状態を問い合わせることができます。また、NULL カーネル グラフノードの起動を無効にする機能も追加されました。
128 ビット整数対応
CUDA 11.6 では、128 ビット整数の (__int128)
データ型が、コンパイラや開発ツールのサポートを含め、すべての機能がリリースされました。この機能を使用するには、ホスト側のコンパイラが __int128
データ型をサポートしている必要があります。
Cooperative groups の名前空間
Cooperative groups の名前空間が更新され、名前、機能の範囲、ユニットの寸法とサイズの一貫性を向上させるために新しい機能が追加されました。
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 ファイルを作成する機能を追加。
非推奨の機能
- デバイス上でのフォークとジョインを用いた並列処理における
cudaDeviceSynchronize()
の使用は、より高い性能を持つ代替プログラミング モデルに備えて非推奨となりました。このリリースでは、これらの関数は引き続き動作しますが、ツールでは今後の変更についての警告が出されます。 - 2021 年 12 月 31 日に CentOS Linux 8 has reached End-of-Life がリリースされ、CUDA Toolkit の利用は、非推奨となりました。CentOS Linux 8 のサポートは、将来のリリースで完全に削除される予定です。
関連情報
- GTC セッション:
- CUDA New Features and Beyond, Stephen Jones
- Nearly Effortless CUDA Graphs, Rob Van der Wijngaart, Jiajie Yao
- A Deep Dive Into the Latest HPC Software, Tim Costa
- Multi-GPU Programming Models, Jiri Kraus
- ブログ記事:
翻訳に関する免責事項
この記事は、「CUDA 11.6 Toolkit New Release Revealed」の抄訳で、お客様の利便性のために機械翻訳によって翻訳されたものです。NVIDIA では、翻訳の正確さを期すために注意払っておりますが、翻訳の正確性については保証いたしません。翻訳された記事の内容の正確性に関して疑問が生じた場合は、原典である英語の記事を参照してください。