Version 21.11

Release Notes原文
当ページは原文の意訳となっております。

1. 新機能について

NVIDIA HPC SDK 21.11にようこそ。NVIDIA HPC SDKはCPU, GPU, インターコネクトといったHPCプラットフォーム全体のプログラム開発を可能にするコンパイラとライブラリの包括的パッケージです。
 本リリースではいくつかの新しい変更が含まれています。

  • HPC SDK 21.11は、 cuSOLVERMpにマルチノード、マルチGPU数学ライブラリ機能を含みます。初期の機能は、 ピボット選択付およびピボット選択無のCholesky分解とLU分解を含む予定です。詳細は cuSOLVERMpのドキュメントを参照ください。
  • HPC SDKは、 Graviton 2 プロセッサを用いたAmazon AWSインスタンスをサポートしています。
  • NVFORTRANコンパイラは、ISO Fortran規格のドラフトに記載されている DO CONCURRENTを使用するためのREDUCE節をサポートしました。
  • HPCコンパイラは、 OpenACCやOpenMPのループにおける array reductionの初期サポートを含みます。詳細はユーザーガイドを参照ください。
  • HPCコンパイラは、clangベースの他のコンパイラと同様に –gcc-toolchain オプションをサポートしています。これは デフォルトでないGNU Compiler Collection (GCC) バージョンを指定する従来のrcfileの方法に加えて、 HPCコンパイラを使うために提供されています。
  • HPCコンパイラは、 x86-64ターゲットアーキテクチャーの詳細を指定する、いくつかのGCC準拠のコマンドラインフラグを含みます。詳しくは、-tp オプションを参照してください。
  • HPC SDKは、NVTX Fortranモジュールを含みます。NVIDIA Nsightを利用して、性能とプロファイリングの調査をするためのNVIDIA Tools Extension Library (NVTX) を容易に使うことができます。
  • HPC SDKは、cufftXt Fortranモジュールを含みます。cufftXtはNVIDIAの高度に最適化されたマルチGPU FFTライブラリで、Fortranで記述されたホストプログラムから直接呼び出すことができます。
  • アプリケーション開発者が、開発したプログラムをNVIDIA HPC SDKとより簡単に統合できるように、CMakeのターゲットをHPC SDKの様々なコンポーネント向けに定義するための CMake configファイルが提供されます。
  • NVLAMATH線形代数ラッパーは、64ビット整数に対するサポートを含みます。
  • CUDA Fortranユーザーは、デバイスデータの割り当てにcudaMallocManaged を利用できます。
  • HPC SDK 21.11に重要なパフォーマンスの向上とバグの修正が含まれます。
  • NVIDIA HPC SDKは、CUDAツールチェーンのバージョン11.5 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.11は以下のtoolcainを含みます。

  • CUDA 10.2
  • CUDA 11.0
  • CUDA 11.5 update 1

CUDA driverのバージョンの最小要件はSection 3.1を参照ください。

4. 制限事項

  • OpenBLASを使用した場合にジョブの実行時にセグメント違反が発生することがあります。ユーザのデータセグメント上限(ulimit -d)を増加することでこの問題を回避することができます。この問題は最近のupstreamで対応されており、OpenBLASが更新された際に、HPK SDKの将来のリリースに修正が含まれる予定です。
  • 固定境界でない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アーキテクチャサポートは廃止されました。

Notices

原文をご確認ください。

前の記事

Version 21.9

次の記事

Version 22.1