研究課題/領域番号 |
15K12008
|
研究機関 | 大阪大学 |
研究代表者 |
伊野 文彦 大阪大学, 情報科学研究科, 准教授 (90346172)
|
研究分担者 |
水谷 泰治 大阪工業大学, 情報科学部, 講師 (10411414)
|
研究期間 (年度) |
2015-04-01 – 2018-03-31
|
キーワード | 高性能計算 / CUDA / MPI / GPU / 並列処理 |
研究実績の概要 |
本研究の目的は,グラフィクスハードウェアGPU(Graphics Processing Unit)において有用な遅延隠蔽指向の記述モデルを,分散メモリ型並列計算機上に展開し,そのプログラミング労力を軽減することである.そのために,GPUの統合開発環境としてもっとも普及しているCUDA(Compute Unified Device Architecture)を分散メモリ型並列計算機向けに拡張し,その記述のみでノード間通信を伴う超並列処理を実現することを目指している.また,その労力および実効性能に関して,提案記述モデルを評価し,データ分散を伴う大規模並列計算の可能性を,GPUクラスタ上に発展させて検討する.
平成27年度は,分散CUDAの実現方針として拡張方式および再利用方式の可能性を検討し,後者に関して行列積を題材として手動動作版を実装し,その実効性能を評価した.結果,来年度以降,再利用方式をもとにノード間通信を伴う超並列処理の実現を目指すこととした.なお,CUDAのスレッド階層を拡張する拡張方式に関しては,CUDAプログラムの書き換えが必要であり,MPI+OpenMP+CUDAの組み合わせに起因するプログラミング労力を軽減することは難しいと判断し,採用を見送った.
開発した再利用方式は,単一ノード単一GPU向けに記述したCUDAプログラムを入力として,単一ノード複数GPU上で動作するCUDAプログラムに変換する.この際,入力プログラムに対する静的な分析を基に,そのままではGPUメモリ上に格納できないような多次元データを細分割し,大規模データに対する超並列計算を実現する.この変換の前提条件として,CUDAプログラム内で参照する配列のインデックス計算がアフィン関数で表現できる必要があることを明らかにした.
|
現在までの達成度 (区分) |
現在までの達成度 (区分)
2: おおむね順調に進展している
理由
当初の計画通り,来年度以降に取り組むランタイム開発のための実現方針を事前評価に基づいて決定できたため,おおむね順調に進展していると考えている.なお,ノード間通信を伴う計算を実現できていない点は進捗が遅れているが,実現方針の核となる,データ分割を伴うプログラム変換の原理を確立できた点は当初の計画以上の進捗である.
|
今後の研究の推進方策 |
当初の計画にしたがい,分散CUDAのためのランタイムを開発し,クラスタ計算機上で分散CUDAによる並列実行を実現する.そのために,まず単一ノード単一GPU向けに記述されたCUDAプログラムを,単一ノード複数GPUの計算環境上で加速するためのプログラム変換機構を開発し,その複数ノード計算環境への拡張を図る.複数GPU環境は,それ自体が分散メモリ型並列計算機とみなせるため,この拡張は容易であると考えている.
|
次年度使用額が生じた理由 |
次年度にまとめて執行した方が効果的であるため,端数を使い切ることを避けた.
|
次年度使用額の使用計画 |
ランタイムの成果を発表するために国内旅費として執行する予定である.
|