研究概要 |
本研究は,効率のよい並列プログラムを作成するには,並列アルゴリズムや並列アーキテクチャの深い知識を必要とし困難を伴う,という問題点を克服することを目標として,「並列スケルトン」と呼ばれる基本関数を部品として組み合わせて並列プログラムを作成する「スケルトン並列プログラミング」に焦点をあて,理論的基盤の構築,実用的なシステムの開発を目指したものである. 本研究によって得られた成果として, 1)リストのみならず木構造のような再帰データ構造も対象とし,スケルトンの適切な選択と組合せを抽象化するような並列スケルトンの開発と実用化, 2)プログラム運算の発想に基づく,スケルトンの組合せの最適化手法の開発と実用化. 3)C++とMPIを利用した,一般的な並列実行環境をベースとしたスケルトン並列ライブラリシステムの開発と実用化, をあげることができる. 作成したライブラリは,a)従来から提案されているデータ並列のスケルトンに加え,典型的な再帰関数を抽象化したaccmulateスケルトンも提供している,b)余計な中間データ構造を生成させない「融合変換」と呼ばれるプログラム最適化の機構を(ある程度)備えている,といったような,既存のシステムにないいくつかの特長を持っている.さらに,C++に言語的な拡張を一切加えず,標準的な並列ライブラリであるMPIをベースに作動するため,きわめて汎用性に富んでいる.
|