By now, you’re surely heard of OpenCL, the cross-platform API designed to allow software developers to tap the processing horsepower of GPUs for computational tasks. But what do you actually know about the API? Probably not nearly as much as Real World Tech’s David Kanter, who has put together an excellent article on the subject.
Kanter describes OpenCL’s origins at Apple and reveals that, due to early cooperation with Nvidia, the API was influenced heavily by CUDA. Apple then went on to collaborate with Intel, AMD, and Imagination Technologies before handing off the API to the same group responsible for governing the OpenGL graphics standard. OpenCL isn’t just for GPUs, though. As Kanter points out, the API aims to take advantage of “heterogeneous computing resources for parallel applications.” Those resources include multi-core CPUs, Fusion-infused APUs, and even chips like the Cell processor inside the PlayStation 3.
As usual, Kanter’s analysis delves into technical details like OpenCL’s execution and memory models, and he compares both to DirectCompute, Microsoft’s Windows alternative. He goes on to predict that, as we’ve seen with DirectX and OpenGL in the graphics world, DirectCompute and OpenCL will become the dominant standards. If history is really is a good indication, though, DirectCompute could prove to be far more popular for mainstream apps than its cross-platform rival.