PGIトップ › PGI製品 › PGI Workstation › PGI Visual Fortran

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

PGI (Accelerator) Visual Fortran® (PVF®) ソフトウェア

  • Fortran 77/90/95/2003 の言語コンパイラ
  • Micorosoft® Visual Studio® 統合環境上で使用する Fortran コンパイラ
  • PGI Fortran Workstation/Server (Windows版)製品にバンドル
  • インテル®プロセッサにも AMD プロセッサにも対応
  • NVIDIA社 GPU アクセラレータ・コンパイル機能

PVF画面

付属しているコンパイラとユーティリティ
PGI Acceleratorライセンスは、以下の機能も利用可
コンパイラ言語が準拠している規約
  • Fortran ANSI x3. 1978 (1978)
  • 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
  • OpenMP 3.0サポート
PGI製品のお求めは、米国 PGI 社と 20 年以上に及ぶ強力なパートナーであるソフテックへ

To PGI Workstation

Visual Studio 上で使用可能な PGI Visual Fortran®ソフトウェアだけをご所望の場合も、上記、PGI Workstation/Server 製品をお求め下さい。

Microsoft Visual Studio® 用並列 Fortranコンパイラ/デバッガ開発環境

 PGI Visual Fortran®(PVF®) は、Windows プラットフォームの統合開発環境 (IDE) である Microsoft(R) Visual Studio® 2008/2010 にインテグレート可能な PGI 32ビット並びに 64ビット並列 Fortran コンパイラ並びにデバッガ環境を備えたソフトウェアです。本ソフトウェアは、プラグイン形式で日本語版 Visual Studio® 2008/2010 に統合されます。日本語版 Visual Studio® 2008/2010 上でご利用の場合は、Visual Studio® の日本語メニュー上で利用可能です。

PVF screen
(クリックで拡大画面へ)

対応する Microsoft® Visual Studio バージョン

PVF実装方法 Microsoft® Visual Studio 2008/2010 を予め実装しておき、その後に、PGI Visual Fortran パッケージをインストールする。これにより、PVFがプラグインされます。
PVF は、以下の Microsoft Visual Studio® ソフトウェア上で利用できます
(日本語版を予め導入しておくことで、日本語操作メニューで使用可能)
(1) Microsoft® Visual Studio 2008 Stanard Edition 以上(日本語版) : 別途購入必要
(2) Microsoft® Visual Studio 2010 Professional Edition 以上(日本語版): 別途購入必要
(3) Microsoft® Visual Studio 2008 Shell Integrated mode (日本語版) : 無償入手可能
(4) Microsoft® Visual Studio 2010 Shell Integrated mode (日本語版) : 無償入手可能(推奨)

ハイ・パフォーマンス PGI コンパイラ

 PVF は、PGI 社のネイティブ OpenMP の最新バージョンと自動並列化機能を備えたFORTRAN77 / Fortran 2003 コンパイラです。 PGI コンパイラは、32bit x86, 64bit Intel® 64、64bit AMD Opteron (AMD64) 等のプロセッサを搭載するシステムを含む、一般的なハイパフォーマンスコンピューティング用のプラットフォーム上で利用することができ、これらの広範囲なプラットフォームに対して十分に最適化されたコードを生成することができます。 PGI Fortran コンパイラは、抜きん出た性能を提供すると共に、マルチコア・プロセッサ対応の自動並列化機能並びに OpenMP 3.0 ベースの並列化機能や AMD64 と intel®64 の両方のプロセッサ用のコード最適化を一つの実行モジュール上で実現できる PGI Unified Binary 機能を提供します。さらに、重要な性能を最適化する機能として、内部手続き間の最適化、プロファイル・フィードバック最適化、ライブラリ関数を含むインライン展開機能等が備えています。

PVF screen
(Windows x64 上での Win32/x64 の二つのモード)

 科学技術・エンジニアリングの分野では過去 40 年間に及ぶ Fortran プログラムによる資産に大きな投資を行ってきました。現在においても高性能を得るために、規格拡張されて続けている Fortran 言語を使用して、プログラム資産の開発がなされています。PGI 社の Fortran コンパイラは、過去の Cray、IBM、DEC のマシン上で言語拡張されてきた構文にも対応可能であり、プログラム・ポータビリティに対して優れた機能を有します。

