Version 21.9
Release Notes原文
当ページは原文の意訳となっております。
1. 新機能について
NVIDIA HPC SDK 21.9にようこそ。NVIDIA HPC SDKはCPU, GPU, インターコネクトといったHPCプラットフォーム全体のプログラム開発を可能にするコンパイラとライブラリの包括的パッケージです。
HPC SDKの21.9リリースでは 主に 以下の修正が含まれます。
- 重要な性能改善と障害修正
- NVIDIA HPC SDKはCUDA toolchain 11.4 Update 1, 11.0 および 10.2を包含します。
2. リリースに含まれる各コンポーネントのバージョン
各コンポーネントについて、バージョン番号が記載されております。各バージョンについて詳細を確認したい場合は原文の表をご確認ください。
3. サポートされるプラットフォーム
3.1. プラットフォーム要件
x86_64向けのHPCコンパイラで作成されたプログラムは、Sandy Bridgeおよび新しいインテルCPUやBulldozerおよび新しいAMDのCPUを含むAVX命令を必要としています。POWERアーキテクチャの POWER 8 およびPOWER 9 CPUがサポートされています。ArmアーキテクチャではArm v8.1アーキテクチャが最小要件です。
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コマンドが利用できます。
NVIDIA HPC SDK 21.9は以下のtoolcainを含みます。
- CUDA 10.2
- CUDA 11.0
- CUDA 11.4 update 1
CUDA driverのバージョンの最小要件はSection 3.1を参照ください。
4. 制限事項
- 固定境界でないFortran配列のデバッグ情報を正しく扱うことができず、値を参照した場合に誤った結果となります。CUDA fortranとOpenACCカーネルのステップ実行は部分的にサポートされていますが、誤った行番号が表示されます。cuga-gdbの一般的な制限事項についてはcuda-gdbのドキュメントを参照ください。
- C++の並列アルゴリズムを高速化するために-stdparを利用する場合、アルゴリズムの呼び出しにおいて、仮想関数呼び出しや、関数ポインタによる関数呼び出し、C++例外を含むことができません。ヒープを指すデリフェレンスポインタのみを利用し、ランダムアクセスイテレータを利用する必要があります(通常のポインタをイテレータとするのが最善です)。
- 並列コードの生成に、nvc++ -stdpar=multicoreを使用した場合に、同じ翻訳単位においてOpenMP pragmaが有効化されます。
5. 廃止事項
- NVIDIA HPC SDK 21.11から、HPC-XパッケージはPOWER向けのパッケージには含まれません。
- 現在のデフォルトの-gpu=implicitsectionsは将来のリリースでOpenACC仕様に従って-gpu=noimplicitsectionsに変わります。
- NVIDIA HPC SDK 21.5からNVC++とNVFORTRANの-cudaオプションはNVIDIA GPU数学ライブラリを自動的にリンクしません。-cudalibオプションを参照ください。
- NVIDIA HPC SDK 21.3からNVIDIA GPUのKeplerアーキテクチャのHPCコンパイラサポートは廃止されました。
- NVIDIA HPC SDK 21.3からNVIDIA HPC SDKのKNLアーキテクチャサポートは廃止されました。