Research
GPUコンピューティング
General-purpose computing on graphics processing units そんなにGPUが進化しているなら、GPUを汎用計算に使えるのではという試み「GPUコンピューティング」(GPGPU(General-Purpose GPU)と同義)が2000年あたりから始まりました。大きな節目は、2006年にNVIDIA社が自社のGPUに対してGPGPU用の統合開発環境としてCUDA(Compute Unified Device Architecture)をリリースしたことです。それまでは画像処理の機能を汎用計算に置き換えてプログラミングしなければなりませんでしたが、CUDAの登場で標準C言語とGPGPU用の拡張だけでプログラミングすることができるようになり、一気にGPGPUの利用が広まり始めました。さらに2009年にはCUDAのFORTRAN版もリリースされ、GPUの性能向上に合わせて頻繁なバージョン・アップがなされ、その機能もますます向上しています。2009年末には特定のGPUだけでなく、AMD社、Intel社のGPUやCellなどでも同じプログラムが動作するように標準化として策定されてきたOpen CL も正式にリリースされ、よりGPUコンピューティングが普及する環境が整ってきています。 GPUはポリゴンに対する幾何学的処理を高速化するために開発されてきたため、1TFlopsを超えるようなピーク演算性能を持ちます。また、GPUは手元のパソコンに装着して使うことができますし、パソコン市場で展開する製品の流用であるためコストが極めて低いという特徴があります。さらに、GPUは消費電力当たりの演算性能が高いため、スパコンの低消費電力化に向けたアクセラレータとして広く認識されるようになっています。2008年には東京工業大学・学術国際情報センターが680個のGPUをスパコンTSUBAMEに導入し、世界から注目を集めました。NVIDIAは2010年に倍精度浮動小数点演算性能の向上やECCメモリに対応したFermiコアのGPUがリリースし、GPUをHPC(High Performance Computing)で利用する条件が整ってきています。2010年11月のスパコンTop500のランキングでは、1位と3位に中国のGPUスパコンが入り、4位に東京工業大学のTSUBAME 2.0 がランクインするなど、GPUマシンが上位を独占しています。
|
(1)GPUのアーキテクチャとプログラミング・モデル (2)粒子計算 (3)格子計算 (4)多様なアプリケーション |