PGI 2020 コンパイラ製品 リリースノート

 NVIDIA 社 PGI の PGIコンパイラ製品のバージョンPGI 2020 (PGI 20.x) をリリースしましたのでお知らせいたします。本リリースにおける製品の主な新機能、特徴に関してPDFファイルに記述しておりますので、詳細は、以下のPDFファイルをご覧下さい。なお、ソフトウェアは こちらのページにてダウンロード可能です。
 現在の最新バージョンは、PGI 2020(旧バージョン形式で言うと PGI 20.x) となります。年間サブスクリプション契約をご購入あるいはご継続中のお客様は、新リリースのソフトウェアをダウンロードの上、インストールをお願いいたします。「バージョンアップの方法」や最新の「日本語インストールの手引き」は、お客様専用のページへご案内いたしますので、そのページをお分かりにならない場合は、弊社 support@softek.co.jp までご連絡下さい。

Current Version

Product Name Version
PGI Professional Edition for Linux x86 20.4
PGI Professional Edition for Linux OpenPOWER 20.4
PGI Professional Edition for Windows 20.4
PGI CDK for Linux (ご契約ユーザ様専用ページにて) 20.4
PGI Community Edition for Linux x86, Win64, OpenPOWER and macOS (2019/11/6版) 19.10

PGI 2020 (PGI 20.x) リリース

各リビジョンのサマリー

◎PGI 2020 version 20.4 (released May 11, 2020)

すべてのコンパイラ
  • GNUでコンパイルされた OpenMP オブジェクトとの相互運用性のサポートが追加されました。最適化されたヘテロジニアス OpenMP ランタイムには、PGI でコンパイルされた OpenMP オブジェクトと GNU でコンパイルされた OpenMPオブジェクトを混在させるときに互換性を提供する GNU OpenMPインターフェイスレイヤーが含まれています。
  • コンパイル時およびリンク時のオプションである -nomp を変更し、このオプションを使用することで OpenMP ランタイムライブラリ (nvomp) がリンク行に追加されないようにしました。
NVIDIAとGNU OpenMPランタイムの互換性

NVIDIA の OpenMP ランタイムは、OpenMP 機能のサブセットを実装しています。GNU OpenMPランタイムもまた、OpenMP機能のサブセットを実装しています。GNUコンパイラでコンパイルされたOpenMPアプリケーションとライブラリは、libgompと呼ばれるライブラリでリンクされています。

それぞれが OpenMP API を使用するアプリケーションの異なるモジュールをコンパイルするために GNU と PGI コンパイラが使用されている場合、アプリケーションが動作するためには GNU と NVIDIA OpenMP ランタイムの両方が必要になります。しかし、これら2つのランタイムはOpenMP仕様の交差するサブセットを実装しており、状態を共有していないため、両方のOpenMPランタイムをロードすることは推奨されていません。NVIDIAのOpenMPランタイムは、GNU OpenMP API (GOMP)を含むインターフェース層を含んでいます。GNUコンパイルされたOpenMPライブラリに対してリンクされたPGIコンパイルされたOpenMPアプリケーションがロードされると、ライブラリ内のGOMPランタイムコールは、NVIDIA OpenMPランタイムライブラリに含まれるGOMPインターフェースによって解決されます。

GOMP ライブラリ自体はロードされません。GCC 9.2.0 の時点での GNU OpenMP ランタイムの機能のほとんどは、GOMP インターフェース層でサポートされています。OpenMP 5.0の機能はまだサポートされておらず、ドアクロスループのようないくつかの他の機能は、私たちのインタフェース層ではサポートされていません。これらの機能を使っている GNU コンパイルされたアプリケーションは、libgomp の代わりに libnvomp をロードして実行すると、ある時点で終了する可能性が高いです。入れ子になった並列処理のような他の機能は、2つのライブラリでは実装が異なるかもしれません。

Fortranコンパイラ
  • 大規模な連続データ転送のためのTRANSFER組み込みのパフォーマンスの向上。
  • インライン関数とサブルーチン呼び出しのDWARFメタデータを追加しました。
OpenACCおよびCUDA Fortran
  • OpenACC API rouintes acc_copyin と acc_create の実装を更新し、OpenACC 2.0 仕様に準拠して present_or_ セマンティクスを使用するようになりました。
  • CUDAツールキットのデフォルトバージョンは 10.2 になりました。
