WebCLの可能性
"ついにDirectX 11を凌駕した!? Khronosに聞く「OpenGL 4.2」の正体"にちょっとだけWebCLに関して記述があります。
OpenGLのHTML版であるWebGLを立ち上げれば、次はOpenCLのHTML版を準備するのは至極当然の発想です。最近のCPUはGPUを搭載し始めています。AMDはLlanoでミドルレンジクラスのGPUを搭載しましたし、ARMもMali-T604で強力なGPUを開発しています。IntelもIvy Bridgeで強力なGPUを搭載予定です。AppleのA5やPS Vitaに搭載されているPowerVR SGX543シリーズは、OpenCLをサポートしています。スマートフォンからデスクトップPCまで、OpenCLが使用可能な状況です(ちょっと古いチップセット付GPUはだめかも)。
CPUはヘテロジニアスマルチコアに進むため(マルチコアの次のヘテロジニアスマルチコアのフェーズに移行した)、WEBブラウザがプラットフォームと成功するためGPUを活用するシーンを増やす必要性はあります。それはビデオデコードだけではなく、演算処理としてもです。
デモでは、意外ですがスマートフォンメーカとして有名なNokiaとSmasungが提供しています。これは、何を意味しているのでしょうか。
Nokiaは、もしかするとKhronos関係から離れるかも知れません。理由は、Windows Phoneを採用したためです(前はMeeGoもやっていたので)。現在のブラウザは、IEだけがWebGLをサポートしていませんし、サポートも表明していません。
Khronosとの協賛関係にあるメーカは、半導体メーカから、スマートフォンメーカ、家電メーカ、Adobe等のメーカまで非常に多様ですが、Microsoftが居ません。KhronosとMicrosoftはライバルメーカになります(規格的に意味合い)。
このため、NokiaはWindows Phoneを採用するためWebGL/CLを率先して採用できないかも知れません。もしかするとWebkit系ブラウザを搭載することでWebGL/CLを動作できる環境を作ることができるかも知れませんが、Nokiaの思惑だけで動けない可能性があります。
SamsungはARM系チップの製造とスマートフォンを製造しているため、他社よりもWebGL/CLを率先して採用したい組でしょう。WebGL/CLはブラウザベースゲームをリッチにできます。そうなると、PS VitaやDS/3DSの様な携帯ゲームカテゴリの市場を汎用的なスマートフォンが奪うことができます。
SamsungのARM系チップ製造はユニークなNVIDIA、TIやQualcomm等から少し落ちると思います。Windows 8の最初のARM系採用チップにSamsungが入っていません(確か...違っていたらご指摘ください)。A4/A5を作っているとはいえApple向けにしか販売できませんし、製造がTSMCに移るとも言われています。
このため、Samsungが製造するARMのSoCの販売を強化するには、WebGL/CLへのコミットメントを増やしているのでしょう(まぁ、PowerVRやMali-T604を使うと差は開かないと思いますが)。
WebCLが規格化できればJavascriptでCPU/GPUを大量に使用できるため、サーバ側で行わずより手前で作業ができるようケースが増えるかも知れませんし、Node.jsの様なJavascriptエンジンを使っているプラットフォームでもGPUを使用できることができるようになるかも知れません。
WebCLは普及して欲しいものです。
WebGL/CLの次は?に記事ではジェスチャー入力やモーション入力ができるAPIであるStreamInputを紹介しています。Kinectが成功していることを考えると、この方向にCPU/GPUを活用するシーンを見出すのは正しいような気がしています。
Kinectは専用のチップで処理していますが、これはXbox 360で処理するには重すぎたためです(Xbox 360用「Kinect」の高価格は、Microsoftの苦渋の決断の結果)。2005年に発売されたXbox 360で処理が辛くても、ムーアの法則にしたがって進化するモバイルのCPU/GPUは対応できるでしょう。このため、StreamInputが普及することでスマートフォンでも非常にユニークなゲーム等ができるようになり、"まだマルチタッチしているの?"と言われる時代が来るかも知れません。