PGIトップ › PGI製品 › PGI Professional Network floating Linux x86

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

PGI® Professional Network Floating (x86 Linux版)

【旧製品名 PGI CDK 】

  • PCクラスタ用にインストーラーによる容易なソフトウェア構築
  • Fortran, ANSI C11, C++17 の全言語コンパイラ
  • ネットワーク・フローティング・ライセンス、マルチユーザ利用可能
  • インテル®プロセッサにも AMD プロセッサにも対応
  • Open MPI 3.1.3、ScaLapack 2.0.2 を付属
  • GPU アクセラレータ・コンパイル機能
付属しているコンパイラとユーティリティ
コンパイラ言語が準拠している規約
  • Fortran ANSI x3.9 1978 (FORTRAN77)
  • ISO/IEC 1539-1 : 1991 (Fortran90)
  • ISO/IEC 1539-1 : 1997 (Fortran95) 対応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の一部、除外機能あり

(補足)
クラスタ内部の通信媒体として、従来の Ethernet だけでなく、InfiniBand をサポートします。 InfiniBand を媒体として使用する場合は、OFED ソフトウェア・スタック( OFED 3.18 以上)を実装する必要があります。

PGI Professional Node-locked 製品と PGI Professional Network floating 製品の機能、ライセンス形態の違いはこちらをご覧ください。

PGI製品のお求めは、米国 PGI 社と 25 年以上に及ぶ強力なパートナーであるソフテックへ

PGI Professional, Network Floating (x86 Linux版)

 PGI Professional, Network Floating (Linux版)は、PCクラスタ構築の上で必要なコンパイラ、並列デバッガ等の開発ツール、オープンソースとして提供されている MPICH 等の並列ライブラリをバンドルしたPCクラスタ用のソフトウェア開発キットです。これらの開発用ソフトウェアは、インストーラにより、PCクラスタ上に容易にインストールすることができ、クラスタ計算環境のためのソフトウェア構成・設定を自動的に行います。これによって、PCクラスタ上でのソフトウェア構築・設定の手間を大幅に軽減することが可能となります。常にコンパイラ技術の先頭を歩んできた PGI 社の科学技術並びにエンジニアリング分野におけるフラグシップ・コンパイラ(Fortran, C, C++)の全てがバンドルされます。

※PGI コンパイラ製品は、「ダウンロード版」のみの販売となります。ライセンス証書並びに「日本語インストール関連のドキュメント」での納入になります。

PGI コンパイラ(F77/F2003/C/C++のフルセット)、これらは、並列プログラミング・モデルとして一般的な OpenMP, MPIに対応するコンパイラです。
なお、F2003 は、Fortran 2003/95/90/77 の全ての構文を解釈します。
MPI 並びに OpenMP 対応デバッガ (PGDBG)
OpenACC/OpenMP 対応並列性能プロファイリング (PGPROF) ツール
PGI 用にプリコンパイルした MPI メッセージ・パッシング・ライブラリ Open MPI 2.1.2[注1]
Open source ソフトウェアについては、技術サポートの範囲外となります。
分散メモリシステム対応 ScaLAPACK(v2.0.2) 並列数学ライブラリ
OpenBLAS project sourceに基づいた BLAS/LAPACK 付属
上記のソフトウェアをインストールし、ソフトウェアのクラスタ環境を構築・設定するインストレーション・ユーティリティ

[注1] Open MPI 2.1.2 はオプションソフトウェアであり、こ当該インストール・スクリプトを実行するシステムのみ(管理ノード)に実装されます。クラスタ構成の場合は、各スレーブノードに当該 MPI 用のローンチコマンドや shared library 等をコピーする必要があります。

※ PGI 19.1(64bit)から Open MPIは 3.1.3 バージョンをバンドルしました。このバージョンは、NVIDIA GPUDirect をサポートする機能を含みます。GPUDirect は、CUDA 7.0 以降が必要とされます。また、64-bit linux86 MPI の各メッセージは 2GB 以内のサイズに制約されます。NVIDIA GPUDirect は、InfiniBand ハードウェアのサポートに依存するため、システム上でこれがサポートされている場合、InfiniBand ハードウェアを使用できるように構成しておく必要があります。なお、InfiniBand support は、OFED 3.18 以降のバージョンを必要とします。

