PGIトップ › PGI コンパイラの概要 › PGI Professional 製品概要

ソフテックは、PGI 製品の公認正規代理店です

PGI Professional Edition

professional_edition mark

 PGI Professional は、PGI が提供する CPU ならびに GPU 用の全てのコンパイラ機能を含み、購入時点のリリースあるいは、それ以前のリリース・ソフトウェアを使用できる「永続ライセンス」が付いた有償「ライセンス製品」です。さらに「ライセンス製品」のオプションとして、最新の機能の追加や性能向上やバグフィックス等を適用した最新版へのバージョンアップサービスや技術サポートを受けることができる「サブスクリプション」を購入することができます。この PGI Professional エディションは、製品ソフトウェア開発のために最先端のコンパイラとサポートを必要とする HPC ユーザのためのものです。

  • Fortran, ANSI C11, C++14 の言語コンパイラ
  • 64-bit OpenPOWER、x86 マルチコア・プロセッサ用のコンパイラ
  • NVIDIA tesla GPUs アクセラレータ用コンパイル機能(OpenACC, CUDA Fortran)
  • 64ビット対応 Linux、Windows 製品ライセンス (macOS 版は無償化)
  • ノードロック・ライセンス、ネットワーク・フローティング・ライセンス
コンパイラと付属ユーティリティ詳細

※OpenPOWER Linux 版には PGDBGデバッガは付属してません

コンパイラ言語が準拠している規約
  • Fortran ANSI x3.9 1978, ISO/IEC 1539 : 1980 (FORTRAN77)
  • ISO/IEC 1539-1 : 1991 (Fortran 90)
  • ISO/IEC 1539-1 : 1997 (Fortran 95) 対応JIS規格 JIS X 3001-1:1998
  • ISO/IEC 1539-1 : 2004 (Fortran 2003) 対応JIS規格 JIS X 3001-1:2009
  • ISO/IEC 1539-1 : 2010 (Fortran 2008) 一部取込
  • ANSI X3.159-1989 (ANSI C)
  • ISO/IEC 9899 : 1990
  • ISO/IEC 9899 : 1999 (C99)
  • ISO/IEC 9899 : 2011 (C11)
  • ISO/IEC 14882 : 2011 (ISO C++11)
  • ISO/IEC 14882 : 2014 (ISO C++14)
  • ISO/IEC 14882 : 2017 (ISO C++17) 一部取込
  • OpenMP 4.5 (但し、GPU offload 機能を除く)
  • OpenACC 2.6、2.0の一部、除外機能あり
  • Windows版のC++コンパイラは提供していません

(補足)
Windows 版製品には、C++ 言語コンパイラは提供されません (終息)。
Windows 版製品(Windows版の詳細説明)には、Visual Studio 上で使用可能な PGI Visual Fortran ライセンスも付加されており、bash コマンドライン(CLI) と併用できます。

PGI Professional 提供する製品構成

PGI Professional Network Floating (ネットワーク・フローティング)

PGI Professional Node-locked (ノードロック)

 商 品 型 番 一般・官公庁 教育機関
ライセンス製品 サブスクリプション ライセンス製品 サブスクリプション
Network floating - 1 seat
Linux x86 Fortran/C/C++ 018AL-F1-C 218AL-F1-C 018AL-F1-N 218AL-F1-N
Windows Fortran/C 018AW-F1-C 218AW-F1-C 018AW-F1-N 218AW-F1-N
Linux POWER Fortran/C/C++ 018AP-F1-C 218AP-F1-C 018AP-F1-N 218AP-F1-N
Node-locked - 1 seat
Linux x86 Fortran/C/C++ 018AL-NL-C 218AL-NL-C 018AL-NL-N 218AL-NL-N
Windows Fortran/C 018AW-NL-C 218AW-NL-C 018AW-NL-N 218AW-NL-N
Linux x86 Fortran 015AL-NL-C 215AL-NL-C 015AL-NL-N 215AL-NL-N
Windows Fortran 015AW-NL-C 215AW-NL-C 015AW-NL-N 215AW-NL-N
  • 「ライセンス製品」は、購入時点までにリリースされたバージョンを永続に使用するための使用権(ライセンス)です。
  • 「サブスクリプション」は、「ソフトウェア情報パッケージ」とも称します。オプションで購入するもので、1年間の新ソフトウェアのリビジョン・アップの権利、技術サポート等のサービスを提供します。(詳細)
  • 全ての Professional ライセンスは、CPU ならびに GPU/Accelerator 用のコンパイラ機能が含みます。
  • Linux POWER 用ライセンスは、Node-locked ライセンスはありません。Network floating のみとなります。
  • Network floatingでは、 1-seat(1-user) のライセンスを複数個数購入することにより、複数 seat 分の利用が可能となります。例えば、同時使用 3-user 分必要な場合は、1-seatを 3セット購入する必要があります。この場合のサブスクリプションの購入数も、同数分必要です。
  • x86 用の Network floatingでは、Linux、Windows 用のライセンスキーを併合することができ、一つのライセンスサーバで管理できます。
  • Node-locked は、1-seat(同時1名) ライセンスのみの設定で、複数のライセンスキーの併合はできません。
  • x86 は、インテル、AMD 製のプロセッサ用を意味します。POWER は IBM POWER プロセッサ用を意味します。
  • Windows版は、C++ 言語の提供はありません。Fortran と C 言語処理系から構成される製品となります。また、PGI Visual Fortran も利用できるライセンスです。
  • macOS 版は、PGI Professional 製品設定はなく、無償版 PGI Community Edition のみの提供となります。

