The WebCL standard is still a work in progress, but the first experimental implementations have already arrived. Samsung has opened the source code of its WebCL prototype for WebKit, which is designed to run on Mac OS X. The company has also published some videos that demonstrate the efficacy of WebCL in action.

WebCL—not to be confused with WebGL—is a new Web standard that is being devised by the Khronos group. It will provide JavaScript bindings for OpenCL, a framework that allows software to offload general-purpose computing operations to a GPU. The goal behind WebCL is to bring OpenCL to the Web—making it possible for sophisticated Web applications to significantly accelerate computationally intensive workloads.

OpenCL was largely developed by Apple and NVIDIA, but it's an open standard with relatively broad industry support. The Khronos group, which maintains the OpenCL specification, is hosting the effort to guide WebCL through the standards process. There is no official WebCL specification yet because it is still being drafted, but preliminary JavaScript APIs for the standard have been proposed.

Samsung and Nokia are both building prototypes that demonstrate the viability of integrating WebCL in mainstream browsers. Samsung opened the source code of its WebKit-based WebCL implementation last week and announced its availability in a message posted to the WebKit developer mailing list. Nokia has its own separate WebCL implementation, which was built for Mozilla's Firefox Web browser.

To illustrate the potential performance gains that developers can get out of WebCL, Samsung showed how the technology can be used to increase the frame rate of an animated N-body simulation on the Web. A version of the simulation that used conventional JavaScript for performing the necessary computations rendered at only 5-6 frames per second, but the WebCL version ranged between 78-114 frames per second.

The code of Samsung's WebCL implementation is distributed under the BSD license and is available for download from the project's version control repository on Google Code. The repository also includes some examples that show how WebCL can be used in JavaScript.