デジタルネイティブという言葉を耳にする機会が増えました。以前書いたような気もしますが、2年ほど前ウチの娘 (5歳) に専用機としてiBook G4を与えまして……そのように育ちつつあります。現在は、完全自力でググれるようになる一歩手前、といったところでしょうか。「Scratch」で一緒に遊べる日も近い? その前に、ペアレンタルコントロールを設定しなければ。

さて、今回は「OpenCL」について。「第301回 ベールが剥がれた? OpenCLの概要を確認する」で取り上げたばかりだが、わかったようでわからない、具体的なメリットがピンとこない、という意見もあるだろう。正式発表されたとはいえ、仕様が明らかにされた段階に過ぎず、現実の実装としては世に出てきていないが、今後のコンピューティング環境に影響を与えることは確実。Snow Leopard発表前で時間に余裕 (ネタ枯れ気味ともいう) のある現在、来年以降重要なキーワードとなるはずのOpenCLをじっくり解説させていただこう、という次第だ。

OpenCL登場が意味するところ

OpenCL作業部会の参加企業 (SC08でKhronosが使用した資料から抜粋)

OpenCL登場の一義的な意味は、これまでも繰り返し説明してきたとおり、演算能力を高めるAPI (Application Programming Interface、アプリケーション共通のライブラリ) の確立だ。これまでCPUが担ってきた演算処理をGPUなどCPU以外のチップに分散させる技術が、APIの形に整理された。そもそもはAppleが提案した技術だが、Khronos GroupというOpenGLの策定で実績を持つ団体が標準化作業を進めたこともあり、IntelやAMD、NVIDIAといったCPU / GPUベンダーからの賛同を獲得、業界標準の技術として認知されるに至った。

このOpenCLが採用されるSnow Leopardでは、もっぱら描画を担当していたGPUがいわば"ターボ"として機能する。アプリケーションにGPUのパワーを生かすことが容易になり、複雑な演算処理を必要とするプログラム、たとえば3D描画や動画のエンコード処理が、従来のシステムに比べ高速化されることだろう。つまり、OpenCLはMacにとって「加速」を意味する。

念のため書いておくが、OpenCLが実装されたからといってシステム環境設定にON / OFFのパネルができるわけではなく、すべてのアプリケーションが加速されるわけでもない。あくまで、OpenCLのAPIを利用する (かつ機能を効果的に利用する) アプリケーション限定での話だ。

どのタスクがどれほど加速されるかだが、実際のところSnow Leopardがリリースされるまでわからない。12月前半にOpen CL 1.0の仕様が正式公開された事実と、2009年前半とされるSnow Leopardのリリース予定から逆算すれば、実装はほぼ完了しているはずだが……楽しみに待ちたいと思う。

OpenCLの本領はMac以外で発揮される?

OS Xでは「加速」がキーワードだが、技術者の間でOpenCLが注目されている理由は他にある。そのキーワードは「線引き」だ。

これまで、あるハードウェアにどのCPUを採用するか、どのGPU (あるいはDSP) を組み合わせるかは、ハードウェアの設計者にとって悩みの種だった。演算能力や消費電力量といったチップ本来の性能だけでなく、それまで蓄積されてきたソフトウェア資産を生かせるかどうかまで考慮せねばならず、性能的にはA社のGPUが優れているが、総合的に判断した結果B社のGPUを選択した、といった事態が発生していた。

OpenCLは特定ベンダーに依存しない業界標準仕様であり、GPU / DSPを抽象化するレイヤーとして実装されるため、上述のような制約が発生しない。OpenCL (およびOpenGLなど関連する業界標準仕様に) 対応していれば、チップベンダーは純粋にチップとしての性能を高めればよく、ソフトウェアレイヤーにおける互換性を意識せずにすむ。開発者は1つのプログラム / ファームウェアを用意すれば、あらゆる (OpenCL対応の) GPU / DSPでテストできることになる。ハードウェアとソフトウェアの間に明確な「線引き」が行われることにより、言葉は悪いがハードはハード屋の、ソフトはソフト屋の仕事に徹することが可能になる、というわけだ。

OpenCLの本領はモバイル機器向けのサブセットで発揮される? (SC08でKhronosが使用した資料から抜粋)

だからむしろ、OpenCLはMac以外のプラットフォームに影響を与えるはず。組み込み / モバイル用途のサブセット「OpenCL Embedded Profile」が登場すると、携帯電話やモバイル機器にこの流れが波及する可能性も高い。iPhone / iPod touchにも搭載されているグラフィックコア「PowerVR」のベンダーであるImagination Technologiesが、WebサイトでOpenCLの技術者を募集している事実 (12月22日現在) からしても、来年以降のトレンドになると考えてよさそうだ。