※PGI Professional 製品は、「ダウンロード版」のみの販売となります。なお、弊社ソフテックからの出荷物は、「ユーザ登録書(ライセンス証書)」と「インストールのためのご案内資料」(インストールに関わる情報提供サイトの紹介)となります。

PGI コンパイラ・ソフトウェアの概要

64ビット OpenPOWER および x86 プロセッサベース・システム用の
Fortran および C/C ++

PGI Professional 製品

 PGI Professional Edition は、常にコンパイラ技術の先頭を歩んできた PGI の科学技術並びにエンジニアリング分野におけるフラグシップ・コンパイラを全て含んだ製品です。本製品には、MPI/OpenMP 対応の GUI ベースのシンボリック・デバッガ PGDBG 並びに OpenACC/OpenMP 対応の性能評価プロファイラ PGPROF の各ユーティリティが含まれます。コンパイラの最適化技術は、卓越したプログラム分析機能を提供、1 パスのプロシジャー間の最適化(IPA)、プロファイルに基づく最適化(PFI/PFO)、自動ベクトル化機能、データ・プリフェッチ機能、OpenMP 4.5 マルチコア対応自動並列化機能等のアプリケーションの高速化を支援する機能を有しております。なお、OpenMP 4.5の GPU offload 機能は提供しておりません。

OpenACC

 また、PGI コンパイラには、NVIDIA CUDA 対応 GPU を対象とした CUDA Fortran 拡張機能やアクセラレータ用の OpenACC 2.6 ディレクティブベースの並列プログラミングの実装が含まれています。

プログラム言語

 PGI Fortran は、PGI のネイティブな並列化機能と最新の最適化機能を具備した、F77、F2003準拠の各コンパイラを提供し、Linux、Windows, OS X の各オペレーティング・システム上の 64ビットの x86 プロセッサならびに OpenPower プロセッサに最適化対応します。 なお、F2003 は、ISO 規格 Fortran 2003 に完全準拠しております。これらのコンパイラは、高度な科学技術のアプリケーションの開発とそのメンテナンスで要求される機能、品質、そして信頼性を提供します。

 PGI C/C++ は PGI のネイティブな並列化機能と最新の最適化機能を具備した、OpenMP / OpenACC 対応の GNU 互換 C++14 および ANSI C11 コンパイラを含んでいます。PGI C++ コンパイラ(Linux版)は、GNU GCC 4.8~7.2 g++ との ABI 互換性を有します。また、PGI C++ コンパイラは、現在でも提案されている ANSI 標準に追従し、C++14 仕様(pgc++ コマンド、Linux/OS X版)をサポートします。一部の C++17 の機能も提供しております。C++ 関数は、全ての PGI Fortran と PGI C の関数と互換性をもちます。PGI Fortran は、industry standard である ISO_C_BINDING をサポートするため、簡単に Fortran、C、C++ 言語間の引数の引き渡しや手続きの呼び出しが可能となります。

並列化機能

 これらのコンパイラでは、 コンパイラオプションの設定によりプログラムの自動並列化が可能となるだけではなく、 OpenMP4.5 の directive/pragma 行を明示的に指定することにより、threads コールなしに効果的な並列プログラミングが可能となります。なお、実行モジュールはランタイム使用料なしで、PGI コンパイラがインストールされていない任意の互換性をもつシステム上で実行することができます。また、MPI プログラムに対しては、Linux 版の場合には、MPI-3 規格に準拠した Open MPI 2.1.2 が付属し、OS X 版にも MPICH 3.2 ライブラリを付属しています。直ぐにマルチコア上で MPI プロセス実行が可能です。Windows版は、Microsoft 社の Microsoft® MPI library (MS-MPI) が利用でき、オプションの指定で直ぐにコンパイルできるようになっております。なお MPI 実行並列プロセス数には、ライセンスによる制限はありません。

