File: requirements.md

package info (click to toggle)
cccl 2.3.2-2
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 89,900 kB
  • sloc: cpp: 697,664; ansic: 26,964; python: 11,928; sh: 3,284; asm: 2,154; perl: 460; makefile: 112; xml: 13
file content (111 lines) | stat: -rw-r--r-- 2,959 bytes parent folder | download | duplicates (2)
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
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
---
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].

## Usage Requirements

To use the NVIDIA C++ Standard Library, you must meet the following
  requirements.

### System Software

The NVIDIA C++ Standard Library requires either the [NVIDIA HPC SDK] or the
  [CUDA Toolkit].

libcu++ was first released in NVHPC 20.3 and CUDA 10.2.
Some features are only available in newer releases.
Please see the [Standard API section], [Extended API section], and
  [release section] to find which features require newer releases.

Releases of libcu++ are only tested against the latest releases of NVHPC and
  CUDA.
It may be possible to use a newer version of libcu++ with an older NVHPC or
  CUDA installation by using a libcu++ release from GitHub, but please be aware
  this is not officially supported.

### C++ Dialects

The NVIDIA C++ Standard Library supports the following C++ dialects:

- C++11
- C++14
- C++17

A number of features have been backported to earlier standards.
Please see the [API section] for more details.

### NVCC Host Compilers

When used with NVCC, the NVIDIA C++ Standard Library supports the following host
  compilers:

- MSVC 2017 and 2019.
- GCC 5, 6, 7, 8, 9, and 10.
- Clang 7, 8, 9, and 10.
- ICPC latest.
- NVHPC 20.9 and 20.11.

### Device Architectures

The NVIDIA C++ Standard Library fully supports the following NVIDIA device
  architectures:

- Volta: SM 70 and 72.
- Turing: SM 75.
- Ampere: SM 80.

The following NVIDIA device architectures are partially supported:

- Maxwell: SM 50, 52 and 53.
    - Synchronization facilities are supported.
- Pascall: SM 60, 61 and 62.
    - Blocking synchronization facilities (e.g. most of the synchronization
          primitives) are not supported.
        Please see the [synchronization primitives section] for details.

### Host Architectures

The NVIDIA C++ Standard Library supports the following host architectures:

- aarch64.
- x86-64.
- ppc64le.

### Host Operating Systems

The NVIDIA C++ Standard Library supports the following host operating systems:

- Linux.
- Windows.
- Android.
- QNX.

## Build and Test Requirements

To build and test libcu++ yourself, you will need the following in addition to
  the usage requirements:

- [CMake].
- [LLVM].
  - You do not have to build LLVM; we only need its CMake modules.
- [lit], the LLVM Integrated Tester.
  - We recommend installing lit using Python's pip package manager.


[Standard API section]: ../standard_api.md
[Extended API section]: ../extended_api.md
[synchronization primitives section]: ../extended_api/synchronization_primitives.md
[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
[LLVM]: https://github.com/llvm
[lit]: https://pypi.org/project/lit/