@misc{oai:uec.repo.nii.ac.jp:00002120, author = {島, 圭吾 and Shima, Keigo}, month = {2016-09-20}, note = {2012, GPUは,高性能計算分野において広く使用されている.2012年11月に発表されたスーパコンピュータのランキングであるTOP500では,1位にGPU搭載PCクラスタが,単位電力あたりの性能ランキングであるGreen500では,上位5件のうち3件がGPU搭載PCクラスタである.しかし,GPU搭載PCクラスタで動作するプログラムの開発には多大な労力を要する.具体的な問題として,GPU-GPU間の通信が挙げられる.GPU搭載PCクラスタで動作するプログラムは,GPU上の処理を記述するGPUコードと通信処理を行うCPUのコードで構成される.一般に,ノード間通信に利用するMPIはCPUコードに記述する必要があり,GPUコードには直接記述できない.従ってプログラマは,GPUコードとMPI処理を実行するCPUコード,さらに,GPU-CPU間のデータ授受の3種類のコードおよびデータ構造を管理しなければならない.そこで本研究では,GPU同士のデータ授受を見通しよく記述するために,MPIを埋め込み可能なGPUプログラミングフレームワーク"FLAT"を提案する.FLATはGPUコードにMPI関数を記述可能であるため,GPU間の通信で管理する必要があるのは,GPUコード内に記述する通信コードと転送対象のデータ構造のみである.従って,プログラミングコストを軽減することができる.GPUコードに埋め込まれたMPIは,コンパイル時にCPUでのMPI処理の要求に変換され,CPU上のランタイムルーチンによって適切に実行される.NVIDIAC1060を搭載したPCクラスタを用いて,FLATを用いた実装とMPI関数を明示的にCPUコードに記述した通常のプログラミング手法による実装とを比較した.その結果GPUコードの計算粒度が粗粒度の場合,FLATを用いた実装の性能低下率は3%以下であり,実行性能で遜色ない結果が得られた.}, title = {FLAT: MPIを埋め込み可能なGPUプログラミングフレームワーク}, year = {}, yomi = {シマ, ケイゴ} }