2013 Fiscal Year Annual Research Report
Project/Area Number |
23650012
|
Research Institution | Tokyo Institute of Technology |
Principal Investigator |
額田 彰 東京工業大学, 学術国際情報センター, 特任准教授 (40545688)
|
Keywords | GPGPU / CUDA / FFT / InfiniBand / TSUBAME |
Research Abstract |
2006年にNVIDIA社が汎用計算向けのGPU環境としてCUDAを公開して以降、長い計算時間を要する多くの処理がGPUに移植され高速化を実現してきた。CUDAのプログラミング言語は既存のCやFortranを拡張したものであるが、多数のスレッドが同時に実行されユーザが定義したタスクを処理していくという固有のプログラミングモデルになっている。しかしながら言語は言語でしかなく、GPUのハードウェアを効果的に活用するためにはより踏み入ったプログラミング手法や最適化が必要となる。 大規模計算の場合には必然的に複数のノードに搭載される複数GPUを利用することになる。GPUは通常PCI-ExpressによってホストのCPUやメモリと接続されており、ノード間通信に用いられるInfiniBandネットワークアダプタなどもPCI-Expressで接続されている。あるGPUから他のノードのGPUへデータ転送するためにはホストを中継する必要がある。中でも3D-RISMなどの計算では複数GPUを利用して大規模な高速フーリエ変換を行う必要があるが、東京工業大学のスーパーコンピュータTSUBAME2.0を用いた実験では256ノードで既に性能が伸びないという問題が発生していた。これを解決するために数々の最適化手法を提案した。まずノード内のPCI-Express通信をうまくスケジューリングを行い、そしてノード内の複数GPUからの通信をホストで一旦束ねることによって、メッセージサイズが小さくなり転送効率が低下することを防止した。また大規模ネットワークでは通信が安定しないリンクが存在したり、他のユーザのジョブと通信が干渉して性能低下を引き起こす場合がある。この問題を回避するために各ノード間の通信性能を監視し、複数のInfiniBandネットワークリンクへの振り分けを変更することで徐々に混雑緩和へ向かうような自動最適化機能を提案した。これにより256ノードでもスケールするようになり、最大4.5TFの性能を達成した。
|