[目次] [1ページ目に戻る] [前ページ] [次ページ] [質疑応答]


(3/7)
3.並列プログラム開発環境PPDE

 PPDEは、Stampiを利用した分散並列プログラムの開発を支援するための統合プログラミング環境である。PPDEの他にも各種プログラミングツールを連携させることによりプログラム開発を支援する環境は存在する(例えば[12])が、それらは単一の計算機内でのプログラム開発を対象としているのに対し、PPDEは各種ツールをネットワーク上のサービスとして実装することにより複数の計算機上でのプログラム開発を対象としている。

 PPDEの特徴は、エディタを中心としたツール連携の実現にある。プログラム開発は、一般にプログラムの作成、コンパイル、デバッグ、チューニング、という段階を経て本格的な計算実行に移行するが、この流れは直線的に進行するわけではなく、各段階において手戻りが発生する。手戻り先は常にファイルの編集作業である。このプログラム開発作業の流れに合わせて、従来独立に構築されていたコンパイラ、デバッガ、チューナ等各種ツールをエディタと連携させ、各種ツールから出力された情報をエディタ上のプログラムに対応付け効果的に表示することにより、プログラム開発の円滑化を図っている。

 一例として、コンパイルツールとの連携では、コンパイルエラーメッセージがソースコード上のエラー個所に対応づけられてPPEditorで表示される(図3(a))。


図3(a) PPEditorにおけるツール間連携 −コンパイラとの連携−

 デバッグツールとの連携では、ブレークポイントの設定をPPEditorのソースコード上で行うことができる。また、実行停止位置がPPEditorのソースコード上に表示される(図3(b)左)。プロファイリングツールとの連携では、ループの実行回数、実行時間、通信時間、通信回数等の情報がソースコードに対応づけ表示される(図3(c))。


図3(b) PPEditorにおけるツール間連携 ―デバッガとの連携―


図3(c) PPEditorにおけるツール間連携 −分散並列プロファイラとの連携−

 これらの連携において特徴的なのは、PPEditorが連携対象ツールと交換するデータのフォーマットが共通化されており、連携対象ツールに依存しないことである。従って、そのフォーマットに従ってさえいれば、現在連携が実現されているもの以外のツールとも連携を容易に実現することが可能である。

 PPEditor以外にも、ツールの連携を行う新しい機能を持ったツールの開発も図っている。例えば、デバッガと可視化システムを連携させることにより、デバッガで収集したデータをシミュレーションで定義された物理空間にマッピングして可視化表示する可視化デバッガ[13]、個々の計算機上に存在するプロファイラを連携させることにより分散並列計算における通信データを収集する分散並列プロファイラ等が開発されている。

 可視化デバッガの特徴は、配列データを可視化表示する点である(図3(b)右)。従来のデバッガにも配列データを可視化する機能を持つもの[14]が存在するが、単に配列データの値を配列の添字に対応づけて可視化する機能しか持たない。

 一般に流体計算や構造計算等で計算される物理量は、一般座標系上で定義されている。従って配列データ内に格納された物理量が、格子点の位置に対応づけて表示されることによって、初めて利用者による計算の正誤の判断が可能となる。
本可視化デバッガは配列データに格納された物理量の格子点位置への対応づけを対話的に支援するGUIを提供している。

 分散並列プロファイラは、計算科学技術推進センターで開発された単一並列計算機用プロファイリングツール[15]を分散並列計算用に機能強化したもので、各並列計算機内で行われた通信と並列計算機間で行われた通信に関する情報を区別して収集し提供することにより、分散並列計算プログラムのチューニングを支援するという特徴を持つ。


[目次] [1ページ目に戻る] [前ページ] [次ページ] [質疑応答]