If you are not already familiar with OpenCL and why it matters, this AMD Whitepaper is a great introduction. This non-technical article explains what is OpenCL, why it is important, why an open approach is better than proprietary compute solutions, and then gives some examples of how and where OpenCL is being used.
What Is OpenCL?
OpenCL™, or Open Computing Language, is the first open programming standard for writing software for general-purpose computing across both CPUs and GPUs. That may not sound that important on the face of it. But consider this: applications accelerated with OpenCL can access the combined processing power of a computer’s GPU and CPU cores under a single unified platform – a game-changing development for users of professional graphics and computational design software.
Changing the Game
The ability to perform compute-intensive tasks in parallel, using virtually any multicore processor, opens the door for performance and functionality improvements on an unprecedented scale. If you’re working with processing-intensive applications in CAD, CAM, CAE, science, DCC or M&E, get ready for OpenCL to change the way you work.
Just think. Interactive 3D raytraced rendering in near real-time. Simulations that take seconds or minutes to solve instead of hours. Multi-stream video and effects processed in real time. Whatever you do in your job, applications built using OpenCL are designed to help get it done faster and better – much faster and better.
GPUs: Not Just for Graphics Anymore
OpenCL provides an open, uniform programming environment that enables the processing technique known as GPGPU, or general purpose computing on graphics processing units. GPGPU makes it possible to offload certain processing-intensive tasks to the GPU, rather than relying on the CPU to do them.
Why? Because GPUs are more effective than CPUs when it comes to calculating highly parallelized, “floating point” arithmetic – the type of math calculations required for physics-based modeling, animation and simulation for 3D and CAD/CAM engineering applications; real-time 3D rendering; or image processing for video creation and editing applications. And now, thanks to OpenCL, those GPUs aren’t just for powering your graphics application’s viewport/GUI anymore.