PGIトップ › PGI製品 › PGIツール › PGDBG(デバッガ)

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

OpenMP / MPI 対応 PGI® PGDBG 並列デバッガ

  • マルチスレッド、MPI 並列対応シンボリック・デバッガ
  • Fortran、C、C++用デバッガ
  • 32ビット/64ビット対応 Linux、Windows、Mac OS X のコンパイラ製品にバンドル
PGI製品のお求めは、米国 PGI 社と 20 年以上に及ぶ強力なパートナーであるソフテックへ

並列対応のGUIベース・シンボリック・デバッガ

 PGDBG は、従来のシリアルなプログラム用のデバッグだけでなく、MPI 並列プロセス 並びに OpenMP スレッド並列対応のデバッグを行うことができるシンボリック・デバッガです。32 ビットあるいは 64 ビットのプロセッサを搭載するLinux/Windows/Mac OS Xのシステム上で使用できます。本デバッガ・ユーティリティは、PGI Workstation 製品、PGI Server/PGI CDK 製品のいずれの製品にも付属しています。

 MPI プロセス並列のデバッグ機能に関しては、PGI Workstation 製品と PGI Server 製品クラスの製品では、 ローカルなシステム上で、それぞれ 8 MPIプロセス、16 MPIプロセスまでの MPI デバッグ機能を使用できます。Windows 版では、Microsoft(R) Windows 上で実行する MS-MPI 並列プログラムのデバッギング機能を提供します。Mac OS X 版では、Open MPI 対応の MPI デバッグ機能を提供します。 PGI CDK 製品には、リモート並びにローカルプロセスのどちらの MPIプロセスにも対応するデバッギング機能を提供します。

個々のスレッドをコントロール

 PGDBG は、スレッド一つひとつを独立に制御可能であり、OpenMP スレッド、pthread 単位でのデバッグが可能となります。個々のスレッド単位で、Break, Next, Step, Continue, Wait, Halt 操作が可能だけでなく、スレッドをグループとして集団制御することも可能です。

PGI DEBUG画面例

強力な GUI 機能

 スレッドプログラムによる並列プログラムのデバッグは、従来、極めて難しい作業を強いられてきました。この困難なタスクを支援するために、PGDBG は自由度の高い GUI による操作機能を提供します。PGDBG は、一つのウィンドウを使用して、マルチコア・ノード上の各スレッドの正確な管理を行っています。Main ウィンドウは、F77, F2003, C あるいは C++ プログラムのソースコードを表示し、Run, Break, Quit, Print, or Stack traceback のような機能コマンド毎のワンタッチボタンを具備しています。また、Main ウィンドウは、スレッドを個々に操作したり、集合的に操作できる機能を有します。さらに、入出力は Main ウィンドウ内で表示あるいは、I/O ウィンドウで表示できます。Disassembly(逆アセンブルコード)ウインドウでは、高級言語ソースがどのようにアセンブルコードのコンパイルされているかをみることができます。また、ソースコードと逆アセンブリコードを退避して表すこともできます。アセンブリコード上においても、ステップ実行、ブレークポイントの指定も可能です。Active thread ウィンドウでは、現在のスレッドの状況を見ることが可能です。Register ウィンドウでは、現在のレジスタの値を様々なフォーマット(integer, hex, floating point, etc.)で表示することができます。Customer Display ウィンドウでは、実行中のプログラムのフォーカスしたい変数、メモリ領域部の値を表示し、その更新追跡が可能となります。個別の I/O ウィンドウでは、デバッグセッションからの標準入力、標準出力を表示します。

PGI DEBUG画面例

使いやすさ

 PGDBG は、F77, F2003, C あるいは C++ プログラムに対するデバッグ機能を提供しますが、それは、従来のブレークポイント、ウォッチポイント、値の表示の表現式等の拡張コマンド言語を有する DBX と互換性を有します。PGDBG を使用することによって、ソースレベルあるいはアセンブルレベルでの実行の制御と状況の評価が可能となります。さらに、並列リージョン内では、各スレッドのコンテキストスイッチを行って各スレッドの状況を見ることもできます。また、コンパイル時に -g -Mdwarf{1|2|3} オプションを指定することにより、GNU gcc, g77 コンパイラとの相互運用も可能となります。詳細は、PGI Tools Guide(PDF) をご参照ください。

