オープンでロイヤルティフリーの標準API(Application Programming Interface)仕様の策定を進める業界団体のKhronos Groupは2008年12月、パソコンやサーバー機器、携帯電話機といった組み込みデバイス向けのAPI仕様「OpenCL(Open Computing Language) 1.0」を正式に公開した。
Khronosでは、14ほどのワーキンググループにおいて、3D/ベクター2D/ビデオ/イメージング/オーディオなどに特化した各種API仕様の策定を行っている。今回のOpenCL 1.0のリリースによって、ヘテロジニアス環境での並列処理を可能にするAPI仕様が新たに加わったことになる。
米NVIDIA社のバイスプレジデントでKhronosの代表を務めるNeil Trevett氏(写真1)は、OpenCL 1.0の仕様策定の背景について、次のように語った。
「最近では、マルチコア技術などによって、CPUの処理性能が向上してきている。その一方で、GPU(Graphics Processing Unit)は汎用性が増してきており、応用範囲が拡大してきている。その結果、CPUとGPUの用途がオーバーラップする領域が広がっており、これらの異なるプロセッサ間でのパラレルコンピューティングの必要性が高まってきた。ただ、これまではCPUとGPUなど異なるプロセッサ用のソフトウエアは、異なるプログラミング言語で開発されていた。そのため、異なる言語で書かれたプログラム間でのやりとりを可能にし、プロセッサ間でのパラレルコンピューティングを実現するAPIが求められていた」。
OpenCL 1.0には、C言語ベースのプログラミングインターフェースに加え、並列処理向けの拡張機能を有したISO C99プログラミング言語のサブセットが含まれている。演算についてはIEEE 754に基づいている。また、広範囲なヘテロジニアスプロセッサに対応したデータコーディネーションAPIおよびタスクベースの並列処理用APIが含まれている。「OpenGL」や「OpenGL ES」など、Khronosが策定するほかのグラフィックスAPI仕様とも互換性を有しているのが特徴である。
OpenCL 1.0を利用することによって、ソフトウエア開発者は、マルチコアのCPUやGPU、さらにはCellアーキテクチャプロセッサ、DSPなど異なるプロセッサが混在する環境において、パラレルコンピューティングによる性能を最大限活用することが可能になるという。これにより、ゲームなどのエンターテインメント市場、科学や医療向けソフトウエアなどの幅広いアプリケーションにおいて、飛躍的に処理速度を向上させることが期待される。
Trevett氏は、「非営利団体であるKhronosは、ライセンシングによって利益を上げることを目的としていない。標準仕様を広く利用してもらうことで業界に貢献したい。各メーカーはオープンなAPI仕様を利用した製品を手掛けることで利益が得られるであろう」と説明した。その上で、「OpenCL 1.0は、オープンかつロイヤルティフリーのAPI仕様だ。これが業界標準になることで、あらゆるメーカーがメリットを得られる可能性がある。同API仕様は、これからのパラレルコンピューティング市場をけん引していくだろう」(同氏)と語った。
OpenCL 1.0の仕様策定には、米Apple社をはじめ、米AMD(Advanced Micro Devices)社、米Intel社、米IBM社、英ARM社、NVIDIA社など、30社以上のベンダーが参加した。Trevett氏は、「Apple社のドラフトをベースに2008年6月より規格策定を進め、わずか6カ月ほどでOpenCL 1.0の正式リリースに至った。早期に仕様を策定できたのは、あらゆる問題点の改善のためにワーキンググループで多大な労力を投じた結果だ」と述べた。
すでに、OpenCL 1.0のAPI仕様はKhronosのウェブサイトからダウンロードできる(http://www.khronos.org/opencl/)。Trevett氏によると、「2009年中にもOpenCL 1.0を利用した製品が各メーカーより登場する見込みだ」という。
(鉄井 亮一)
Copyright © ITmedia, Inc. All Rights Reserved.