Build a Linux Supercomputer

 PGI Professional, Network floating は、Linux オペレーティング・システム上の 32ビット x86 プロセッサと 64ビット(x64) の Intel64 (インテル 最新プロセッサ) 並びに 64 ビットの AMD64 のシステムからなる TCP/IP、InfiniBand ネットワークベースの PC クラスタに必要な開発用ソフトウェアの構築を支援し、さらにクラスタ環境に必須である、PGI コンパイラ、並列デバッグ・ツール、並列プロファイラ、MPI メッセージ環境を含めたソフトウェア環境を提供します。クラスタの各ノードに Linux をインストールし、NFS/NIS/ネットワーク環境を構築した上で、PGI Professional, Network floating のインストールを行うと、PCクラスタ上のプログラム開発環境を容易に構築することができます。

Parallel Fortran 2003, C11 and C++17 Compilers

 PGI Professional, Network floating は、PGI 社のネイティブな並列化機能と最新の最適化機能を具備した、PGF77、PGFORTRAN、PGCC、PGC++ の各コンパイラを提供し、高度な科学技術のアプリケーションの開発とそのメンテナンスで要求される機能、品質、互換性そして信頼性を提供します。コンパイラの最適化技術は、卓越したプログラム分析機能を提供、1パスのプロシジャー間の最適化、自動ベクトル化機能、データ・プリフェッチ機能、OpenMP 規格に準拠した自動並列化機能等のアプリケーションの高速化を支援する機能を有しております。これらのコンパイラでは、コンパイラオプションの設定によりプログラムの自動並列化が可能となるだけではなく、OpenMP 準拠 の directive/pragma 行を明示的に指定することにより、明示的な threads コールなしに効果的な並列プログラミングが可能となります。なお、実行モジュールはランタイム使用料なしで、PGI コンパイラがインストールされていない任意の互換性をもつシステム上で実行することができます。また、MPI プログラムでの並列プロセス数には制限はありません。
 PGI (Accelerator) Fortran では、F77、F2003準拠の各コンパイラを提供します。PGI (Accelerator) C/C++ では、OpenMP / OpenACC 対応の GNU 互換 C++17 および ANSI C11 コンパイラを含んでいます。PGI C++17 コンパイラは、GNU GCC g++ との ABI 互換性を有します。

PGDBG Graphical Parallel Debugger (MPI対応)

 PGDBG デバッガを使用すると、SMP サーバ、メモリ分散型クラスタ並びにマルチCPUからなるノードを有したハイブリッドなクラスタ上での並列デバッギングが可能となります。PGDBG は、Linux クラスタ上での OpenMP スレッドと MPI プロセスを制御し、個々にデバッグする機能を提供します。Step, Next, Break, Halt, Continue 等のイベント制御をスレッドあるいはプロセス個々に行うことができるだけでなく、グループあるいは、ユーザ定義のスレッド/プロセスのサブセット単位で制御できます。また、PGDBG は、MPI メッセージ・キューの状態の表示も可能です。なお、MPI プログラムのデバッギング機能は、MPICH3, SGI-MPI and Open MPI over Ethernet、MVAPICH2 over InfiniBand に対応しております。PGI Professional, Network floating ライセンスでは、1台のノード内の MPI デバッギング機能だけでなく、リモートノードまで含んだ構成での MPI デバッグ機能を有します。

PGPROF Graphical Parallel Profiler

 PGPROF プロファイラは、OpenACC/OpenMP スレッド並列並列パフォーマンス解析ツールです。PGPROF によって、すばやく最も実行時間を消費している場所やコールされているファンクション/頻度を特定できます。PGPROF はファンクションレベル、ソースラインレベルのプロファイリング機能をサポートします。

