BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース ブラウザに並列処理を実現する WebCL

ブラウザに並列処理を実現する WebCL

ブックマーク

原文(投稿日:2011/07/08)へのリンク

WebCL はブラウザ上で並列処理をサポートすることによって,JavaScript を使用したデータ集約型 Web アプリケーション開発を実現する技術である。Nokia が Firefox 用の,Samsung が WebKit ベースのブラウザ用のプロトタイプを開発している。

WebCL は JavaScript を OpenCL (Open Computing Language) にバインドすることによって,ブラウザ用の高計算負荷並列プログラムの開発と,複数の OpenCL 対応 GPU および CPU で構成された異機種混在環境での実行を実現する。元は Apple によって開発された技術だが,後に Khronos Group の管理下に移行された。Khronos Group は,OpenGL や WebGL などの標準を管理する非営利団体である。AMD/ATI の両社は FireStream を通じて OpenCL をサポートしている。また NVIDIA の CUDA あるいは Microsoft の DirectCompute とも類似点がある。OpenCL は最新のグラフィックカードの持つ並列計算機能を巧みに利用しているが,一方で APP (Accelerated Parallel Processing) サポートのインストールされた AMD 製 CPU のような OpenCL 対応 CPU でも動作する。

我々の知る限りでは,WebCL には2つの実装が存在する。32ビット Windows および Linux 機用の Firefox 4 で動作する Nokia の研究的実装 と,Mac OS X のブラウザ上で NVIDIA GPU を使用する Samsumg のプロトタイプ実装 である。Nokia の実装は,Firefox の XPI アドオンとして提供される。また 資料 によると,ソースコード が GNU Lesser General Public License (LGPL) 2.1 の下で公開されている。同社は WebCL を使用してカラー画像をモノクロ変換する デモ と,ブラウザ上でペイント処理を行う ビデオを公開している。

Samsung Research も2本のビデオを公開している。N個の物体間の重力相互作用 に関するものと 物体の変形をシミュレートを示すもので,それぞれ JavaScript のみの場合と WebCL 上の JavaScript の場合とのコード実行結果を比較している。実験の結果では,WebCL の実現する性能向上は 100倍に達している。これらの ソースコード新 BCD ライセンス の下で公開されている。

GPU 上で並列コンピューティングを可能にする最新技術としては,数百万のコアを使用した大規模並列処理をうたって Microsoft が発表した C++ AMP などもある。しかし WebCL には,ブラウザに並列処理を提供することで複雑かつデータ集約的な Web アプリケーションを開発可能にする,というメリットがある。

この記事に星をつける

おすすめ度
スタイル

BT