NVIDIA's solution for computing on GPU.
- CUDA Toolkit - development environment
- Thrust - heterogeneous computing version of STL library from NVIDIA with support for CUDA, TBB, and OpenMP
A standard for computing on GPU and CPU supported by Khronos Group.
Heterogeneous (CPU/GPU) computing
- AMD: AMD OpenCL™ APP SDK
- Portable Computing Language - POCL, portable OpenCL for CPU/GPU
Libraries using OpenCL
- Bolt C++ Template Library - parallel version of STL from AMD (uses AMP and OpenCL for CPU backends)
- VexCL - vector computing library for OpenCL/CUDA
- Boost.Compute - GPU/parallel-computing library for C++ based on OpenCL
- Boost.Compute: A library for GPU/parallel computing - Kyle Lutz, 2016
- C++Now - Boost.Compute: A library for GPU/parallel-computing - Kyle Lutz, 2015
- Custom OpenCL functions in C++ with Boost.Compute - Kyle Lutz, 2014
- clpp - OpenCL Data Parallel Primitives Library
- ViennaCL - heterogeneous-computing linear algebra library for CUDA, OpenCL, and OpenMP
- more: Open Source Zone - developer.amd.com
- C++ AMP (Accelerated Massive Parallelism) - Visual Studio-based solution for performing computations on GPU & CPU
- Heterogeneous Computing and C++ AMP - Herb Sutter, 2011
- parallel_for_each function (C++ AMP)
OpenACC is a standard similar to OpenMP for declaring parts of your program to be performed on GPU without changing the code.