Khronos releases WebCL (Web Computer Language) interface to allow for parallel processing, with the intent of allowing the power of graphics processing units (GPU) used in desktop PCs and more frequently, in laptops and embedded devices to be used to improve performance of web-based apps. Despite the growing popularity of GPU hardware in many computers, software has been slow to keep up. It is still difficult to write software in such a way that its parts can be broken down and run in parallel; for example, two parts running at the same time on a dual core CPU. Although a CPU will have an easier time running multiple services with more cores available, running different parts of the same program on different cores has proven difficult.
Browsers typically do not have full hardware access as a security measure, but because the new WebCL specification is based on the widely accepted and commonly used OpenCL (Open Computer Language), there have been steps to tighten up security in OpenCL. Some features have been left out of WebCL to keep networks and devices secure while allowing the most of hardware possible to ensure that apps and filters run at their top potential. After Khronos releases their WebCL interface to allow for parallel processing in browsers, web development will likely take a similar course as graphics engines on desktop systems did, with those well versed in parallel processing stepping in to create frameworks for future development.
Although the new WebCL specification is available to the public and is open source, it is unknown when browsers will adopt the changes and begin to benefit from hardware. Since 2011, more than 10 Internet movers and shakers, including AMD, Google, Mozilla, and Samsung, have been hammering out the details, but with the sheer variety of hardware out there, and the variables introduced with varying network strength, it has been a long three years just to get everyone to a point they can all agree on. Now that the rules are in place, however, it is only a matter of time before customers start to see hardware-accelerated games and editing software running smoothly on their Internet browsers.
These changes will not only affect those with beefy machines, as most devices running currently feature more than one processing unit. The hurdle has always been making software that is capable of seeing and utilizing all of the hardware that is available to it. As Khronos releases the WebCL interface that allows parallel processing, it seems like many of the major headaches associated with getting CPUs and GPUs to share data are on the way to being resolved.
By Daniel O’Brien