Real World Computing Project 1992-2001 10年史 RWC NEWS
 RWCP10年史 > RWC NEWS(一覧) > Vol. 17  Jun. 2000
Vol. 17  Jun. 2000
RWC2000テクニカルセッション 並列分散コンピューティング技術分野

手続き間自動並列化コンパイラWPP

佐藤真琴,青木雄一郎,和田清美,飯塚孝好,菊池純男
RWCPマルチプロセッサコンピューテイング日立研究所
{msatoh, yu-aoki, kiyomi, iitsuka, kikuchi}@sdl.hitachi.co.jp

1.はじめに

 我々は、共有メモリ型並列計算機向けの自動並列化コンパイラWPP (whole program parallelizer) を開発している。これは、Fortran77逐次プログラムを手続き境界を越えて解析し、手続き呼出しを含むループを並列化できる。今回、我々は、WPPに 0penMPプログラム自動生成機能を追加した。これにより、WPPによる並列化結果が様々なハードウエア・プラットフオーム上で実行可能となった。また、日立コンパイラのバックエンドとの接続により日立SR8000ネイティブコードも生成可能である。

図1:WPPの構成

2.WPPの解析と並列化様能

WPP(図1)は以下の3フェーズから構成される。即ち、IP(手続き間)スカラ解析、IP配列解析、IP 並列化である。WPPはまた、コールグラフ等を作成する共通フレームワークも持つ。

(1)IPスカラ解析

IPスカラ解析は、各手続き中での変数の読み書きの様子を要約した集合を決定し、手続きクローニングと手続き間定数伝播によってプログラムを簡単化する。その結果、次のIP配列解析の精度が向上する。

(2)IP配列解析

 IP配列解析は、各ループや手続き中で、各配列とそのリージョン(配列添字の集合)から成る集合を計算する。各集合は配列の読み書きの様子を要約した集合である。リージョン表現にはストライドや三角形のような複雑なリージョンを表現可能な連立線形不等式を用いる。

(3)IP並列化

IP並列化は、上記2つの解析で得られた情報を用いて、手続き呼出しを含むループを並列化する。また、IP変数プライベートイヒやIP並列リダクションのような、並列ループ数を増加させるいくつかの手法をループに適用する。

3.0penMPプログラム生成

OpenMPプログラム生成部は、コンパイラの解析情報から0penMP指示文の中間語を作成し、これらを含む全中間語を0penMPプログラムに変換する。

4.評価

2つのベンチマークプログラムからWPPが生成した0penMPプログラムをSGI TM "0rigin TM 2000上で実行し、ほぼリニアな性能向上を得た(図2)。日立SR8000でのネイティブコードの実行結果も同様であった。

5.おわりに

手続き問自動並列化コンパイラWPPに対して、 0penMPプログラム生成機能を追加した。EP、turb3d に対いまぼりニアな性能向上を得た。


SG1はSilicon Graphics,lnc.の商標です。 0rigin*2000はSillconvGraphics,lnc.の商標です。
 

Real World Computing Project (1992-2001)  RWCPメモリアル