特許
J-GLOBAL ID:200903021099504962
プログラムの並列化実行方法及び並列化実行コンパイラ
発明者:
,
,
出願人/特許権者:
代理人 (1件):
合田 潔 (外2名)
公報種別:公開公報
出願番号(国際出願番号):特願平6-154942
公開番号(公開出願番号):特開平8-030561
出願日: 1994年07月06日
公開日(公表日): 1996年02月02日
要約:
【要約】【目的】 ループを複数のプロセッサに分割して並列に実行することにより、プログラムの実行を高速化する。【構成】 先ず、ソース・プログラム中の並列化の対象となるループが見出される。次にこのループに対して、データ依存性の解析が行われ、これによってデータ依存性ベクタが計算される。次に、ループが実行するインデックスの領域のすべての領域が分割され、複数のプロセッサに割り当てられる。さらに、個々のプロセッサで、他のプロセッサとの間のデータのやり取りの必要性が解析される。次に、配列のインデックス空間に基づいて通信ベクタの計算が行われ、データ依存性ベクタと通信ベクタとの論理積により通信依存ベクタの計算が行われ、通信依存ベクタの値に応じてオペランドの通信形態の判定、及びループの実行形態の判定が行われる。
請求項(抜粋):
複数のプロセッサをもつコンピュータにおいて、ソース・プログラムにおけるループを複数のプロセッサに分割して並列に実行させることにより、プログラムの実行を高速化するための方法であって、(a) ソース・プログラムを読み込む段階と、(b) 上記ソース・プログラムにおいて、並列化すべきループを設定する段階と、(c) 上記設定されたループに関して、true dependence及びanti dependenceを示すデータ依存性ベクタを決定する段階と、(d) 上記ループのイタレーション空間を分割して、上記複数のプロセッサに割り当てる段階と、(e) 上記複数のプロセッサに割り当てられた各々のイタレーション空間において、並列処理のため他のプロセッサからデータを読み込む必要がある部分を決定する段階と、(f) 上記イタレーション空間において他のプロセッサからデータを読み込む必要があると決定された領域に関する情報に基づき、通信ベクタを計算する段階と、(g) 上記データ依存性ベクタと上記通信ベクタに基づき、通信依存性ベクタを計算する段階と、(h) 上記通信依存性ベクタの値に基づき、通信形態を判定する段階と、(i) 上記判定された通信形態に基づき、各オペランド間の通信方法を検出することによって、通信方法及びループ実行方法を指定するコードを生成する段階を有する、プログラムの並列化実行方法。
IPC (2件):
G06F 15/16 430
, G06F 9/45
前のページに戻る