C/C++コンパイラ
  • インライン関数呼び出し用の DWARF メタデータを追加しました。
機能強化とBug Fixed

◎PGI 2020 version 20.1 (released February 6, 2020)

OpenACCおよびCUDA Fortran
  • 提供されたNVIDIA cuTENSORライブラリにFortranインターフェースを追加。
  • 新しいcutensorExモジュールは、選択されたFortran組み込み関数を適切なCUTENSOR機能にマップします。
  • デバイスコードから追加の組み込みCUDA数学関数を呼び出すためのサポートが追加されました。
  • OpenACC C++コンパイラに値による* thisポインタのキャプチャのサポートが追加されました。
  • CUDA Fortranの属性(ホスト、デバイス)関数のサポートの改善。
  • CUDA Fortranでon_deviceのサポートを実装しました。
  • OpenACC reductions コピー動作を変更して、OpenACC仕様に準拠しました。
  • __CUDA_API_VERSIONのサポートを終了しました。代わりにCUDA_VERSIONを使用してください。
  • OpenACC 3.0仕様に準拠するようにプロファイリングインターフェイスを更新しました。
  • CUDA Toolkitバージョン10.2のサポートを追加しました。CUDA 10.0がデフォルトになりました。
すべてのコンパイラ
  • デフォルトのLinux LLVMコンパイラで使用されるOpenMPランタイムを置き換えました。
  • LLVM 9.0を使用するようにすべてのLinuxコンパイラをアップグレードしました。
C/C++
  • PGI Cコンパイラpgccを大幅にアップグレードしました。
オペレーティング・システム

最近のLinuxディストリビューションのサポートが追加されました。

  • CentOS 7.7、8.0、および8.1
  • Fedora 30
  • openSUSE Leap 15.1
  • RHEL 7.7、8.0、および8.1
  • SLES 15 SP1
  • Ubuntu 19.04
非推奨および廃止項目
  • pgf77ドライバーは提供されなくなりました。pgfortran を使用してF77 Fortran をコンパイルしてください。
  • PGIデバッガー pgdbg は廃止されました。pgdbg の最後のリリースは PGI 19.10 でした。 Linux ユーザーの場合、PGI コンパイラは、OpenACC、OpenMP、および MPI デバッグのサポートを含め、Allinea DDT および Rogue Wave TotalView デバッガーと相互運用できます。 Linux では、PGI で生成されたコードの基本的なデバッグにGNUデバッガーgdbを使用できます。
  • PGI Visual Fortran が廃止されました。 最終的な PVF リリースは 19.10 でした。 既存の PVF ライセンシーは無期限に使用できますが、新しいライセンスは発行されません。 Windows 用の PGI コマンドレベルコンパイラは引き続き拡張およびサポートされます。
  • macOSプラットフォームのサポートを終了しました。Apple の macOS をサポートする PGI 製品の最後のリリースは PGI 19.10でした。
  • -ta=tesla および -Mcuda における nonvvmサブオプション の公式サポートは19.10 で廃止されました。コンパイラはこのサブオプションを拒否しませんが、 nonvvmをコンパイルから削除してデバイスコードを生成するデフォルトの方法に移行することをお勧めします。
  • CUDA 9.2 および 10.0 は、PGI パッケージに含まれなくなりました。CUDA 10.0 は CUDA_HOME を介して引き続きサポートされます 。CUDA 9.2 のサポートは削除されました。
機能強化とBug Fixed

PGI 2020 リリースノート(NVIDIA サイトへ)

重要: 昨年のPGI 2019リリース以降、最新の FlexNet Publisher バージョン 11.16.2 ライセンス管理ソフトウェアが含まれています 。 この新しいライセンス管理デーモンは、以前のバージョンの PGI コンパイラを動作させることができる下位互換性があります。 しかし、以前の 古い PGI リリースにバンドルされた FlexNet 管理デーモンをそのまま使用した場合、 新 PGI 19.x, 20.x は動作しません。必ず、PGI 19.1 以降のリリースにバンドルされた FlexNet ライセンスデーモンに入れ替えて利用してください。特に、ネットワーク・フローティング形式で利用する環境のライセンスマネージャは、過去のバージョンで利用していた lmgrd デーモンをそのまま使用してしまいがちですので、ご注意ください。

過去のバージョンのリリースノート