Quick and Easy Turn-key Installation

 PGI Professional, Network floating は、単なるクラスタ環境に有効なソフトウェアを集めた製品ではなく、単純な問答のステップで、任意のネットワーク上のクラスタ・システムを構成するためのターン・キー・インストレーションの機能が含まれています。クラスタ環境について詳しくなくとも、PGI CDK に含まれるクラスタ開発環境のソフトウェアをインストールすることができます。なお、ソフテック提供の「日本語インストレーションマニュアル」並びに「MPI ソフトウェア使用の手引き」も提供します。

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

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

動作環境・システム要件

mark対応プロセッサとシステム

  • 【クラスタのネットワーク】Ether Network、InfiniBand(with OFED)構成のみ
  • 【注意】全てのクラスタ・ノードとフロントエンドノードは、同じ CPU タイプの構成(32bit x86 あるいは、AMD64 あるいは、intel64)でなければなりません。

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

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

mark メモリ容量

  • 1GB 以上(クラスタ・ノード)、2GB 以上(フロントエンド・ノード)

mark ハードディスク容量

  • 1.5GB以上 (フロントエンド・ノード)
  • 50MB 以上 (クラスタ・ノード)

mark 周辺機器、その他

  • GUIの使用時、マウスあるいは互換性をもつポインティング・デバイス。オンライン・ドキュメンテーションを閲覧するためのウェブ・ブラウザおよびAcrobat Reader。
PGI (Accelerator) CDK コンパイラ機能概要
言語コンパイラ
ツール
  • PGFORTRAN OpenMP/自動並列化/OpenACC対応 Fortran 77/90/95/2003 コンパイラ搭載
  • PGF77 OpenMP/自動並列化対応 Fortran 77 コンパイラ搭載
  • PGCC OpenMP/自動並列化/OpenACC対応 ANSI/K&R C11 コンパイラ搭載
  • PGC++ OpenMP/自動並列化/OpenACC対応 GNU 互換 C++17 コンパイラ搭載
  • Open MPI 3.1.3 ライブラリをバンドル搭載
  • PGDBG MPI/OpenMP 対応シンボリック・デバッガ搭載
  • PGPROF OpenACC/OpenMP 対応性能プロファイラ搭載
コード
最適化機能
  • AMD, Intel64 上での 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アドレッシング)
  • Intel Pentium II/III/4/Xeon、AMD Athlon/AthlonXP 用の最適化 (SSE/SSE2, prefetching)
  • NUMA アーキテクチャに対応する最適化
  • huge pageサポートを含むメモリ階層とメモリ割付の最適化
  • Customized OpenBLAS project sourceに基づいた BLAS/LAPACK ライブラリ(64bit用のみ)
  • Intel Math Kernel Libraries (MKL) 10.1以降のライブラリをリンク可能
  • 高度に最適化された数学内部組み込み関数
  • 高度に最適化されたIntel(R) MMX, SSE1/SSE2/SSE3 組込み関数ライブラリ(C/C++ only)
  • ワンパス IPA 最適化(内部手続き間最適化)
  • ライブラリも IPA 最適化可能
  • プロファイル・フィードバック最適化(PFO最適化)
  • gcc, gfortan, gdb との互換性あり(Linux 版)
その他の機能
  • ライブラリ関数を含むインライン化
  • ベクトル化、最適化のためのディレクティブ、プラグマの提供
  • 非常に高度な依存性解析とグローバル最適化機能
  • コンパイル時の最適化情報のリスティング機能 (-Minfo)
  • Common Compiler Feedback Format(CCFF)コンパイラ最適化情報表示
  • 共有ライブラリの作成機能 (Shared objects on Linux)
  • cpp プリプロセッシング機能
  • C 、C++上での 拡張 asm サポート
  • Cray/IBM/DEC コンパイラ互換性 (Cray ポインタ、DEC STRUCTURE/UNION を含む)
  • 業界標準のライブラリ・アプリケーションの動作を 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~8.1 との ABI 互換性
    -ANSI C++17 準拠(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/Profiler は、ローカル/リモートシステム上で 64、256 MPI プロセスまで対応

PGIコンパイラ最適化機能

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

※PGI コンパイラ製品は、「ダウンロード版」のみの販売となります。ライセンス証書並びに「日本語インストール関連のドキュメント」での納入になります。

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