PGIトップ › PGI製品 › PGI Server › PGI C/C++ Server

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

PGI® (Accelerator) C/C++ Server 製品

  • ANSI C99, C++ の言語コンパイラ
  • ノードロック・ライセンス、任意1ユーザ利用可能
  • インテル®プロセッサにも AMD プロセッサにも対応
  • 32ビット/64ビット対応 Linux、Windows、Mac OS X 製品ライセンス
  • NVIDIA社 GPU アクセラレータ・コンパイル機能
付属しているコンパイラとユーティリティ
PGI Acceleratorライセンスは、以下の機能も利用可
コンパイラ言語が準拠している規約
  • ANSI X3.159-1989 (ANSI C)
  • ISO/IEC 9899 : 1990
  • ISO/IEC 9899 : 1999 (C99)
  • ISO/IEC 14882 : 1998 (ISO C++)
  • OpenMP 3.0サポート
  • マルチコア対応 高速最適化並列コンパイラ
  • (インテル/AMD CPU用)
     PGI C/C++ Server 製品
  • (インテル/AMD CPU + NVIDIA GPU用)
     PGI Accelerator C/C++ Server 製品
PGI製品のお求めは、米国 PGI 社と 20 年以上に及ぶ強力なパートナーであるソフテックへ

PGI (Accelerator) C/C++ Server 製品

PGI SV

 PGI (Accelerator) C/C++ Server は、C++ 並びに ANSI C99コンパイラを含むフローティング・ライセンス製品です。本製品には、MPI/OpenMP 対応の GUI ベースのシンボリック・デバッガ PGDBG 並びに MPI/OpenMP 対応の性能評価プロファイラ PGPROF の各ユーティリティが含まれます。コンパイラの最適化技術は、卓越したプログラム分析機能を提供、1 パスのプロシジャー間の最適化(IPA)、プロファイルに基づく最適化(PFI/PFO)、自動ベクトル化機能、データ・プリフェッチ機能、OpenMP 3.0 規格に準拠した自動並列化機能等のアプリケーションの高速化を支援する機能を有しております。

プログラム言語

 PGI (Accelerator) C/C++ Server は PGI 社のネイティブな並列化機能と最新の最適化機能を具備した、OpenMP 対応の C++ および ANSI C99 コンパイラを含んでいます。 C++ コンパイラは、現在でも提案されている ANSI 標準を取り込み、さらにcfront バージョン 2 および 3 と互換性をもちます。C++ 関数は、全ての Fortran と C の関数と互換性をもちます。したがって、3つの言語で書かれたコンポーネントから一つのプログラムを構成することができます。本製品には STL ライブラリ(バイナリ)が付属します。

並列化機能

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

Windows版、Mac OS X 版について

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

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

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

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

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

動作環境・システム要件

mark対応プロセッサ

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

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

mark メモリ容量

  • 16MB 以上

mark ハードディスク容量

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

mark 周辺機器、その他

  • GUIの使用時、マウスあるいは互換性をもつポインティング・デバイス。オンライン・ドキュメンテーションを閲覧するためのウェブ・ブラウザおよびAcrobat Reader。
PGIコンパイラ機能概要
言語コンパイラ
ツール
  • PGCC OpenMP/自動並列化対応 ANSI/K&R C99 コンパイラ搭載
  • PGC++ OpenMP/自動並列化対応 C++コンパイラ搭載
  • MPICH 1.2.7 ライブラリをバンドル搭載 (Linux 版のみ)
  • PGDBG MPI/OpenMP 対応シンボリック・デバッガ搭載
  • PGPROF MPI/OpenMP 対応性能プロファイラ搭載
  • Microsoft MPI (MS-MPI) 対応の並列シンボリック・デバッガ搭載(Windows版のみ)
  • Microsoft MPI (MS-MPI) 対応の並列プロファイラ搭載(Windows版のみ)
コード
最適化機能
  • AMD, Intel64 上での 64bit フル・サポート -mcmodel=medium による 2GB 以上の単一データ・オブジェクトをサポート(Linux)
  • AMD64 並びに Intel64 の双方に最適化された単一の実行モジュール生成 (PGI Unified BinaryTM 機能)
  • AMD Opteron 並びに Intel64 向けの最適化(SSE/SSE2/SSE3/SSSE3, SSE4.2/AVX、SSE4a/ABM, prefetching, 拡張レジスタの使用、64bitアドレッシング)
  • Intel Pentium II/III/4/Xeon、AMD Athlon/AthlonXP 用の最適化 (SSE/SSE2, prefetching)
  • NUMA アーキテクチャに対応する最適化
  • huge pageサポートを含むメモリ階層とメモリ割付の最適化
  • 高速ライブラリ 32bit/64bit 対応 AMD Core Math Library(ACML) を含む (BLAS, LAPACK, FFT, 乱数発生)
  • Intel Math Kernel Libraries (MKL) (MKL) 10.1以降のライブラリをリンク可能
  • 高度に最適化された数学内部組み込み関数
  • 高度に最適化されたIntel(R) MMX, SSE1/SSE2/SSE3 組込み関数ライブラリ(C/C++ only)
  • ワンパス IPA 最適化(内部手続き間最適化)
  • ライブラリも IPA 最適化可能
  • プロファイル・フィードバック最適化(PFO最適化)
  • gcc, g77, gdb との互換性あり(Linux 版)
その他の機能
  • ライブラリ関数を含むインライン化
  • ベクトル化、最適化のためのディレクティブ、プラグマの提供
  • 非常に高度な依存性解析とグローバル最適化機能
  • コンパイル時の最適化情報のリスティング機能 (-Minfo)
  • Common Compiler Feedback Format(CCFF)コンパイラ最適化情報表示
  • 共有ライブラリの作成機能 (Shared objects on Linux, Dyanamic libraries on Mac OS X, DLLS on Windows)
  • cpp プリプロセッシング機能
  • C 、C++上での 拡張 asm サポート
  • Cray/IBM/DEC コンパイラ互換性 (Cray ポインタ、DEC STRUCTURE/UNION を含む)
  • 業界標準のライブラリ・アプリケーションの動作を PGI コンパイラで検証
各言語、機能
特徴
  • (C/C++)
    -ANSI C99 完全準拠
    -ANSI 並びに K&R C コンパイル・モードあり
    -ANSI C++ Standard に追随、並びに EDG 4.1 C++ front-end
    -C++ クラス・メンバー・テンプレート
    -C++ 部分整列と部分特殊化機能
    -C++ 明示的なテンプレート修飾
    -GNU 形式のテンプレートのインスタント化
  • (並列機能)
    -スレッドベースの Forループ自動並列化機能 (C/C++)
    -フル・ネイティブな OpenMP 並列化pragma行 (C/C++)
    -OpenMP 3.0 のフルサポート、256スレッドまで対応
    -マルチコア向けの自動並列化機能強化
    -SGI 互換 DOACROSS 指示行 (F77/F2003)
    -SMP/OpenMP アプリケーションに対する CPU-プロセスアフィニティ(結合)サポート
    -通信スケジュールの再利用化
    -コンカレント(同時)サブルーチン・コールサポート
    -PGI Debugger/Profiler は、ローカルシステム上で 8 MPI プロセスまで対応
Windows版
特記事項

PGIコンパイラ最適化機能

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

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

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