Windows版、OS X 版について

 OS X 版ならびに Windows 版の PGI コンパイラ製品は、「コマンドレベル」で使用するコンパイラです。これらは、Linux とほぼ同じ機能を提供します。Windows 版の場合は、コマンド・プロンプトからコマンドレベルで操作するソフトウェアと、Fortran に限りマイクロソフト Visual Studio IDE 環境上で操作できる PGI Visual Fortran ソフトウェアも併用可能です。OS X 版は、Xcode 統合開発環境との統合はできませんので、ご注意ください(一般的な Linux シェル環境上で使用します)。なお、デバッガ(pgdbg)、性能解析プロファイラ(pgprof)等の PGI ツールはJAVAベースの GUI で操作できます。

Windows版の使用インタフェース

 Windows 版のコマンド・インタフェース環境は、Linuxライクの Cygwin シェル環境を提供(同様に DOSプロンプト環境も提供)しています。これは、Linux の BASH シェル環境と同様なものであり、使い慣れた UNIX/Linuxコマンド(vi, cp, sed, awk, grep, make等)を使用して、プログラムの開発が可能です。従って、Linux 上での PGI コンパイラオプションと同じ形態でコンパイラを使用できます。本製品には Microsoft Open Tools (Microsoft が提供するリンカー等のツール、ライブラリ、インクルードファイル等) が含まれており、Microsoft のネイティブな開発環境を利用しますので、Micorosoft Visual Cプログラム と相互互換性を有します。

NVIDIA GPU用アクセラレータ機能

GPU/Accelerator 用のPGIアクセラレータコンパイル機能については、こちらをご覧下さい

動作環境・システム要件

mark対応プロセッサ

mark対応GPU(PGIアクセラレータコンパイラ対応)

mark 推奨オペレーティングシステム

mark メモリ容量

  • 512MB 以上

mark ハードディスク容量

  • 2GB以上 (インストール時には一時的に 2 GB以上の空き領域が必要になります)

mark 周辺機器、その他

  • GUIの使用時、マウスあるいは互換性をもつポインティング・デバイス。オンライン・ドキュメンテーションを閲覧するためのウェブ・ブラウザおよびAcrobat Reader。
PGIコンパイラ機能概要
言語コンパイラ
ツール
  • PGFORTRAN OpenMP/自動並列化/OpenACC対応 Fortran 77/90/95/2003 コンパイラ搭載
  • PGF77 OpenMP/自動並列化対応 Fortran 77 コンパイラ搭載
  • PGCC OpenMP/自動並列化/OpenACC対応 ANSI/K&R C11 コンパイラ搭載
  • PGC++ OpenMP/自動並列化/OpenACC対応 GNU 4.8~7.2 ABI互換 C++14 コンパイラ搭載(Linux & OS Xのみ)
  • OpenMPI 2.1.2 (Linux版)、MPICH3(OS X版)ライブラリをバンドル搭載
  • Microsoft MS-MPI ライブラリをバンドル(Windows版)
  • PGDBG MPI/OpenMP 対応シンボリック・デバッガ搭載(OpenPOWER版は提供なし)
  • PGPROF OpenACC/OpenMP 対応性能プロファイラ搭載
  • Microsoft MPI (MS-MPI) 対応の並列シンボリック・デバッガ搭載(Windows版のみ)
コード
最適化機能
  • 64bitマルチコア OpenPOWER プロセッサならびに x86 プロセッサをサポート
  • x86, OpenPOWER 上での 64bit フル・サポート -mcmodel=medium による 2GB 以上の単一データ・オブジェクトをサポート(Linux)
  • AMD64 並びに Intel64 の双方に最適化された単一の実行モジュール生成 (PGI Unified BinaryTM 機能)
  • AMD Opteron 並びに Intel64 向けの最適化(SSE/SSE2/SSE3/SSSE3, SSE4.2/AVX/AVX2、AVX512、SSE4a/ABM, prefetching, 拡張レジスタの使用、64bitアドレッシング)
  • NUMA アーキテクチャに対応するメモリ最適化
  • huge pageサポートを含むメモリ階層とメモリ割付の最適化
  • Customized OpenBLAS project sourceに基づいた BLAS/LAPACK ライブラリ
  • Intel Math Kernel Libraries (MKL) (MKL) 10.1以降のライブラリをリンク可能
  • 高度に最適化された数学内部組み込み関数
  • 高度に最適化されたIntel(R) MMX, SSE1/SSE2/SSE3 組込み関数ライブラリ(C/C++ only)
  • ワンパス IPA 最適化(内部手続き間最適化)(OpenPOWER版はまだ実装なし)
  • ライブラリも IPA 最適化可能
  • プロファイル・フィードバック最適化(PFO最適化)(OpenPOWER版はまだ実装なし)
  • gcc, gfortran, gdb との互換性あり(Linux 版)
