Skip to content
Initial exploration in WebCL
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


An image processor utilizing WebCL.
Written by Mark Becker
    Project description
    • This project was created to explore the usage of the newly developed specification WebCL.
    • It was created as a preliminary project for the larger, more complex project WebCL_Raytracer.
    • The kernel used in this project finds the edges of a given image file.
    • Like OpenCL, WebCL allows for direct access to the many-core environment of the CPU
      and or GPU.
    • An image processor was developed and used to demonstrate the power of parallelization.

    Developed and tested on...
    • Mark's Desktop:
      • OS - Windows 7 Professional 64-bit
      • CPU - Intel Core i5 760 @ 2.80GHz
      • MB - ASUS P7P55D-E Pro
      • VC - ATI Radeon HD 5750
      • AMD App Acceleration SDK
      • Intel SDK for OpenCL

    Runtime Environment
      The easy part...
    1. This web application can only be run on Firefox browser
    2. The Nokia WebCL extension needs to be installed
    3. WebGL needs to be enabled
    4. WebCL needs to be enabled
      All of this can be checked and or installed at Nokia Research

      The not as easy part...
    5. AMD App Acceleration SDK installed - AMD Developer Central
    6. Intel SDK for OpenCL installed - Intel SDK for OpenCL

      The FAQ for Nokia Research's WebCL
    Runtime Environment Concerns
    • This application runs directly on the GPU or CPU. With that in mind, pushing the adjustments,
      size, run count, may effect the computer it is run on. There was more than a few times that
      during development the GPU was overflowed and needed to restart. It also may push the limits
      of Firefox.
    • Therefore, a certain amount of caution needs to be used. But don't be afraid to use it.

    Web Page Interface
Screen shot of page displayed:
Screenshot 1
Click for larger

    Choose Images:
    • There is two images to choose from to outline. Each image is of different size. With the increase in size comes an increase in run-time.
    Choose Device:
    • The page creates a list of appropriate platforms and devices that can be used with the WebCL kernel.
    • Shown is both the Intel and AMD implementation of OpenCL.
    Information Output:
    • The 'Information Output' is created after each run. The text is labeled to be self explanatory. Some of the information presented is based on the environment the code (kernel) is run on. The other info is specifically concerning the individual run.
Choose Device input section:
Screenshot 2
Click for raw image
    Scene Created:
    • The largest section of the page is reserved for a displaying of the processed image created. The area is fixed to display a 800 by 600 image. Larger (and smaller) images can be created and scroll bars will be implemented accordingly.
Choose Image input section:
Screenshot 3
Click for larger image

    What is WebCL?
      The WebCL working group is working to define a JavaScript binding to the Khronos OpenCL
      standard for heterogeneous parallel computing. WebCL will enable web applications to
      harness GPU and multi-core CPU parallel processing from within a Web browser, enabling
      significant acceleration of applications such as image and video processing and advanced
      physics for WebGL games.
    • More info from Khronos

    What is Nokia Research doing?

You can’t perform that action at this time.