@misc{oai:uec.repo.nii.ac.jp:00008475, author = {伊藤, 一輝}, month = {2017-03-14, 2017-03-14}, note = {2016, GPUは数値流体シミュレーションやディープラーニングの分野に応用するGPGPUとして多岐に渡る発展を見せ広く普及してきた. GPUは豊富な計算資源を所有しており大規模な並列演算が可能で年々性能が飛躍的に向上している. しかし, 大規模なシミュレーションや数値流体計算問題をアプリケーションプログラムとして実行するには単体のGPUではメモリなどの計算資源が不足する. 通常は並列コンピューティングで用いられるMPIとGPGPUで用いられるCUDAを利用することでGPU間あるいはノード間での通信を行い不足する計算資源を補う. また当研究室で扱っているDS-CUDAはネットワークに接続されたサーバ上のGPUを仮想化するミドルウェアで, クライアント側でソフトを書き換えることなくリモートのGPUの計算資源を用いたGPGPUによって同様の問題を解消することが可能である. しかし, 大規模なデータに対し高並列化のプログラムを実装するとレイテンシが大きくなり通信速度が向上しないという問題が新たに発生する. 対策としてはDS-CUDA APIのdscudaMemcopies()を利用することで, サーバ上のGPU間の通信をPeer to Peer(P2P)で並列に処理することで高速化が可能になっている.  そこで本研究では, 3次元Euler方程式からRayleigh-Taylor不安定性の成長シミュレーションを解く数値流体計算用のコードを複数GPUを用いて最適化を行った. さらにDS-CUDAに搭載されているP2P機能を用いてノード間の通信をサーバ側だけで行う通信の最適化を行った. アプリケーションプログラムは最大8つのGPUを用いてNative時, DS-CUDAを利用したInfiniBandネットワーク使用時, DS-CUDAを利用したP2P機能使用時における性能評価を行った. 予備実験では, P2P機能の通信速度を測定し転送データ量やパラメータ数, メモリアクセスの手法を変えることでどのくらいの転送速度が出るか測定した. その結果, 連続領域で4台のノード間におけるP2P機能を使用した場合に最大で約5.08倍の通信時間が高速化されており, 本研究で利用する数値流体計算用のコードを想定した検証では, 8台のノード間において最大で約1.95倍の通信時間高速化が見込まれることを示した.  実際のアプリケーションコードでは8GPUにおけるP2P機能使用時に256グリッドサイズにおいてInfiniBandネットワーク使用時と比較して約2.56倍高速化された. また, 通信時間についてはP2P機能使用時512グリッドサイズにおいて同様の比較を行い約72.51%の通信時間を削減した. これらにより, DSCUDA APIのP2P機能はサーバ側におけるノード間GPU通信において転送データ量を大きくすること, 高並列化することが通信時間削減に有効であることを示した.}, title = {複数GPUを用いたDS-CUDAによるP2P機能使用時の性能評価及び最適化}, year = {}, yomi = {イトウ, カズキ} }