その他の機能
  • ライブラリ関数を含むインライン化
  • ベクトル化、最適化のためのディレクティブ、プラグマの提供
  • 非常に高度な依存性解析とグローバル最適化機能
  • コンパイル時の最適化情報のリスティング機能 (-Minfo)
  • Common Compiler Feedback Format(CCFF)コンパイラ最適化情報表示
  • 共有ライブラリの作成機能 (Shared objects on Linux, Dyanamic libraries on OS X, DLLS on Windows)
  • Eclipse対応 C/C++プラグイン機能(Linux版)(OpenPOWER版はまだ提供なし)
  • cpp プリプロセッシング機能
  • C 、C++上での 拡張 asm サポート
  • Cray/IBM/DEC コンパイラ互換性 (Cray ポインタ、DEC STRUCTURE/UNION を含む)
  • TotalView* (Linux only) and Allinea DDT デバッガとの連携(OpenPOWER版はまだ提供なし)
  • 業界標準のライブラリ・アプリケーションの動作を PGI コンパイラで検証
各言語、機能
特徴
  • (Fortran)
    --r8/-i8 コンパイルフラグ、64ビット整数
    -Fortran95 拡張のフルサポート(PGFORTRAN)
    -Fortran 2003フルサポート(PGFORTRAN)
    RISC/UNIX とのバイト・スワップI/Oによる相互運用性
    -32bit X86上での Fortran において 2GB以上のファイルをサポート
  • (C/C++)
    -ANSI C11 準拠
    -ANSI 並びに K&R C コンパイル・モードあり
    -GNU GCC g++ 4.8~7.2 との ABI 互換性
    -ANSI C++14準拠(Linux,OS X)

    -C++ クラス・メンバー・テンプレート
    -C++ 部分整列と部分特殊化機能
    -C++ 明示的なテンプレート修飾
    -GNU 形式のテンプレートのインスタント化
  • (並列機能)
    -スレッドベースの DO ループ自動並列化機能 (F77/F2003)
    -スレッドベースの Forループ自動並列化機能 (C/C++)
    -フル・ネイティブな OpenMP 並列化指示行 (F77/F2003)
    -フル・ネイティブな OpenMP 並列化pragma行 (C/C++)
    -OpenMP 4.5 のサポート(GPU offload機能除く)、256スレッドまで対応
    -マルチコア向けの自動並列化機能強化
    -SGI 互換 DOACROSS 指示行 (F77/F2003)
    -SMP/OpenMP アプリケーションに対する CPU-プロセスアフィニティ(結合)サポート
    -通信スケジュールの再利用化
    -コンカレント(同時)サブルーチン・コールサポート
    -PGI Debuggerは、ローカルシステム上で 16 MPI プロセスまで対応、但し、x86 Linux 版の Network floatingライセンスは、256 MPI プロセスまで対応
Windows版
特記事項

PGIコンパイラ最適化機能

  • 非言語依存機能
    • オンライン/HTMLマニュアル
    • アセンブリ・コード・リスティング
    • IEEE内部表現形式、演算オプション
    • 複数言語間呼出し
    • cppプリプロセッサ
    • オプション指定での自動並列化
    • OpenMP指示行による並列化
    • 最適化指示行
    • コンパイル・オプション・リスティング
    • Cray/DEC/IBM構文互換
    • Cray POINTER 対応
    • 1パスの中間手続き解析機能(IPA)
    • shared Objectの生成可能
    • ファイルI/O bigエンディアンとlittleエンディアンの相互変換
    • プリフェッチ・ディレクティブ(FORTRAN, C)
  • 最適化・並列化機能
    • ピープホール最適化
    • 不要コードの削除
    • 共通部分式の削除
    • 呼出し/分岐の融合化
    • 不変式の移動
    • 大域定数の伝搬
    • 大域的データ依存解析
    • 大域的フロー解析
    • コピー伝搬
    • 帰納変数解析
    • ロード/ストア解析
    • 大域的レジスタ割当て
    • 命令スケジューリング
    • 関数のインライン化
    • ループのアンローリング
    • 不変条件式の除去
    • 高度な依存解析
    • 内側/外側ループの並列化
    • ループ交換
    • ループ分割
    • メモリ参照最適化
    • スカラ・プロモーション
    • 一時的ベクトルの生成
    • ストリップマイニング
    • 並列呼出しのサポート
    • 並列コード部のインライニング
    • メモリ階層最適化
    • キャッシュ・タイリング
    • SSE/AVX によるベクトル化
    • メモリ・プリフェッチ機能

※本ページに記載されている会社名、製品名は、各社の登録商標または商標です。