# thrust

> nVidia C++ parallel algorithms library

**Wikidata**: [Q120652944](https://www.wikidata.org/wiki/Q120652944)  
**Source**: https://4ort.xyz/entity/thrust-q120652944

## Summary
Thrust is an open-source C++ parallel algorithms library developed by NVIDIA, designed to simplify parallel programming by providing high-level abstractions for GPU and CPU execution. It was first released in 2020 and has since undergone multiple updates, making it a key tool for developers working with parallel computing.

## Key Facts
- **Developer**: Jared Hoberock
- **Initial Release**: May 16, 2020 (version 1.0.0)
- **Latest Version**: 1.5.2 (released May 16, 2020)
- **Type**: Software library
- **Primary Language**: C++
- **Repository**: Hosted on GitHub at [https://github.com/NVIDIA/thrust](https://github.com/NVIDIA/thrust)
- **Purpose**: Provides parallel algorithms for GPU and CPU execution
- **Classification**: Non-tangible executable component of a computer

## FAQs
### Q: What is Thrust used for?
A: Thrust is used to simplify parallel programming by offering high-level abstractions for GPU and CPU execution, making it easier to write efficient parallel algorithms in C++.

### Q: Who developed Thrust?
A: Thrust was developed by Jared Hoberock, an engineer at NVIDIA.

### Q: Where can I find the source code for Thrust?
A: The source code for Thrust is available on GitHub at [https://github.com/NVIDIA/thrust](https://github.com/NVIDIA/thrust).

### Q: What versions of Thrust have been released?
A: Thrust has been released in versions 1.0.0 through 1.5.2, with the latest version being 1.5.2, released on May 16, 2020.

### Q: Is Thrust open-source?
A: Yes, Thrust is an open-source library, allowing developers to use and contribute to its development.

## Why It Matters
Thrust plays a crucial role in the field of parallel computing by providing developers with a powerful yet accessible tool for writing parallel algorithms. By abstracting away the complexities of GPU and CPU programming, Thrust enables developers to focus on solving problems rather than managing low-level parallelism. Its open-source nature fosters community collaboration, allowing for continuous improvement and adaptation to new hardware and software trends. For researchers and engineers working on high-performance computing, Thrust offers a valuable resource for optimizing performance and accelerating computational tasks.

## Notable For
- **Open-Source Contribution**: Thrust is one of the first major open-source projects from NVIDIA, promoting collaboration in the parallel computing community.
- **Cross-Platform Support**: It supports both GPU and CPU execution, making it versatile for different computing environments.
- **High-Level Abstraction**: Thrust simplifies parallel programming by providing a familiar C++ interface, reducing the learning curve for developers.
- **Active Development**: The library has seen multiple updates since its initial release, indicating ongoing support and improvement.
- **Community-Driven**: Hosted on GitHub, Thrust benefits from community contributions and feedback, ensuring its relevance and usability.

## Body
### Overview
Thrust is a C++ parallel algorithms library developed by NVIDIA, designed to simplify parallel programming. It provides high-level abstractions for both GPU and CPU execution, making it easier for developers to write efficient parallel algorithms.

### Development and Release
- **Developer**: Jared Hoberock
- **Initial Release**: May 16, 2020 (version 1.0.0)
- **Latest Version**: 1.5.2 (released May 16, 2020)
- **Repository**: Hosted on GitHub at [https://github.com/NVIDIA/thrust](https://github.com/NVIDIA/thrust)

### Features and Capabilities
- **Parallel Algorithms**: Thrust offers a range of parallel algorithms, including sorting, searching, and transformations.
- **Cross-Platform**: Supports both GPU and CPU execution, making it versatile for different computing environments.
- **High-Level Abstraction**: Provides a familiar C++ interface, reducing the learning curve for developers.

### Significance
- **Open-Source**: Thrust is an open-source library, allowing developers to use and contribute to its development.
- **Community Collaboration**: Hosted on GitHub, it benefits from community contributions and feedback.
- **Performance Optimization**: Enables developers to focus on solving problems rather than managing low-level parallelism.

### Technical Details
- **Primary Language**: C++
- **Classification**: Non-tangible executable component of a computer
- **Versions**: 1.0.0 through 1.5.2, with updates released in 2020.

## References

1. [Release 1.0.0. 2020](https://github.com/NVIDIA/thrust/releases/tag/1.0.0)
2. [Release 1.1.0. 2020](https://github.com/NVIDIA/thrust/releases/tag/1.1.0)
3. [Release 1.1.1. 2020](https://github.com/NVIDIA/thrust/releases/tag/1.1.1)
4. [Release 1.2.0. 2020](https://github.com/NVIDIA/thrust/releases/tag/1.2.0)
5. [Release 1.2.1. 2020](https://github.com/NVIDIA/thrust/releases/tag/1.2.1)
6. [Release 1.3.0. 2020](https://github.com/NVIDIA/thrust/releases/tag/1.3.0)
7. [Release 1.4.0. 2020](https://github.com/NVIDIA/thrust/releases/tag/1.4.0)
8. [Release 1.5.0. 2020](https://github.com/NVIDIA/thrust/releases/tag/1.5.0)
9. [Release 1.5.1. 2020](https://github.com/NVIDIA/thrust/releases/tag/1.5.1)
10. [Release 1.5.2. 2020](https://github.com/NVIDIA/thrust/releases/tag/1.5.2)
11. [Release 1.5.3. 2020](https://github.com/NVIDIA/thrust/releases/tag/1.5.3)
12. [Release 1.6.0. 2020](https://github.com/NVIDIA/thrust/releases/tag/1.6.0)
13. [Release 1.7.0. 2013](https://github.com/NVIDIA/thrust/releases/tag/1.7.0)
14. [Release 1.7.1. 2014](https://github.com/NVIDIA/thrust/releases/tag/1.7.1)
15. [Release 1.7.2. 2020](https://github.com/NVIDIA/thrust/releases/tag/1.7.2)
16. [Release 1.8.0. 2015](https://github.com/NVIDIA/thrust/releases/tag/1.8.0)
17. [Release 1.8.1. 2015](https://github.com/NVIDIA/thrust/releases/tag/1.8.1)
18. [Release 1.8.2. 2019](https://github.com/NVIDIA/thrust/releases/tag/1.8.2)
19. [Release 1.8.3. 2020](https://github.com/NVIDIA/thrust/releases/tag/1.8.3)
20. [Release 1.9.2. 2020](https://github.com/NVIDIA/thrust/releases/tag/1.9.2)
21. [Release 1.9.3. 2020](https://github.com/NVIDIA/thrust/releases/tag/1.9.3)
22. [Release 1.9.4. 2019](https://github.com/NVIDIA/thrust/releases/tag/1.9.4)
23. [Release 1.9.5. 2019](https://github.com/NVIDIA/thrust/releases/tag/1.9.5)
24. [Release 1.9.0-5. 2020](https://github.com/NVIDIA/thrust/releases/tag/1.9.0-5)
25. [Release 1.9.6. 2020](https://github.com/NVIDIA/thrust/releases/tag/1.9.6)
26. [Release 1.9.7. 2020](https://github.com/NVIDIA/thrust/releases/tag/1.9.7)
27. [Release 1.9.8. 2020](https://github.com/NVIDIA/thrust/releases/tag/1.9.8)
28. [Release 1.9.9. 2020](https://github.com/NVIDIA/thrust/releases/tag/1.9.9)
29. [Release 1.9.10. 2020](https://github.com/NVIDIA/thrust/releases/tag/1.9.10)
30. [Release 1.9.1-2. 2020](https://github.com/NVIDIA/thrust/releases/tag/1.9.1-2)
31. [Release 1.9.6-1. 2020](https://github.com/NVIDIA/thrust/releases/tag/1.9.6-1)
32. [Release 1.9.7-1. 2020](https://github.com/NVIDIA/thrust/releases/tag/1.9.7-1)
33. [Release 1.9.8-1. 2020](https://github.com/NVIDIA/thrust/releases/tag/1.9.8-1)
34. [Release 1.9.10-1. 2020](https://github.com/NVIDIA/thrust/releases/tag/1.9.10-1)
35. [Release 1.10.0. 2020](https://github.com/NVIDIA/thrust/releases/tag/1.10.0)
36. [Release 1.11.0. 2020](https://github.com/NVIDIA/thrust/releases/tag/1.11.0)
37. [Release 1.12.0. 2021](https://github.com/NVIDIA/thrust/releases/tag/1.12.0)
38. [Release 1.12.1. 2021](https://github.com/NVIDIA/thrust/releases/tag/1.12.1)
39. [Release 1.13.0. 2021](https://github.com/NVIDIA/thrust/releases/tag/1.13.0)
40. [Release 1.13.1. 2021](https://github.com/NVIDIA/thrust/releases/tag/1.13.1)
41. [Release 1.14.0. 2021](https://github.com/NVIDIA/thrust/releases/tag/1.14.0)
42. [Release 1.15.0. 2021](https://github.com/NVIDIA/thrust/releases/tag/1.15.0)
43. [Release 1.16.0. 2022](https://github.com/NVIDIA/thrust/releases/tag/1.16.0)
44. [Release 1.17.0. 2022](https://github.com/NVIDIA/thrust/releases/tag/1.17.0)
45. [Release 1.17.1. 2022](https://github.com/NVIDIA/thrust/releases/tag/1.17.1)
46. [Release 1.17.2. 2022](https://github.com/NVIDIA/thrust/releases/tag/1.17.2)
47. [Release 2.0.0. 2022](https://github.com/NVIDIA/thrust/releases/tag/2.0.0)
48. [Release 2.0.1. 2023](https://github.com/NVIDIA/thrust/releases/tag/2.0.1)
49. [Release 2.1.0. 2023](https://github.com/NVIDIA/thrust/releases/tag/2.1.0)