GPU computing is the use of a GPU (Graphics Processor Unit) as a co-processor to accelerate CPUs for general scientific and technical computing. Universal Computing on Graphics Processing Units (GPGPU) is the means of using a Graphics Processing Unit (GPU), which typically does only the computation for computer graphics, to perform computations in applications that are traditionally processed by the Central Processing Unit (CPU). The GPU accelerates applications running on the CPU by offloading some of the computationally intensive and time-consuming parts of the code. From the user`s perspective, the application runs faster because it uses the massively parallel processing power of the GPU to improve performance. This is called “heterogeneous” or “hybrid” computing. This is another shift towards multiple cores: CPU and GPU fusion.
Manufacturer-specific APIs have been available for several years to use GPUs for data processing. Nvidia has CUDA, ATI/AMD has Stream and Microsoft has several technologies (DirectCompute, Appcelerator, C++ AMP).
OpenCL is the first open, royalty-free standard for cross-platform, parallel programming of modern processors in PCs, servers and handheld/embedded devices. OpenCL has a very strong support base and is probably the platform of choice for developers on Intel, AMD, ARM, Apple, IBM etc.
The WebCL working group is working on the definition of a JavaScript binding to the Khronos OpenCL standard for heterogeneous parallel computing. WebCL will enable web applications to take advantage of parallel processing of GPUs and multi-core CPUs from a web browser, enabling significant acceleration of applications such as image and video processing and advanced physics for WebGL games.
Nokia and Samsung have implemented open source prototypes of WebCL. Nokia has a WebCL prototype for the Firefox web browser (works with 32-bit Firefox with 32-bit OpenCL drivers) and Samsung has an open source web prototype for WebKit (developed for Mac OSX safari browser and Nvidia graphics cards).
The Nokia WebCL prototype for Firefox is an interesting project that you can easily test by simply installing a Firefox extension (you need a graphics card that supports OpenCL). The Nokia WebCL website has a web-based interactive photo editor demo that used GPU for image processing, other demos, WebCL programming tutorials, and interactive WebCL kernel toy that allows you to easily test your own OpenCL/WebCL code.
Thanks for visiting.
Leave A Comment