It is no secret that the parallel programming is the Next Big ThingTM. The processor speeds are mainly constant and the only thing that increases is the number of cores. For the general parallel programming, at least for the data parallelism, there are already several initiatives that should help programmers escape the world of manual thread creating and locking.
But most of these technologies only count on the presence of the CPU with certain relatively low (<16) number of cores. But what if you had hundreds of cores at your disposal?
The GPU (chip that powers your graphic card) is one example of a highly paralellizable processing unit albeit it's parallel "cores" are not nearly the same kind of cores as we have on the CPU. Consequently the development model for the GPU is significantly different and additionally burdened by its historical graphics-only usage. You really can't easily develop applications or routines using graphical APIs like OpenGL or DirectX - they are simply not meant for anything else but graphics development.
Yet the computing power of GPUs is enormous. One PS3 can provide many times the performance of a very powerful modern CPU for the Folding@home project. The possibilities for financial and scientific use are enormous.
But to get this kind of performance you'd have to use the API appropriate for the target chip. If you have NVIDIA hardware, you're forced to use CUDA. For ATI/AMD, you'd use stream computing APIs.
But no more. In a record 6 months, the Khronos group has published the specification for OpenCL 1.0, the common API for general purpose GPU computing on all platforms that implement the support for the API. Both NVIDIA and ATI are in as is Apple which plans to make OpenCL a big part of the next OSX release.
Even better news is that OpenCL supports CPUs as target so as soon as the support is available from any of the vendors we can start playing with the technology - once the algorithm works on the CPU you can try to execute it on a GPU. Most of the vendors pledged support in the first or second quarter of 2009.
Exciting times, indeed.
Be the first to rate this post
- Currently 0/5 Stars.
- 1
- 2
- 3
- 4
- 5