When the concept of GPGPU was first coined (around 2001), the most common way to write GPGPU programs was using GLSL (OpenGL Shading Language) and similar shader languages. Since these shader languages were already aimed at the processing of SIMD tasks (image and scene data), adapting them for more generic tasks was fairly straightforward.
Since that time, a number of more specialized implementations have appeared:
|
Name |
Since |
Owner |
Notes |
|
CUDA |
2006 |
NVidia |
This is proprietary and only runs on NVidia GPUs |
|
Close to Metal |
2006 |
ATi/AMD |
This was abandoned in favor of OpenCL |
|
DirectCompute |
2008 |
Microsoft |
This is released with DX11, runs on DX10 GPUs, and is limited to Windows platforms |
|
OpenCL |
2009 |
Khronos Group |
This is open standard and available across AMD, Intel, and NVidia GPUs on all mainstream platforms, as well as mobile platforms |