本研究の目的は,グラフィクスハードウェアGPU(Graphics Processing Unit)における遅延隠蔽指向の記述モデルを,分散メモリ型並列計算機上に展開し,そのプログラミング労力を軽減することである.そのために,GPUの統合開発環境としてもっとも普及しているCUDA(Compute Unified Device Architecture)を,クラスタなどの分散メモリ型並列計算機向けに拡張し,その記述のみでノード間通信を伴う超並列処理を実現することを目指している.
前年度までに,分散CUDAの実現手法として,GPU向けのカーネル関数をクラスタ上で動作させる再利用方式の優位性を示した.最終年度は,再利用方式の性能を評価するために,LogGPSモデルやルーフラインモデルに基づく性能モデルを開発した.開発した性能モデルは,GPU主導通信,すなわちGPU上で動作するCUDAプログラムから呼び出されるノード間通信を主な対象として,クラスタ全体の性能を予測する.Infinibandネットワークで相互接続された4台のGPUクラスタにおいて,GPU主導通信を用いるステンシル計算を評価した結果,ピーク性能に対して93%程度の高い実行効率を達成できることを確認できた.ただし,その高い実行効率を達成するためには,Infiniband Verbsのような低遅延の通信プロトコルによる通信と計算のオーバラップが不可欠であった.また,効率のよいオーバラップを実現するためのタスク粒度,通信帯域幅や通信遅延を性能モデル上で明らかにした.
このように,GPU向けの遅延隠蔽指向のプログラム記述を用いてノード間通信を伴う超並列処理を実現するためには,ノード間およびGPU内のそれぞれに対して適切なタスク粒度を設定する必要があり,その設定を支援するための性能モデルの有用性を確認できた.
|