2015 Fiscal Year Research-status Report
GPGPUプログラミング容易化のためのMapReduceアルゴリズム処理系の開発
Project/Area Number |
26330088
|
Research Institution | Osaka Prefecture University |
Principal Investigator |
藤本 典幸 大阪府立大学, 理学(系)研究科(研究院), 教授 (90294165)
|
Project Period (FY) |
2014-04-01 – 2017-03-31
|
Keywords | 超高速情報処理 / 並列処理 / GPGPU / MapReduce |
Outline of Annual Research Achievements |
本研究の目的は,並列処理やGPGPUに関する知識が無い一般的なプログラマでもGPUの高性能を容易に利用可能とするために,逐次C言語で記述されたMapReduceプログラムを効率の良いGPGPUプログラムに自動変換するコンパイラを開発することである.この目的の達成のために,(1)逐次C言語によるMapReduceプログラム記述のためのAPIの設計,(2)(1)で設計したAPIを用いて記述されたMapReduceプログラムをそのまま逐次Cプログラムとして実行するためのライブラリの開発,(3) MapReduceプログラムをソースプログラムの修正無しにそのままマルチコアCPU上で並列実行するためのライブラリの開発,をまず行い,いくつかのアプリケーションを用いて評価実験を行いつつ,GPGPUに関するこれまでの研究経験[6頁,7頁の30本の研究業績の全て]を活かしてこれらを徐々に発展させる形で, (4)単一GPU用コンパイラの開発,(5)単一PC上の複数GPU用コンパイラの開発,(6)GPUクラスタ用コンパイラの開発,を行う. 平成27年度は,まず,いくつかの簡単なMapReduceプログラムを平成26年度に開発したAPIとCPU用コンパイラを用いて開発し,さらにこれらを用いて,やはり平成26年度に試作した単一GPU用コンパイラの改良と実行性能の評価を行った.その結果,MapReduceプログラムの記述自体は改良したAPIを用いて問題なく行えることがわかったが,試作したGPU用コンパイラでは,細粒度のMapReduceアルゴリズムが対象の場合,CPU-GPU間のデータ転送がボトルネックになることがわかった.
|
Current Status of Research Progress |
Current Status of Research Progress
3: Progress in research has been slightly delayed.
Reason
当初計画では今年度中に複数GPUに対応したコンパイラの試作まで行う予定であったが,昨年度に試作した単一GPU用コンパイラでは一部記述できないMapReduceアルゴリズムがあることが判明したため,APIおよびコンパイラの仕様変更および改良を行う必要が生じたため,作業にやや遅れが生じている.
|
Strategy for Future Research Activity |
現在の単一GPU用コンパイラは,複雑なMapReduceアルゴリズムにも比較的容易に対応するため,NVIDIA社のGPUのUnified Memory機能を用いて実装している.しかしNVIDIA社のGPUはCPUとは物理的に分離されたディスクリートGPUであるため,Unified MemoryはCPU-GPU間の通信がボトルネックになりやすい.またUnified Memoryで使用できるメモリ容量は,GPUのVRAMの容量(一般的な製品では2GB程度)に制限される.このため,今後は,CPUとGPUが物理的に同一のメモリを用いるIntel社とAMD社のCPU内蔵GPUを対象とし,開発言語としてCUDAに代わってOpenCLを用い,CUDAのUnified Memoryに代わってOpenCLの仮想共有メモリを用いることにより,CPU-GPU間の通信のオーバーヘッドを削減したコンパイラを開発する予定である.
|
Causes of Carryover |
他の予算により支出が抑えられたため
|
Expenditure Plan for Carryover Budget |
研究発表のための旅費の一部に充当する予定
|
Research Products
(7 results)