[an error occurred while processing the directive]

Khronos Groupの代表がOpenCLを解説
~Intel/AMD/NVIDIAを問わず動作する
パラレルコンピューティングAPI

Neil Trevett氏


 オープンAPIを策定する業界コンソーシアムであるKhronos Groupの代表であるNeil Trevett氏が17日来日し、先だって公開されたOpenCLの概要について解説を行なった。

 Khronos Groupは、100社以上の企業で構成され、ボードプロモーターと呼ばれる代表企業には、NVIDIA、AMD、IBM、Intel、Sony Computer Entertainment、Appleといった主要なチップメーカー/ソフトウェアメーカーが名を連ねる。Trevett氏自身もNVIDIAで組み込みコンテンツ事業担当の副社長を務めている。

 同グループによるAPIとしては3Dグラフィック用のOpenGLが有名。そのほかにもオーディオ用のOpenSL ESなどがあり、これまでは主としてグラフィックやメディアプロセス関連のAPIを開発してきた。いずれも、ローレベルでシリコンにアクセスするため性能が高い一方で、ロイヤリティフリー、特定のOSやハードウェアに依存しないといった特徴がある。

Khronos Groupの参加メンバー。中央の囲みの中がボードプロモーター 同グループが開発したAPI

 そのような中、11月に発表されたOpenCLの用途は、パラレルコンピューティングであり、対象がこれまでのAPIとは異なるように見える。ここでいうパラレルコンピューティングとは、一言で言うと大規模なデータを多数のプロセッサコアを持つGPUで並列かつ高速に処理させるシステムのことを差し、GPGPUあるいはGPUコンピューティングとも呼ばれる。

 しかし、パラレルコンピューティングは、当初こそHPC(High Performance Computing)向けに立ち上がったものの、今では動画のエンコードなどコンシューマ向けにも応用が広がっている。その点で、OpenCLも従来のKhronos GroupのAPIのように、コンシューマ向けハードウェア/ソフトウェアでも多く採用されるものと見られている。実際、EAやACTIVISIONといった大手ゲームデベロッパもそのワーキンググループに参加している。また、対象となるのはPCに留まらず、携帯電話など組み込み機器も視野に入れている。

OpenCLの概要

 パラレルコンピューティング用プラットフォームとして、NVIDIAではCUDA、AMDではATI Stream SDKを開発者向けに提供している。OpenCLがそれらと違うのは、前述の通り特定のハードウェアやOSに依存しない点。Trevett氏は、規格がオープンでクロスプラットフォームであることは、業界の発展のために非常に重要と指摘する。実際、AMDとNVIDIAも、今後それぞれのGPUでOpenCLをフルサポートすることを表明しており、環境が整えば、1つのコードでRadeonもGeForceも利用できる。

 さらにOpenCLは、GPUだけでなくCPU(場合によってはそれ以外のシステムリソースも)も1つのコードで同時に扱える点でCUDAやATI Streamに先行している。ちなみに、OpenCLの開発を呼びかけた発起人はAppleであり、同社の次期OS「Mac OS X Snow Leopard (コードネーム)」でOpenCLに対応することを約束しており、同OSではOSレベルでGPUをグラフィック以外にも活用するようになるものと思われる。

 開発者にとって、OpenCLを利用するメリットの1つは、言語がCをベースにしており習得が容易な点。言語拡張付きISO C99のサブセットとなっており、データタイプや数値精度は厳密に定義されている。なお、OpenCLに内包する形で、データ精度などを緩和した、組み込み機器向けのOpenCL 1.0 Embedded Profileも定義されている。

 もう1つのメリットがOpenGLとの相互運用性がある点。そのため両者を使ったコード間でテクスチャやバッファオブジェクト、レンダーバッファなどを効率的に共有できる。これにより、例えば、OpenCLでGPUを使って物理演算を行ない、その頂点データをOpenGLに渡して、レンダリングするといったことが容易にできる。

 OpenCLは、Appleが2008年6月に立ち上げを呼びかけて以来、半年という驚異的な短い期間で仕様の公開にこぎ着けた。各社のOpenCLに対する期待は大きく、Trevett氏によると、今後12カ月のうちに、さまざまな採用例が登場する見込みだという。

 なお、Khronos Groupに参加していないMicrosoftは、DirectX 11でパラレルコンピューティングに対応することを予定している。

□Khronos Groupのホームページ(英文)
http://www.khronos.org/
□OpenCLのページ(英文)
http://www.khronos.org/opencl/
□関連記事
【12月16日】AMD、ATI Streamの展開を解説
http://pc.watch.impress.co.jp/docs/2008/1216/amd.htm
【12月11日】AMD、「ATI Stream」をサポートしたCatalyst 8.12をリリース
http://pc.watch.impress.co.jp/docs/2008/1211/amd.htm
【12月10日】NVIDIA、OpenCLへの対応を表明
http://pc.watch.impress.co.jp/docs/2008/1210/nvidia.htm
【12月2日】【海外】CPUとGPUの境界がなくなる時代が始まる2009年のプロセッサ
http://pc.watch.impress.co.jp/docs/2008/1202/kaigai478.htm
【11月14日】AMD、12月のCatalystで「ATI Stream」を実装
http://pc.watch.impress.co.jp/docs/2008/1114/amd.htm

(2008年12月18日)

[Reported by wakasugi@impress.co.jp]

【PC Watchホームページ】


PC Watch編集部 pc-watch-info@impress.co.jp
お問い合わせに対して、個別にご回答はいたしません。

Copyright (c)2008 Impress Watch Corporation, an Impress Group company. All rights reserved.