Parallel Computing on the Web

The WebCL project exposes OpenCL into JavaScript, allowing web developers to tap into the massive parallel computing resources of modern GPUs, multicore CPUs, and upcoming manycore accelerators. This, when combined with WebGL and other emerging standards such as asm.js, enables entirely new categories of interactive web apps, such as photo editing, video processing, visualization, simulation, and cutting-edge games -- things that haven't been possible on the web before.

Getting Started

  • 1. Install and run Firefox 32 (tested on Firefox versions 30 to 35).
  • 2. Click here to install Nokia WebCL (Windows/Linux/Mac).
  • 3. Click here to check that you have WebCL enabled (if not, please read the FAQ).
  • 4. Click here to check that you have WebGL enabled (if not, follow the instructions).
  • 5. Check out our demos.

WebCL extension for Firefox 32

The Nokia WebCL extension is now available for Firefox 32! Click here to download the new add-on (tested on Windows, Linux, and Mac OS X). This release is known NOT to work on Firefox 33 and later. As always, the source code is available on our Github repo. Reporting bugs via GitHub is strongly encouraged!

Path Tracing on WebCL

Path tracing is an advanced form of ray tracing, and thanks to WebCL, you can now do it right in your browser! Click on the image below to check out the new path tracing demo by David Bucciarelli. Source code is available on Google Code.

WebCL Path Tracer screenshot

Fractured | Fractal Art Studio

Fractured is an awesome GPU accelerated fractal exploration application running right in your browser. It lets you zoom in to a variety of fractals and share your discoveries on Flickr and Imgur. WebGL or Nokia WebCL is required; the latter is typically slower (due to it being a browser extension rather than an integrated component), but allows for much deeper zoom levels.

Fractal Art Studio screenshot

We're live on Github!

I'm pleased to announce that we have moved the WebCL source code repository to Github, while at the same time switching the license from LGPL to the much more permissive MPL 2.0. This should make it a lot easier for people to contribute to the project, as well as to fork the code for their own purposes. Click here to visit our Github repo.

WebCL Working Draft announced

The WebCL Working Draft is now publicly available at This is an early draft that is subject to change at any time. Feedback is invited via the mailing list (see archives and instructions for signing up).

Random number generation

Check out our latest WebCL demo: the Random Number Generator. It also serves as a benchmark for comparing JavaScript with various WebCL platforms. On my Windows 7 PC running Firefox 5, the kernel runs in about 30 milliseconds on the GPU (Quadro NVS 290), in about 60 ms on the CPU (Core2 Duo @ 3.16 GHz), and in about 3000 ms in JavaScript. I'll do the math for you: WebCL is 50x faster than JavaScript even without using the GPU.

Khronos WebCL pages are live

The official WebCL pages at Khronos are now up and running at The Khronos WebCL Wiki is going to serve as the primary source of information on the upcoming WebCL standard. Also, check out the Nokia WebCL FAQ.

WebCL announced at GDC

Good news: Our proposal to initiate a WebCL working group has been officially approved and was announced today at GDC in San Francisco. Jari Nikara will be chairing the group (together with Tasneem Brutch of Samsung) for the time being, until a permanent chair is elected. The announcement got lots of coverage in the news and has been well received in the web developer community. You can follow up on WebCL related news here.

WebCL introduced at Khronos

Today at the Khronos face-to-face meeting in Las Vegas, we gave a quick presentation and demo of our WebCL work and unofficially proposed the formation of a working group to standardize it. The idea was well received, with lots of interest from different kinds of companies.