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

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

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

  • マルチスレッド、MPI 並列対応シンボリック・デバッガ
  • Fortran、C、C++用デバッガ
  • Linux、Windows、OS X のコンパイラ製品にバンドル
  • OpenPOWER Linux 版には付属していません
  • (廃止予定) 2020年のリリースから PGDBG ユーテリティの提供はありません(終息予定)
PGI製品のお求めは、米国 PGI と 20 年以上に及ぶ強力なパートナーであるソフテックへ

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

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

 MPI プロセス並列のデバッグ機能に関しては、PGI Community Edition / PGI Professional, Node-locked では、 ローカルなシステム上で、16 MPIプロセスまでの MPI デバッグ機能を使用できます。Windows 版では、Microsoft(R) Windows 上で実行する MS-MPI 並列プログラムのデバッギング機能を提供します。OS X 版では、MPICH v3 対応の MPI デバッグ機能を提供します。 PGI Professional, Network floating for Linux には、リモート並びにローカルプロセスのどちらの MPIプロセスにも対応するデバッギング機能を提供します。なお、OpenPOWER版には、PGDBG ユーティリティは付属していません。

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

 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、F2003、C および C++ プログラムのデバッグ
  • アセンブリ言語のデバッグ
  • 64ビットのプロセッサ対応のデバッグ
  • 並列の OpenMP/MPI プログラム対応
  • MPI + OpenMP ハイブリッド型並列のデバッグも可能
  • Open MPI(Linux版), MPICH3(OS X版), MS-MPI(Windows版),SGI-MPI に対応
  • MS-MPI に対応 (Windows版)
  • Linux thread および NPTL thread ライブラリをサポート
  • PGI Professional、Network floating for Linux のデバッガは、プロセスレベルの MPI デバッギング, スレッドレベル OpenMPデバッギング並びに MPI and OpenMP ハイブリッド構成のデバッギングをサポートし、最大 256 (MPI プロセス+ OpenMP スレッド)までのデバッグが可能
  • スレッドレベルの OpenMP のデバッグは最大 64 スレッドまで
  • メッセージ・キューの確認
  • DBX と互換性をもつコマンド
  • ワンタッチでブレークポイントを設定
  • Step 実行、関数超え実行、関数からの退出実行可能
  • Watchpoints機能
  • Traceback機能
  • ワンタッチで、シンボルを表示可能
  • 値またはキャラクタを複数のフォーマットで表示可能
  • 強力なヘルプ機能
  • GNU gccおよびgfortranとの相互運用可能
  • (Windows版)Microsoft Visual Cプログラム(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 software for Windows

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

PGI Professional, Node-locked/Community ライセンス

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

PGI Professional, Network floating for Linux ライセンス

  スレッドレベルの OpenMP デバッギング機能
 256 Local/Remote MPI プロセスのデバッギング機能対応

動作環境・システム要件

mark対応プロセッサ

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

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

mark メモリ容量

  • 128MB 以上

mark ハードディスク容量

  • 400MB以上

mark 周辺機器、その他

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

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