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 アプリケーションを開発可能にする,というメリットがある。