GPUを強力な汎用並列プロセッサーとして活用する「GPGPU」技術が、コンピューティングの大きな潮流となっている。その流れの先頭にいるのが、米NVIDIA社の「NVIDIA CUDA」だ。広く普及したGeForce 9/GTXシリーズの存在と、「CUDA Zone」などでの多彩な関連情報やソフトウェアの提供により、HPC(High Performance Computing)分野に関わるソフトウェア開発者の支持を集めつつある。パソコン用のグラフィックスカードだけでなく、GPGPU専用カードやサーバーなども出荷されている。
その流れに対抗する米AMD社のGPGPU技術が、「ATI Stream」である。その鍵となるのは、標準化された汎用並列プログラミング規格「OpenCL」(Open Computing Language)だ。16日に行なわれた同社による説明会では、特にOpenCLによる利点が強調された。
RadeonでGPGPUを実現するATI Stream
ATI StreamはAMD系GPUやGPGPU用カードを汎用並列プロセッサーとして利用するための技術である。パソコン用GPUの「Radeon HD 4000」シリーズを初めとして、グラフィックワークステーション用の「FireGL」、GPGPU用カード「FireStream」シリーズなどが対応している。
パソコンとRadeon HD 4000シリーズで利用するためには、「Catalyst 8.12」以降のRadeon用ドライバーソフトウェアのインストールが必要となる。またAMDでは、Radeon HD 4800/4600シリーズとATI Streamを使い、HDビデオの高速トランスコードを実現するソフト「ATI Avivo Video Converter」を無償で配布している。
ATI Streamでは、GPUハードウェアの上に「ATI Stream Compute Abstraction Layer」(CAL)と呼ばれるソフトウェア層が配置され、C言語ベースの高級言語「Brook+」を用いてプログラムを開発する。NVIDIA GPUとCUDAによる開発環境と、基本的な構造は似ている。
説明会では、ATI Streamに対応した米ArcSoft社のビデオアップスケーリング技術「SimHD」のデモが披露された。GPUの強力な演算能力を使い、DVD品質の映像をリアルタイムでHD品質に向上させる、いわゆる超解像技術を実現するものだ。
AMDではそのほかにも、「Adobe Acrobat Reader」や「Photoshop CS4」、サイバーリンク「PowerDirector 7」などがATI Streamに対応、あるいはアップデートで対応するとしている。
切り札は「OpenCL」
環境を整え、対応ソフトも登場しつつあるATI Stream。しかし、2006年の第1版提供開始以来、技術情報と対応ソフトウェアの蓄積が進んでいるCUDAに対して、GPGPU分野での実績では、AMDが後塵を拝しているのは否めない。
だが、AMDでStreamなどソフトウェア面を担当するテリー・マケドン(Terry Makedon)氏は、「CUDAがGPGPUを支配していると言うのは時期尚早」と述べる。ATI Streamが先行するNVIDIA CUDAに追いつき追い抜く鍵が、GPGPU分野の標準化技術になると期待されている「OpenCL」の存在だ。
CUDAはあくまでNVIDIA製GPUを対象にした技術だが、OpenCLは特定のGPUに依存しない、汎用的な並列プログラミング規格を目指している。さらにCUDAがあくまでGPUだけを対象としているのに対して、OpenCLではCPUでも利用できる。ハードウェアは抽象化されるため、クロスプラットフォームの開発環境を構築できる(パフォーマンスを重視して抽象化の程度は低いとしているので、実際にクロスプラットフォームでの移植が容易かどうかは別問題)。なによりOpenCLの標準化には、AMDだけでなくインテルやNVIDIAなども関わっている。並列コンピューティングに関わる主要なプレイヤーが集っているのが、OpenCLの大きな利点だ。
GPUだけでなくCPUでも利用できるというOpenCLの利点は、将来的にCPU内にGPUの並列プロセッサー機能を取りこもうとしているAMDとしては、非常に重要なものとなる。例え現時点でNVIDIA CUDAが先行していたとしても、将来OpenCLが並列プログラミング規格として主流になれば、NVIDIAやインテルより優れたOpenCL環境を実現するGPU(あるいはCPU)を提供することで、CUDAのアドバンテージを覆すことも不可能ではない、というわけだ。
説明会の半分はOpenCLに関わる話で、AMDがOpenCLの普及に賭けていることが如実にうかがえた。マケドン氏は直接CUDAを批判はしないものの、たびたび「プロプライエタリなシステムが生き残ることはない」という言葉で、いずれは標準化されたOpenCLが主流になるという自信を示した。
とはいえ、ATI StreamがOpenCLに対応するのは、2009年第1四半期に投入予定の「ATI Stream SDK 1.4」からだ。OpenCLに頼るだけではなく、パソコン用GPUやGPGPU専用システムなどで実績を積む必要もある。
性能面での優位性もアピールされた。例えば、GPGPU用カード「FireStream 9250」では、単精度浮動小数点演算ではGeForce GTX 200シリーズ並みの1TFlops、倍精度浮動小数点演算ではGTX 200をしのぐ200GFlopsの性能を発揮するなど、性能面でも優位にあるとした。ハイエンドの「FireStream 9270」では、単精度で1.2TFlops、倍精度で240GFlopsの性能を発揮するという。
いずれにせよ、AMDのGPGPUが広く受け入れられるには、OpenCLへの対応とその普及が欠かせない。CUDAとの勝負は2009年が本番になりそうだ。