マイクロソフト® Visual Studio との統合環境

 PVF は、迅速なプログラム開発を支援する機能を備えています。 Fortran 言語を想定したテキストエディタは、構文色づけ機能、Fortran 内部組込み関数のTIPS情報表示、構文キーワード・コンプリーション機能等をサポートします。PVF は、自動的にビルドするための全ての依存性を認識します。提供するプロジェクトのテンプレートは、Fortran ダイアログボックス、コンソール、Windows アプリケーション、DLL、静的ライブラリの作成用テンプレートを用意しております。PVF は、Fortran サブプログラムが C 関数をコールする、あるいはその逆ができるように、Microsoft Visual C++ とのオブジェクトのリンクレベルでの互換性を有します(Visual C++ のソースコードは、Visula C++ でコンパイルすることを前提とします)。また、PVF は、Win32 API のフルサポートを含むDEC Visual Fortran(DVF/CVF) と互換である機能も備えております。

MS-VS

 ドキュメントには、PVF ユーザズガイド 、PVF リリース&インストレーションノート、 PGI Fortran 言語リファレンスマニュアルが含まれます。PVF のためのオンラインヘルプは、 Visual Studio ヘルプシステムの中に統合されています。 The PVF ユーザズガイドと PGI Fortran リファレンスは、 PVFオンラインヘルプの一部として提供されます。

PVF screen
(PGI Visual Fortran の「新しいプロジェクト」作成テンプレート画面)

 PVF では、Visual Studio 上の統合開発環境で操作するだけではなく、従来のコマンド・プロンプト上で、コマンドベースで、コンパイラ並びにデバッガを使用することも可能です。PGI Fortran (pgf77、pgf90/pgf95/pgfortran)コマンドが、PGI Workstation 製品と同様なコマンド・インタフェースで使用できます。なお、PVF のコマンド・プロンプトでは、DOSコマンド体系で操作していただくこととなります。(別ソフトウェア体系である PGI Workstation for Windows がインストールされていると、Linux bashシェル環境でも使用することができます。)

PVF screen
(コマンドプロンプト上でのコンパイラの使用例)

並列化機能

 PGI (Accelerator) Fortran Workstation の Fortran コンパイラの並列化技術の特長は、多くのコンパイラ・ベンダーがその並列化機能をアドオンあるいは前処理的な形で実装しているのに対して、PGI コンパイラは、コンパイル機構自身にネイティブな並列化機構を有していることです。これにより、他社コンパイラと較べて、低い並列オーバーヘッドの並列実行が可能となります。これらのコンパイラでは、 コンパイラオプションの設定によりプログラムの自動並列化が可能となるだけではなく、 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 実行並列プロセス数には、ライセンスによる制限はありません。

MS-MPI / OpenMP 対応 PGI デバッガエンジンを搭載

 PVF は、Fortran に必要な言語特有なデバッギング機能を提供するカスタムデバッガ・エンジンを備え、Visual Studio debugger の機能を補強しています。 PVF デバッガ・エンジンは、 シングル・スレッド、マルチ・スレッド、OpenMP、MS-MPI アプリケーションに対するグラフィカル・シンボリック・デバッギング機能を提供します。これは、64ビットあるいは、32ビットアプリケーションのソースコードあるいは、アセンブラ・コードのシンボリックなデバッグを可能とし、レジスタ状況の表示やプロセッサ上のスレッドへのアクセスが可能です。さらに、これは、Visual C++ プログラムと Fortran 混合のデバッギングをもサポートします。 なお、PVF のライセンスでは、MPI の実行デバッグは、インストールしたノードのマルチコア上でのみ可能なライセンスとなっており、他のノードを含めたリモートMPI実行のデバッグ機能は、PVF ライセンスではご利用できません。

PVF Debug
(クリックで拡大画面へ)

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

 PGI Accelerator 製品のアクセラレータコンパイル機能は、Visual Studio 上でご利用いただけます。PGI Accelerator機能に関しては、こちらをご覧下さい

動作環境・システム要件

mark対応プロセッサ

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

mark 推奨オペレーティングシステム ならびに Visual Studio

  • 現行バージョンの対応OSの詳細は、こちらへ
  • Windows® 版には、Microsoft® Open Tools のツール, ライブラリ、インクルードファイル群をバンドルしております。Microsoft Open Tools は、Win32 あるいは Win64 上でプログラムをコンパイル、リンク、実行するためのツール、ライブラリ群から成ります。これ以外の Microsoft® のツール等はご用意する必要はありません。

