GPUによる汎用計算

GPGPU (General-Purpose computing using Graphics Processing Unit)

GPUは本来画像処理専用のアクセラレータです。より精巧な画像を生成したいという要求にこたえる形で年々演算性能だけでなくプログラマブル性も飛躍的に 向上してきました。その結果として画像処理関連以外の汎用計算もGPUで実現可能になりました。GPUの演算性能やメモリバンド幅は最新のCPUと比べて も桁違いに高く、数々のアプリケーションがGPUに移植されて何十倍から何百倍の速度向上を達成しています。

低消費電力だけでなく高性能(HPC)を目的とする本プロジェクトではこのGPUの上手な活用が今後重要になると考えています。GPUによる基本演算(BLAS, FFT)や線形ソルバ 、流体シミュレーションの高速化や、GPU用の並列プログラミングを容易にするフレームワーク等の研究を進めています。

NVIDIA社製GPUではCUDAを、AMD社製GPUではBrook+やCALなどのプログラム開発環境を用います。また2009年12月にバージョ ン1.0が策定されたOpenCL言語では複数ベンダのGPUやマルチコアCPUで動作するプログラムを同じ記述で作成することが可能になり、今後注目さ れています。現時点では自由度が高くC/C++言語からの拡張であるC for CUDAで作成されたGPUアプリケーションが主流となっています。

GPUの電力効率

現在GPUの非常に高い性能が注目を浴びていますが、我々ULP-HPCプロジェクトではその高い電力効率に着目しています。電力効率とは例えば GFLOPS/Wattなどの単位で表現される値で、同じ電力でより高速に演算できることが超低消費電力化のためには重要です。GPUはCPUと比べると 簡略化された演算コアを多数搭載するSIMD型のメニーコアプロセッサです。各演算コアも1~1.7GHz程度で動作しているため消費電力が低く抑えるこ とができ、電力効率はCPUの10倍以上になります。

GPUの消費電力計測

システム全体の消費電力をACで計測するのはワットチェッカー等でもできます。しかしGPU部分だけの消費電力の計測はそれほど簡単ではありません。 GPUに接続している12Vの電源コードをクランプで挟むだけでは不十分です。PCI-Expressインターフェイスからも電力が供給されているので す。

Copyright (c) 2010 Tokyo Institute of Technology. Matsuoka Labo. All Rights Reserved.