Tech-On!は無料登録制の技術情報サイトです。ぜひ会員登録してこの記事の全文をお読みください。 Tech-On!無料登録の説明ページ初めてご利用の方:無料会員登録へ登録に関するご質問登録に関するご質問学生の方:無料会員登録へ ログイン・ページに進むIDやパスワードをお忘れの方は…Cookieが使えない状態になっていませんか?
お薦めトピック
- AD -

「OpenCL」の仕様をついに公開,標準化団体のKhronos Group

2008/12/09 13:38
竹居 智久=日経エレクトロニクス
Facebookでシェアする
Twitterでつぶやく
印刷用ページ
図1 Khronos Groupは2008年12月10日にシンガポールでカンファレンス「Khronos DevU」を開催し,OpenCL 1.0の仕様の詳細を解説した(写真:Khronos Group)
図1 Khronos Groupは2008年12月10日にシンガポールでカンファレンス「Khronos DevU」を開催し,OpenCL 1.0の仕様の詳細を解説した(写真:Khronos Group)
[クリックすると拡大した画像が開きます]
図2 NVIDIA社の「CUDA」におけるOpenCL対応計画
図2 NVIDIA社の「CUDA」におけるOpenCL対応計画
[クリックすると拡大した画像が開きます]

 標準化団体のKhronos Groupは2008年12月9日,ヘテロジニアス・コンピューティング用の標準API「OpenCL 1.0」を承認し,仕様を公開した(英文の発表資料)。仕様書やヘッダ・ファイルをKhronos GroupのWebサイトからダウンロードできる。Khronos Groupは2008年11月に「順調に進めば2008年12月に発表できる」との見通しを示しており(Tech-On!の関連記事),その予定通りに仕様を公表した(図1)。

一度書いたプログラムを複数メーカーのプロセサで

 OpenCLは,ヘテロジニアス(異種)のプロセサ構成のシステムに向けたAPIである。ホスト(CPU)と,GPUやDSPといったアクセラレータ(Khronosは「OpenCLデバイス」と呼ぶ)で構成するシステムにおいて,ソフトウエア開発者が任意のプログラム(Khronosは「カーネル」と呼ぶ)をOpenCLデバイス上で実行できるようにする。

 今後,半導体メーカーは,OpenCLのAPIに対応するデバイス・ドライバや,OpenCLが定めたカーネルの記述方法に対応するコンパイラを,自社のOpenCLデバイス用に用意する。そうした環境が整えば,ソフトウエア開発者が一度OpenCLの仕様に沿ってプログラムを記述しておくと,そのプログラムがA社のGPUでも,B社のDSPでも,C社の新しい構造の並列処理用プロセサでも動作するようになる。プロセサのアーキテクチャやメーカーに特化したプログラムが不要になり,プロセサ選択の自由度が高まる。

OpenCL対応版のリリース計画も続々

 米Advanced Micro Devices, Inc.(AMD社)は今回のKhronosの発表に合わせて,AMD社の「GPGPU」(general purpose computation on GPU)向けソフトウエア開発環境「Stream SDK」を2009年前半にOpenCL 1.0に対応させる計画を明らかにした。既にOpenCLへの対応は表明していたが(発表資料),今回はその提供時期を示した。Stream SDKではプログラミング言語としてC言語を拡張した「Brook+」を利用しているが,Brook+の利用も継続する。Brook+を高い抽象度のプログラミング環境と位置付けて,低い抽象度のAPIであるOpenCLと使い分ける考えだ。

 このほか,ヘテロジニアス・コンピューティング環境に向けたソフトウエア開発ツール「Sieve C++ Parallel Programming System」を提供する英Codeplay Software Ltd.は,2009年中にOpenCL 1.0対応を進めることを明らかにした。

(2008年12月10日追記)
 米NVIDIA Corp.も,GPGPU向けソフトウエア開発・実行環境「CUDA」をOpenCLに対応させることを表明した(英文の発表資料)。2008年12月10日に開催した電話カンファレンスにおいてNVIDIA社は,「Apple社がKhronos Groupに提案したOpenCLの初期バージョンは我々のGPUで動作させたものだった」と説明し,OpenCLへの対応に積極的であることをアピールした。NVIDIA社は,OpenCL対応のベータ版を2009年第1四半期に,正式版を2009年第2四半期にそれぞれ提供開始する計画である(図2)。CUDAで用いているC言語を拡張したプログラミング言語は,「抽象度が高い言語を求める開発者のためのもの」(NVIDIA社)として今後も提供していく。

※ 「日経エレクトロニクス」は2008年12月15日号に,OpenCLの仕様や,ヘテロジニアス・コンピューティングにOpenCLが与えるインパクト,関連する動きを解説した記事を掲載します。

【6/19開催NEアカデミー】
組み込みソフトはこうやってモデリングする
コード中心からモデル中心の開発へ


 大規模・複雑化する組み込みソフトウエアを、どのように扱うべきか。その一つの答えが、ソフトウエアのモデリングです。現状の巨大なシステムがどのような構造を持っているのか。それを「設計図(モデル)」として適切に把握できなければ、次世代のソフトウエア・アーキテクチャは構築できません。本セミナーでは、静的構造図、動的構造図などソフトウエア設計図(モデル)の具体例を紹介し、「高凝集・疎結合」、「走り切り」といったソフトウエアの設計原則について解説します(詳細はこちら)。
Tech-On!プレミアム

Tech-On!プレミアム会員なら、左の雑誌記事が毎月30ページまでダウンロードできる!(詳細はこちら

イプロスの製品トピックス
とても参考になった 4
まあ参考になった 3
ならなかった 0
 投票総数:7
コメントに関する諸注意
(必ずお読みください)



コメントの掲載は編集部がマニュアルで行っておりますので、即時には反映されません。しばらくお待ちください。
記事中に誤りなど,編集部へのご連絡にはフッターのご意見/ご感想・お問い合わせをお使いください。
English
中文