mark メモリ容量

  • 256MB 以上

mark ハードディスク容量

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

mark 周辺機器、その他

  • GUIの使用時、マウスあるいは互換性をもつポインティング・デバイス。オンライン・ドキュメンテーションを閲覧するためのウェブ・ブラウザおよびAcrobat Reader。
PVF コンパイラ機能概要
Visual Studio 統合
  • Fortran を意識したテキスト・エディタ
  • Fortran の組込み関数に関する tips 情報
  • キーワード・コンプリーション(キーワードの先頭文字を入力すると該当キーワードが現れる)
  • Fortran デバッグ・エンジン搭載
  • サンプルプロジェクト(テンプレート)の提供
Microsoft®
環境との互換性
  • Microsoft(R) Open Tools (ライブラリ、リンカー、アセンブラ)を利用した Windows ネイティブな構築環境
  • Microsoft Visual C++ とのオブジェクトベースの相互運用性 -> VC++ と PGI Fortranの混在オブジェクトのデバッギングと実行モジュールの作成
  • Microsoft MPI library (MSMPI) とのリンク可能(-Mmpi=msmpi オプションで可能)
  • Windows(R) 32-bit API をサポート
言語コンパイラ
ツール
  • PGFORTRAN OpenMP/自動並列化対応 Fortran 77/90/95/2003 コンパイラ搭載
  • PGF77 OpenMP/自動並列化対応 Fortran 77 コンパイラ搭載
  • Microsoft MPI (MS-MPI) 対応の並列シンボリック・デバッガ搭載
  • Microsoft MPI (MS-MPI) 対応の並列プロファイラ搭載
コード
最適化機能
  • 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以降のライブラリをリンク可能
  • 高度に最適化された数学内部組み込み関数
  • ワンパス IPA 最適化(内部手続き間最適化)
  • ライブラリも IPA 最適化可能
  • プロファイル・フィードバック最適化(PFO最適化)
その他の機能
  • ライブラリ関数を含むインライン化
  • ベクトル化、最適化のためのディレクティブ、プラグマの提供
  • 非常に高度な依存性解析とグローバル最適化機能
  • コンパイル時の最適化情報のリスティング機能 (-Minfo)
  • Common Compiler Feedback Format(CCFF)コンパイラ最適化情報表示
  • 共有ライブラリの作成機能 (DLLS on Windows)
  • Cray/IBM/DEC コンパイラ互換性 (Cray ポインタ、DEC STRUCTURE/UNION を含む)
  • 業界標準のライブラリ・アプリケーションの動作を PGI コンパイラで検証
各言語、機能
特徴
  • (Fortran)
    --r8/-i8 コンパイルフラグ、64ビット整数
    -Fortran 95 拡張のフルサポート(PGFORTRAN)
    -Fortran 2003フルサポート(PGFORTRAN)
  • (並列機能)
    -スレッドベースの DO ループ自動並列化機能 (F77/F2003)
    -フル・ネイティブな OpenMP 並列化指示行 (F77/F2003)
    -OpenMP 3.0 のフルサポート、256スレッドまで対応
    -マルチコア向けの自動並列化機能強化
    -SMP/OpenMP アプリケーションに対する CPU-プロセスアフィニティ(結合)サポート
    -通信スケジュールの再利用化
    -コンカレント(同時)サブルーチン・コールサポート
    -PGI Debugger/Profiler は、ローカルシステム上で 8 MPI プロセスまで対応
Parallel Debug Engine
Visual Studio に統合する
並列デバッグ・エンジン
  • 64-bit 並びに 32-bit ターゲットに対するデバッグ機能
  • Fortran と Visual C++混在デバッグ
  • 並列 OpenMP/スレッドプログラムのデバッグ機能
  • Fortran デバッグ・エンジン搭載
  • ワンタッチ・ブレークポイント・セッティング
  • ステップ、オーバ、関数の抜け出し実行
  • 実行プロセスへのアタッチ機能
  • トレースバッグ(実行履歴)、ログファイル、ヘルプ
  • ワンタッチ・シンボリック表示機能
  • 値、文字のマルチフォーマット表示
  • レジスタ状況のトラック
Windows版
特記事項

PGIコンパイラ最適化機能

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

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

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