研究概要 |
処理すべきデータがすべてGPUのメモリVRAMに格納可能な場合は,GPUプログラムは実装しやすい. 一方,格納できない場合は,データを分割して処理し,各実行結果を融合することになる.実用上大きなデータ処理の需要は高く,一般的なPCクラスタではよく研究されているが,マルチGPU処理の場合はまだよく解明されていない.それを解明するために,平成21年度は複数GPUを用いて応用問題を解き,GPUコンピューティングにおける性能問題に関して研究した.応用問題は,a) コーンビーム再構成,b) 高速フーリエ変換,c) アミノ酸配列データベース検索,d) 行列積とした. 1. 1台のPCに4台のGPUをコプロセッサ接続する構成が,現在よく用いられている.a)およびb)に関しては,ほぼ4倍弱の良好な台数効果のGPUプログラムが開発でき,実装上の有益な知見を得た. 2. CPU~GPU間のデータ転送を効率的に行うことが,性能のよいGPUプログラムを開発する上で重要である.このデータ転送をマルチGPU環境で効率的に行う方法の開発と,それを支援するミドルウェアを開発した. 3. 多数のGPUを用いるGPUグリッド環境が有望である.PCグリシドのようにスクリーンセーバが起動するときに応用プログラムを実行させる方法を用いるとGPUでの処理時間がPCと比べて短時間なのでGPUグリッドの場合は無駄が多くなる.この無駄を少なくする方法とそれを実行するツールを作成した.その方法で,上記c)とd)を実行し,その有効性を確認した. 4. 単体GPUでe)PET再構成,f)全点対最短経路長,g)全変動最小化を行った.
|