Version 23.7

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

1. 新機能について

NVIDIA HPC SDK 23.7へようこそ。NVIDIA HPC SDKは、CPU、GPU、インターコネクトといったHPCプラットフォーム全体のプログラム開発を可能にするコンパイラとライブラリの包括的パッケージです。HPC SDK 23.7のリリースは、新機能および重要な機能性やパフォーマンスの向上を含みます。

  • CUDAコンピュートアーキテクチャsm89のサポートが追加されました。
  • CUDA12.2のサポートがHPC SDKに含まれます。
  • 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コマンドが利用できます。
    NVIDIA HPC SDK 23.7は以下のtoolchainを含みます。

    • CUDA 11.0
    • CUDA 11.8
    • CUDA 12.2

    4. 制限事項

    • MKLバージョン2023.1.0を使用するHaswellやBroadwell上で、OpenMPスレッド数が4以上の特定のワークロードの実行時に、一部のアプリケーションで不具合が発生する可能性があります。
    • cuSolverMPは、HPC-Xディレクトリ内のUCCとUCXライブラリの2つの新たな依存関係を持ちます。cuSolverMPを利用するプログラムを実行する場合、HPC-Xライブラリを含むnvhpc-hpcx-cuda 12 environment moduleをご利用ください。または、環境変数LD_LIBRARY_PATHを以下のように設定してください。
      $ LD_LIBRARY_PATH=${NVHPCSDK_HOME}/comm_libs/hpcx/latest/ucc/lib:${NVHPCSDK_HOME}/comm_libs/11.8/hpcx/latest/ucx/lib:$LD_LIBRARY_PATH
    • 提供されたモジュールファイルを利用しない場合は、HPC-Xを利用する前に、利用者は hpcx-init.shスクリプトを実行するよう注意が必要です。$ ./[install-path]/Linux_x86_64/dev/comm_libs/hpcx/hpcx-2.11/hpcx-init.sh
      その後、hpcx_loadを実行してください。$ hpcx_load
      これらの作業により、HPC-Xを利用するために必要な重要な環境変数が設定されます。
      また、もしMPIジョブを実行中にHPC-Xの以下の警告メッセージが表示された場合には、性能が低下するかもしれませんが、実行は継続され警告のみです。
      WARNING: Open MPI tried to bind a process but failed.
      これは既知の問題で、以下のように対処することができます。
      $ export OMPI_MCA_hwloc_base_binding_policy=""
    • sourced allocationまたはallocatable assignmentで利用される、サイズが0の派生タイプallocatable componentを持つFortran派生タイプオブジェクトは、セグメント違反が発生する可能性があります。
    • C++の並列アルゴリズムを高速化するために-stdparを利用する場合、アルゴリズムの呼び出しは、仮想関数呼び出しや、関数ポインタによる関数呼び出し、C++例外を含むことができません。ヒープを指すデリファレンスポインタのみを利用し、ランダムアクセスイテレータを利用する必要があります(通常のポインタをイテレータとするのが最善です)。

    5. 廃止事項

    • HPC SDKのモジュールファイルで選択されるデフォルトのMPIの実装は、今後のリリースでHPC-Xに変更される予定です。
    • -Minfo=intensityオプションが非推奨になりました。今後のリリースで削除される予定です。
    • 今後のリリースで、 Armベースのnvfortranの複素数データの戻り値の呼出規約はgfortranの呼出規約と一致するように変更される予定です。
    • 今後のリリースで、非推奨のCUDA_HOME環境変数は、HPCコンパイラに無視されます。
    • HPCコンパイラ23.3から-Mipaオプションが無効になりました。
    • HPCコンパイラの-ta=tesla, -Mcuda, -Mcudalibオプションは非推奨となりました。
    • アップストリームのend-of-life (EOL)に合わせて、RHEL 7ベースのオペレーティングシステムのサポートは、HPC SDK 23.7では削除されます。
    • 今後のリリースで、HPC SDKはCUDA12.xシリーズの最新のバージョンとCUDA 11.8のみバンドルする予定です。11.0より古いCUDAバージョンをサポートするHPCコンパイラ内のコードパスは検査や保守管理されなくなります。
    • アップストリームのend-of-life (EOL)に合わせて、HPC SDK 23.5ではUbuntu 18.04のサポートは削除されました。
    • CUDA Fortran textureのサポートはCUDA 11.0と11.8で非推奨となり、CUDA 12で削除されました。
    • CUDA FortranのcudaDeviceSynchronize()は非推奨となり、デバイスコードから削除されました。ホストコード内ではまだサポートされます。
    • NVIDIA HPC SDKの21.11から、HPC-XパッケージはPOWERアーキテクチャ向けのパッケージには含まれません。
    • NVIDIA HPC SDK 21.5から、NVC++とNVFORTRANの-cudaオプションは、NVIDIA GPU数学ライブラリを自動的にリンクしません。-cudalibオプションを参照ください。
    • NVIDIA HPC SDK 21.3から、NVIDIA GPUのKeplerアーキテクチャのHPCコンパイラサポートが廃止されました。

    Notices

    原文をご確認ください。

    前の記事

    Version 23.5

    次の記事

    Version 23.9