1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81
|
---
parent: Setup
nav_order: 0
---
# Requirements
All requirements are applicable to the `main` branch on GitHub.
For details on specific releases, please see the [CHANGELOG.md].
## Usage Requirements
To use the NVIDIA C++ Standard Library, you must meet the following
requirements.
### System Software
Thrust and CUB require either the [NVIDIA HPC SDK] or the [CUDA Toolkit].
Releases of Thrust and CUB are only tested against the latest releases of NVHPC
and CUDA.
It may be possible to use newer version of Thrust and CUB with an older NVHPC or
CUDA installation by using a Thrust and CUB release from GitHub, but please
be aware this is not officially supported.
### C++ Dialects
Thrust and CUB support the following C++ dialects:
- C++11 (deprecated)
- C++14
- C++17
### Compilers
Thrust and CUB support the following compilers when used in conjunction with
NVCC:
- NVCC (latest version)
- NVC++ (latest version)
- GCC 5+
- Clang 7+
- MSVC 2019+ (19.20/16.0/14.20)
Unsupported versions may emit deprecation warnings, which can be
silenced by defining `THRUST_IGNORE_DEPRECATED_COMPILER` during compilation.
### Device Architectures
Thrust and CUB support all NVIDIA device architectures since SM 35.
### Host Architectures
Thrust and CUB support the following host architectures:
- aarch64.
- x86-64.
- ppc64le.
### Host Operating Systems
Thrust and CUB support the following host operating systems:
- Linux.
- Windows.
## Build and Test Requirements
To build and test Thrust and CUB yourself, you will need the following in
addition to the above requirements:
- [CMake].
[changelog]: ./releases/changelog.md
[NVIDIA HPC SDK]: https://developer.nvidia.com/hpc-sdk
[CUDA Toolkit]: https://developer.nvidia.com/cuda-toolkit
[CMake]: https://cmake.org
|