Version 21.1
Release Notes原文
当ページは原文の意訳となっております。
1. 新機能について
NVIDIA HPC SDKはCPU, GPU, インターコネクトといったHPCプラットフォーム全体のプログラム開発を可能にするコンパイラとライブラリの包括的パッケージです。
NVIDIA HPC SDK for Linux 21.1はバグ修正をメインとしたリリースです。Linux向けの新たな機能は主に以下の通りです。
- nvc++の診断出力ログはデフォルトで行を折り返しませんが、
--wrap-diagnostics
コマンドラインオプションを利用することで折り返しを有効化できます。 - コンパイラのbuilt-in type
__float128
を用いることで、x86-64 CPU上でのソフトウェアエミュレーションによるIEEE 128-bit 浮動小数点数の計算が可能になりました。 - Version 21.1はCUDA toolchain version 11.2, 11.0, 10.2を含みます。
- SDKに含まれる各ライブラリと開発ツールのコンポーネントを最新版に更新しました。
- 新しくコマンドラインオプション
-Msyntax-only
を追加しました。syntax, semanticのチェックおよびFortranモジュールファイル (.mod
) の生成のみを行います。 - nvfortranに
-Minline
オプションを追加しました。value
属性を持つ値渡しの引数を持つルーチンについて、対応する変数がスカラー変数である場合、インライン化されるようになりました。 - 各HPCコンパイラに以下の新たなコマンドラインオプションを実装しました。
-Minstrument-exclude-file-list
: instrumentation(計測対象)からリストに指定したファイルを除外します。-Minstrument-exclude-func-list
: instrumentation(計測対象)からリストに指定した関数を除外します。
2. リリースに含まれる各コンポーネントのバージョン
各コンポーネントについて、バージョン番号が記載されております。各バージョンについて詳細を確認したい場合は原文の表をご確認ください。
3. サポートされるプラットフォーム
3.1. プラットフォーム要件
Linuxディストリビューション、gcc/glibcの最低バージョン、CUDAドライバの最低バージョンが記載されております。
詳細は原文の表をご確認ください。
3.2. サポートされるCUDA Toolkitのバージョン
NVIDIA HPC SDKは、NVIDIA GPUを用いたプログラムをビルドする場合にCUDA Toolchainの機能を使用します。すべてのNVIDIA HPC SDKは必要なCUDAコンポーネントをインストールディレクトリにインストールします。インストール先のパスは [install-prefix]/[arch]/[nvhpc-version]/cuda です。
GPU用にコンパイルされたプログラムを実行するためには、GPU搭載システムにNVIDIA CUDA GPUデバイスドライバのインストールが必要です。NVIDIA HPC SDKにはCUDAドライバは含まれませんので、適切なCUDAドライバをNVIDIAからダウンロードする必要があります。
システムにインストールされたCUDAドライバのバージョンを確認するためにnvaccelinfoコマンドが利用できます。nvaccelinfoはドライババージョンを最初の行に出力します。
NVIDIA HPC SDK 21.1はCUDA toolchainとして以下のバージョンをインストールし、standaloneでサポートします。
- CUDA 10.2
- CUDA 11.0
- CUDA 11.2
11.1のstandaloneサポートが外れていますのでご注意ください。
NVIDIA HPC SDKの各HPCコンパイラでCUDA toolchainのバージョンを切り替えて使いたい場合、各コンパイラのユーザーガイドを参照ください。
4. 制限事項
comm_libs/mpi/bin
から直接MPI実行ファイルを起動する場合は、環境変数LD_LIBRARY_PATH
を明示的に設定してcompilers/lib
ディレクトリを含むようにするか、NVIDIA HPC SDKに含まれるモジュールファイルを使用してMPI実行ファイルにアクセスしなければなりません。- Intel Skylakeアーキテクチャ用にコンパイルを行う場合には、ターゲットプロセッサのコンパイラオプションとして
-tp skylake
を指定することをお勧めします。リンク時に-tp skylake
を指定するかはオプションです。 - cuda-gdbデバッガにおいて、一定でない境界を持つFortran配列は正しく処理されず、値を問い合わせた場合に誤った結果を表示します。CUDA FortranおよびOpenACCカーネルのステップ実行は部分的にサポートされていますが、正しくない行番号が表示されます。cuda-gdbの追加の一般的な制限についてはドキュメントを参照してください。
- コンパイラオプション
-stdpar
を使用してC++ Parallel algorithmを高速化する場合、各アルゴリズムは仮想関数や関数ポインタ、C++の例外は使用できず、ヒープを指すポインタのみを使用することができ、かつランダムアクセスイテレータでなければいけません。イテレータとしては生ポインタが最適に機能します。
5. 廃止事項
- NVIDIA HPC SDK 21.1はCUDA Compute Capability 3.5 (cc35) 以上をサポートします。
- NVIDIA HPC SDK 21.1はKNL (Knights Landing) アーキテクチャのマルチコアCPUサポートを非推奨とします。
- NVIDIA HPC SDK 21.1でppc64le (64-bit big-endien PowerPC) アーキテクチャのシステムにおけるUbuntu OSのサポートを終了します。