著者
桑原 悠太 塙 敏博 朴 泰祐
雑誌
研究報告ハイパフォーマンスコンピューティング(HPC) (ISSN:21888841)
巻号頁・発行日
vol.2015-HPC-151, no.12, pp.1-8, 2015-09-23

近年,GPU クラスタでは,GPU プログラミング環境として CUDA (Compute Unified Device Architecture) が標準的に用いられている.GPU クラスタ上での並列アプリケーションでは,CUDA 環境おいて,ノードを跨ぐ GPU 間通信が発生し,MPI などによりホスト CPU が処理するのが一般的である.そのため,通信が発生する毎に GPU 上の CUDA カーネルからホストに一旦制御を戻す必要があり,カーネル関数の起動や同期に伴うオーバーヘッドが生じる.特に並列処理における通信粒度が細かいほど,カーネル関数の起動回数も増え,オーバーヘッドも増加する.それだけでなく,プログラミングのコストが高く,CPU 向け MPI プログラムを GPU 並列化する場合にソースコードが煩雑になりやすいといった生産性の低下も問題となっている.これらの問題を解決するために,本研究では GPU カーネル内から MPI 通信の起動を可能とする並列通信システム “GMPI” を提案・開発する.これにより,並列 GPU プログラミングを簡単化し,GPU カーネルの起動や同期に伴うオーバーヘッド削減による並列処理効率の向上を目指す.本稿では,GMPI の実装と,Ping-Pong 通信および姫野ベンチマークの性能評価を行う.現状では性能最適化やチューニングが十分でなく,Ping-Pong 通信では従来方式とほぼ同等の性能であるが,姫野ベンチマークでは従来手法の約半分の性能が得られている.