配列整合解析に基づく自動データ分割手法

書誌事項

タイトル別名
  • ハイレツ セイゴウ カイセキ ニ モトズク ジドウ データ ブンカツ シュホウ
  • An Automatic Data Distribution Method Based on Array Alignment Analysis

この論文をさがす

説明

大規模な分散メモリ型計算機向けにプログラムを並列化する際に,HPF などの並列プログラミング言語を用いることでプロセス間のデータ通信などを含む並列プログラムを自動的に生成することがが可能となってきた.しかしながら,HPF などでプログラムを記述するには,プログラマが配列変数などの分割を決定して手動で記述する必要がある.本論文では,このデータ分割を自動的に決定するための新たな配列整合解析手法を提案する.従来のデータ分割決定手法としては,Component Affinity Graph (CAG) と呼ばれるグラフを用いた複数の配列の次元間の関係を解析する手法が提案されているが,提案手法では,多重ループにおける多次元配列の参照関係を,ループの並列性を考慮しながら解析することで,より的確なデータ分割を求めることを可能とする.本手法を用いて NPB 3.2-SER BT ベンチマークのデータ分割を解析して HPF ディレクティブが挿入された Fortran プログラムを生成することが可能となった.生成された HPF プログラムを商用の HPF コンパイラを用いて並列化して PC クラスタで実行したところ,NPB3.0-HPF と同様の台数効果が得られた.

When a programmer parallelizes programs for large-scale distributed memory machines, it has been enabled for programmers to generate parallelized programs with inter-process data transfers by HPF language. However, it is required for programmers to specify distribution for arrays when they write HPF programs. Therefore, this paper proposes a new method for array alignment analysis to determine array data distribution automatically. One of the conventional data distribution methods is the Component Affinity Graph (CAG) based method where relations between multiple array dimensions accessed in nested loops are analyzed. With our method, it is possible to determine more proper data distribution for arrays in multiply nested loops by analyzing relations of dimensions of the arrays under consideration of parallelism of the loops. With the proposed method, the Fortran program where HPF data distribution directives are inserted can be generated automatically. The generated HPF program was parallelized by the PGI HPF compiler and executed on a PC cluster. We confirmed that scalability of the benchmark is close to those of NPB3.0-HPF.

収録刊行物

キーワード

詳細情報 詳細情報について

問題の指摘

ページトップへ