iPat(interactive Paralellizing assistance tool ) はその名の通り、対話的にプログラム並列化を実現するための支援ツールです。2003年から開発が始まりました。現在開発が止まってしまっています。そこで、この開発を先に進めるべく、一念発起してこのページを立ち上げました。iPatは2004年にリリースされており、そのコンセプトは次の通りです。
- コモディティーエディターに組み込むことで、そのエディタ上で対話的に並列化支援を受けることができます。今までのiPatはGNU Emacsへ組み込むことのできる機能を持っています。
- iPat はユーザの指示に従って各機能を提供しますが、情報を提供するだけにとどまりプログラムリストラクチャリング以外でを改変することはありません。これにより以下が期待できます。
- プログラムの可読性の維持:ユーザがプログラムの可読性は、プログラムの編集のし易さに直結します。
- プログラムの並列化可否判断をユーザに任せることによって、プログラムのオーバヘッドだけが増えるプログラム並列化を防ぐ可能性があります。
- iPat は開発中を含む4つの機能でユーザを支援します、
- 並列性解析機能:プログラム中からユーザが指定したプログラム部分、もしくは全プログラムから、並列化可能な場所をユーザに提示します。
- ディレクティブ提供機能:ユーザが指定したプログラム部分についての並列化に必要なOpenMP/OpenACCディレクティブを提供します。
- 実行時間解析機能;ユーザが指定したプログラム部分の実行時間を提供します。
- プログラムリストラクチャリング機能:プログラムの並列化や最適化に必要なプログラム構造変更を実現します。
現在、開発が止まっている理由は、使用していたOmniOpenMPコンパイラがOmniコンパイラになった時点で大幅な仕様変更があり、 その変更に対応できていないことと、開発者の圧倒的な時間不足があります。
今後、以下のことを予定しています。
- OmniCompilerへの対応
- OepnACC対応
- プログラムリストラクチャリング機能を含む全機能のブラッシュアップ
参考文献:
- Development and Implementation of an Interactive Parallelization Assistance Tool for OpenMP: iPat/OMP 石原 誠,本多 弘樹、佐藤 三久 IEICE - Transactions on Information and Systems E89-2 399-407 2006年2月
- Development and implementation of an interactive parallelization assistance tool for OpenMP: iPat/OMP Makoto ISHIHRA,Hiroki HONDA and Mitsuhisa SATO The 4th International Workshop on OpenMP: Experiences and Implementations(WOMPEI 2005) 2005年
- OpenMPプログラム作成を支援する対話型ツールiPat/OMP 石原誠,本多弘樹,佐藤三久 コンピュータシステム・シンポジウムシステム(Comsys2004) 2004年
- Interactive Parallelizing Assistance Tool for OpenMP iPat/OMP, Makoto ISHIHRA,Hiroki HONDA,Toshitsugu YUBA and Mitsuhisa SATO Fifth European Workshop on OpenMP(EWOMP'03) 2003年
- 対話型OpenMPプログラム作成支援ツールの開発 石原誠,本多弘樹,弓場敏嗣,佐藤三久 情報処理学会研究報告ARC 2003年