PGI DEBUG画面例

PGI DEBUG画面例

PGDBG デバッガ機能概要
機能性
  • F77、F95、C および C++ プログラムのデバッグ
  • アセンブリ言語のデバッグ
  • 32ビットあるいは64ビットのプロセッサ対応のデバッグ
  • 並列の OpenMP/MPI プログラム対応
  • MPI + OpenMP ハイブリッド型並列のデバッグも可能
  • MPICH-1, MPICH-2 MVAPICH-1, HP-MPI に対応(Linux版)
  • MS-MPI に対応 (WIndows版)
  • Open MPI に対応 (Linux/Mac OS X版)
  • Linux thread および NPTL thread ライブラリをサポート
  • PGI CDK 製品にバンドルされているデバッガは、プロセスレベルの MPI デバッギング, スレッドレベル OpenMPデバッギング並びに MPI and OpenMP ハイブリッド構成のデバッギングをサポートし、最大 256 (MPI プロセス+ OpenMP スレッド)までのデバッグが可能
  • スレッドレベルの OpenMP のデバッグは最大256スレッドまで
  • メッセージ・キューの確認
  • DBX と互換性をもつコマンド
  • ワンタッチでブレークポイントを設定
  • Step 実行、関数超え実行、関数からの退出実行可能
  • Watchpoints機能
  • Traceback機能
  • ワンタッチで、シンボルを表示可能
  • 値またはキャラクタを複数のフォーマットで表示可能
  • 強力なヘルプ機能
  • GNU gcc および g77 との相互運用可能
  • (Windows版) Microsoft Visual C++ との相互運用性が向上し、PGI Fortran と Visual C++ の混合プログラムのデバッギングをサポート
GUI Windows
  • メイン・ウインドウ
  • ソースコード上でのブレークポイント表示
  • タブ形式各種データ表示ウインドウ
  • コマンドボタン
  • Disassembly(逆アセンブルコード)ウインドウ
  • カスタム表示ウインドウ - 変数並びに配列セクションをトレースする機能
  • 複数のフォーマット表示
  • アクティブ・スレッド・ウインドウは状態と位置を表示
  • レジスタ・ウインドウ (formatted register states)
  • メモリ・ウインドウ (formatted memory segments)
  • MPI stateのメッセージの表示
プロセス/スレッド制御
  • OpenMPスレッドは、個々あるいは集団的に制御可能
  • 個々の MPI プロセスの制御 (Linux のみ)
  • OpenMPスレッドの自動検知とアタッチ機能
  • MPI プロセスの自動検知とアタッチ機能 (Linux のみ)
  • OpenMPの Private 変数のビュー機能
  • 各 MPI プロセスのMPI message queuesの確認 Linux のみ)
  • 色分けされて識別可能なスレッド/プロセスの動作状況
  • スレッド/プロセスを同期させる機能
  • 各スレッドに対して:
    - Break, Next, Step, Continue, Wait, Halt 操作可能
    - スレッドのステータスおよび位置の表示機能
    - スレッド間のコンテキスト・スイッチング
製品ライセンスによる
制約事項

PGI Visual Fortran for Windows

  PGI デバッグエンジンは、Microsoft Visual Studio 2005/2008 の中に
  統合されており、単独の PGDBG ユーティリティは提供しておりません。

PGI Workstation ライセンス

  スレッドレベルの OpenMP デバッギング機能
  ローカルなシステム上で 8 MPI プロセスまでのMPI デバッグ機能 

PGI Server ライセンス

  スレッドレベルの OpenMP デバッギング機能
  ローカルなシステム上で 16 MPI プロセスまでのMPI デバッグ機能 

PGI CDK ライセンス

  スレッドレベルの OpenMP デバッギング機能
  「プロセス数」のライセンスに応じた Local/Remote MPI プロセス
  デバッギング機能対応

動作環境・システム要件

mark対応プロセッサ

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

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

mark メモリ容量

  • 128MB 以上

mark ハードディスク容量

  • 400MB以上

mark 周辺機器、その他

  • GUIの使用時、マウスあるいは互換性をもつポインティング・デバイス。オンライン・ドキュメンテーションを閲覧するためのウェブ・ブラウザおよびAcrobat Reader。

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