研究概要 |
1.逆融合変換は,逐次プログラムから並列プログラムを自動的に導出することを目的としている.この基となるのが逆融合定理(Hu,et.al.[PEPM'99])で,これは,いくつかの条件を満たす再帰的関数を効率良い並列スケルトンの組み合わせとして変換することが可能なことを示している. この定理を用いたプログラム変換システムを構築するにあたって,定理が適用可能であるかの判定条件を実装しなければならない.そのためには演算子の属性判定,すなわち変換の際に現われる演算子が単位元を持つ結合的演算子であるかを判定するアルゴリズムが必要となる.そこで,まだ非常に限定的なものではあるが,この判定をするための基礎となるアルゴリズムを構築した.これは,条件を満たすいくつかの基本演算子を予め一覧表に登録し,これを用いて組み合わされた演算子の判定も行なえるようにするものである.来年度は,これをさらに一般的なものに拡張する予定である. 2.上記の定理を適用後のプログラムを効率良く並列計算させるための下地となる,並列計算ライブラリの作成に着手した.これは,汎用の並列計算ライブラリであるMPIを用いていて,PCクラスタ上で実行させることを想定している. また,上記ライブラリは関数型言語上での自動変換を目指したものであるが,これとは別に,上記の逆融合変換を人間の手で行なうことによって導かれたプログラムををC++言語で記述し,これを実行するための並列スケルトンを作成した.これにより,規模の小さい例については並列計算による台数効果が得られることを確認した.今後は,大きい例に対する検証や,現在は扱えないリストや木以外の再帰的関数に対する変換も行なう予定である.
|