Thrust is a template library of parallel algorithms with an interface resembling the C++ Standard Template Library (STL) for NVIDIA CUDA.
Thrust is a library of parallel algorithms with an interface resembling the C++ Standard Template Library (STL) which interoperates with technologies such as CUDA, OpenMP, and TBB. Thrust provides a flexible high-level interface for parallel programming designed to greatly simplify running common data parallel processing tasks on GPUs and multicore CPUs, with the intention of enhancing developer productivity.
As of CUDA release 4.0, a Thrust snapshot is included in every release of the the standard CUDA toolkit distribution. Under Debian and Ubuntu Thrust may also be installed through apt-get
:
sudo apt-get install libthrust-dev
The project homepage contains documentation and sample code demonstrating usage of the library. The latest source, bug-reports and discussions are always available on GitHub.
The rocThrust project (GitHub) by AMD is a port of Thrust to their HIP/ROCm platform.