Skip to content
This repository was archived by the owner on Mar 21, 2024. It is now read-only.

Commit da78e6d

Browse files
committed
Add gpuCI GPU testing, automatic GPU detection, and support for more compilers:
* CMake: Add support for detecting the compute archs of the GPUs in your system at configure time. * CMake: Update FindTBB.cmake to support the newer oneTBB. * gpuCI: Add a GPU node configuration that builds and tests as little as possible. * gpuCI: Cleanup logic for different build and test configurations. * gpuCI: Fix an unfortunate typo in `determine_build_parallelism.bash` which led to the parallelism level not being set. * gpuCI: Add support for NVC++. * gpuCI: Update to CUDA 11.1 and Ubuntu 20.04. * gpuCI: Add NVC++ and ICC configurations to the CPU axis file. * gpuCI: Add a GPU axis file. * gpuCI: Increase the desired memory per build thread to 4GB. * gpuCI: Add a -j switch which controls build parallelism to `ci/local/build.bash`. * gpuCI: Add support for CMake build types.
1 parent 1fc26dc commit da78e6d

10 files changed

Lines changed: 533 additions & 136 deletions

ci/axis/cpu.yml

Lines changed: 75 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,27 @@
1+
# Copyright (c) 2018-2020 NVIDIA Corporation
2+
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
3+
# Released under the Apache License v2.0 with LLVM Exceptions.
4+
# See https://llvm.org/LICENSE.txt for license information.
5+
6+
SDK_TYPE:
7+
- cuda
8+
- nvhpc
9+
10+
SDK_VER:
11+
- 11.0-devel
12+
- 20.9-devel
13+
14+
OS_TYPE:
15+
- ubuntu
16+
117
OS_VER:
2-
- ubuntu18.04
18+
- 20.04
319

420
CXX_TYPE:
5-
- gcc
21+
- nvcxx
622
- clang
23+
- gcc
24+
- icc
725

826
CXX_VER:
927
- 5
@@ -12,17 +30,67 @@ CXX_VER:
1230
- 8
1331
- 9
1432
- 10
33+
- 20.9
34+
- latest
1535

1636
exclude:
17-
# Unsupported compiler version
37+
# Excludes by `SDK_TYPE`.
38+
- CXX_TYPE: gcc
39+
SDK_TYPE: nvhpc
40+
- CXX_TYPE: clang
41+
SDK_TYPE: nvhpc
42+
- CXX_TYPE: icc
43+
SDK_TYPE: nvhpc
44+
- CXX_TYPE: nvcxx
45+
SDK_TYPE: cuda
46+
# Excludes by `SDK_VER`.
47+
- SDK_TYPE: cuda
48+
SDK_VER: 20.9-devel
49+
- SDK_TYPE: nvhpc
50+
SDK_VER: 11.0-devel
51+
# Excludes by `CXX_VER`.
52+
- CXX_TYPE: nvcxx
53+
CXX_VER: 5
54+
- CXX_TYPE: nvcxx
55+
CXX_VER: 6
56+
- CXX_TYPE: nvcxx
57+
CXX_VER: 7
58+
- CXX_TYPE: nvcxx
59+
CXX_VER: 8
60+
- CXX_TYPE: nvcxx
61+
CXX_VER: 9
62+
- CXX_TYPE: nvcxx
63+
CXX_VER: 10
64+
- CXX_TYPE: nvcxx
65+
CXX_VER: latest
66+
- CXX_TYPE: gcc
67+
CXX_VER: 10
68+
- CXX_TYPE: gcc
69+
CXX_VER: 20.9
70+
- CXX_TYPE: gcc
71+
CXX_VER: latest
1872
- CXX_TYPE: clang
1973
CXX_VER: 5
20-
# This config is broken in the docker image: https://github.com/NVIDIA/cccl/issues/6
2174
- CXX_TYPE: clang
2275
CXX_VER: 6
23-
# Needs newer nvcc in image, https://github.com/NVIDIA/cccl/issues/7
2476
- CXX_TYPE: clang
2577
CXX_VER: 10
26-
# Config broken in image: https://github.com/NVIDIA/cccl/issues/8
27-
- CXX_TYPE: gcc
78+
- CXX_TYPE: clang
79+
CXX_VER: 20.9
80+
- CXX_TYPE: clang
81+
CXX_VER: latest
82+
- CXX_TYPE: icc
83+
CXX_VER: 5
84+
- CXX_TYPE: icc
85+
CXX_VER: 6
86+
- CXX_TYPE: icc
87+
CXX_VER: 7
88+
- CXX_TYPE: icc
89+
CXX_VER: 8
90+
- CXX_TYPE: icc
91+
CXX_VER: 9
92+
- CXX_TYPE: icc
2893
CXX_VER: 10
94+
- CXX_TYPE: icc
95+
CXX_VER: 20.9
96+

ci/axis/gpu.yml

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# Copyright (c) 2018-2020 NVIDIA Corporation
2+
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
3+
# Released under the Apache License v2.0 with LLVM Exceptions.
4+
# See https://llvm.org/LICENSE.txt for license information.
5+
6+
SDK_TYPE:
7+
- cuda
8+
9+
SDK_VER:
10+
- 11.0-devel
11+
12+
OS_TYPE:
13+
- ubuntu
14+
15+
OS_VER:
16+
- 20.04
17+
18+
CXX_TYPE:
19+
- gcc
20+
21+
CXX_VER:
22+
- 7
23+

0 commit comments

Comments
 (0)