IWPC++ (International Workshop on Parallel C++) の報告
TRC超並列パフォーマンス研究室
松田 元彦
RWCP主催、日本ソフトウェア科学会協賛による並列C++に関する国際ワークショップIWPC++(International Workshop on
Parallel C++)が
3月11、12日に金沢のJAIST(北陸先端科学技術大学院大学)において開催されました。これは’95年9月26、27日にかけて開催された「Mini-Workshop
on Advanced Computing in C++」に続き、海外から多くの研究者の参加を受けての開催でした。
3月初旬の金沢はまだ寒く、雪が降ると聞いていたのですが、行ってみると暖かく、雪もほんの少し降っただけでした。雪国での開催という恐れもなんのその、ワークショップには、たいへん快適に参加することができました。
また、この週(8日~15日)の JAISTでは、オブジェクト・ウィークということで、国際シンポジウム ISOTAS(International
Symposium on Object Technologies for Advanced Software)を中心に、IWPC++、WOOC(Workshop
on Object-Oriented Computing)、WINGS(Workshop on Design and Integration of New
Generation Software Systems)などのオブジェクト指向に関する会合が開催されました。
C++言語の並列化は、C++言語の持つオブジェクト指向の機能やその柔軟性を生かす方向で検討されており、これは科学技術計算でのFortran等の並列化と同様に期待されています。
IWPC++は、並列C++に関して以下のものを主要テーマとしています。
・並列言語拡張 ・コンパイラ/ランタイム技術 ・クラス、テンプレートライブラリ ・並列アプリケーション ・並列プログラミング環境
今回のIWPC++では、米国を中心に、欧州、日本から計17件の発表と1つのパネル・セッションがありました。
発表はアプリケーション、並列計算ライブラリ、並列C++言語や性能評価などにわたるもので、並列C++関係の有名どころが一斉に揃ったという感じでした。
IWCP++での発表風景
●言語 言語については、Charm++、EC++、Compositional C++、Illinois Concert
C++、MPC++、OpenC++ など多数の発表がありました。
Charm++言語については、過去数年にわたる仕様変更の過程で得られた経験などについて発表がありました。EC++は並列C++環境を標準化するための枠組であり、発表では概要が紹介されました。Compositional
C++ではプログラミング・スタイルの紹介とランタイム・システムについての説明があり、Illinois Concert
C++ではシステムの性能評価に関して報告がありました。
MPC++では、ユーザが言語に新規のシンタックスやコード生成法を導入可能で、発表ではグローバル・ポインタやデータ並列オブジェクトといった並列構文の実現方法についての説明がなされました。これらの他、並列構文の再構成や変換などを行う最適化コンパイラについてや、スレッドや同期モデルの実現に関する長所/短所について検討した報告もありました。
●ライブラリ ライブラリについては、LPARK/KeLP、A++/P++、ABC++などについて発表がありました。 LPARK/KeLPライブラリは分子動力学などの問題に対してデータの配置等を抽象的に表現するものであり、A++/P++は配列クラス・ライブラリで、ループ構造やインデックスなどを簡潔に表現するものです。 ABC++は複数のパラダイムを提供するライブラリです。これらは概要について説明されました。 その他
Standard Template Library(STL)の並列化に関する最近の進展についての報告もありました。
●アプリケーション アプリケーションについては、C++によるプラズマ粒子シミュレーションでの経験についての報告がありました。 物理的対象のモデル化に対する並列オブジェクト指向の利点に関する検討の必要性について述べられました。
パネル討論(中央はRWCP石川室長)
●パネル 「Is Parallel STL A Golden Road to OO Parallel
Programming?」というタイトルでパネル・セッションが行われました。ここでは逐次ライブラリでは標準となった Standard Template
Library(STL)が並列計算でも使いものになるかという点についてそれぞれの立場から議論がなされました。 アプリケーション、言語、ライブラリの関係者が一堂に会することは意義深いことだと思います。私自身は並列C++言語の世界に入ったばかりなので、このようなワークショップに参加できたことは、有益な刺激となりました。
|