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

Commit f0ff4b2

Browse files
authored
Merge pull request #1837 from allisonvacanti/ctk12_sync
Ctk12 sync
2 parents fb758b8 + bdd6880 commit f0ff4b2

File tree

5 files changed

+25
-51
lines changed

5 files changed

+25
-51
lines changed

ci/axis/cpu.yml

Lines changed: 0 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,9 @@
55

66
SDK_TYPE:
77
- cuda
8-
- nvhpc
98

109
SDK_VER:
1110
- 11.5.1-devel
12-
- 22.1-devel-cuda11.5
1311

1412
OS_TYPE:
1513
- ubuntu
@@ -18,7 +16,6 @@ OS_VER:
1816
- 20.04
1917

2018
CXX_TYPE:
21-
- nvcxx
2219
- clang
2320
- gcc
2421
- icc
@@ -32,55 +29,18 @@ CXX_VER:
3229
- 10
3330
- 11
3431
- 12
35-
- 22.1
3632
- latest
3733

3834
exclude:
39-
# Excludes by `SDK_TYPE`.
40-
- CXX_TYPE: gcc
41-
SDK_TYPE: nvhpc
42-
- CXX_TYPE: clang
43-
SDK_TYPE: nvhpc
44-
- CXX_TYPE: icc
45-
SDK_TYPE: nvhpc
46-
- CXX_TYPE: nvcxx
47-
SDK_TYPE: cuda
48-
# Excludes by `SDK_VER`.
49-
- SDK_TYPE: cuda
50-
SDK_VER: 22.1-devel-cuda11.5
51-
- SDK_TYPE: nvhpc
52-
SDK_VER: 11.5.1-devel
5335
# Excludes by `CXX_VER`.
54-
- CXX_TYPE: nvcxx
55-
CXX_VER: 5
56-
- CXX_TYPE: nvcxx
57-
CXX_VER: 6
58-
- CXX_TYPE: nvcxx
59-
CXX_VER: 7
60-
- CXX_TYPE: nvcxx
61-
CXX_VER: 8
62-
- CXX_TYPE: nvcxx
63-
CXX_VER: 9
64-
- CXX_TYPE: nvcxx
65-
CXX_VER: 10
66-
- CXX_TYPE: nvcxx
67-
CXX_VER: 11
68-
- CXX_TYPE: nvcxx
69-
CXX_VER: 12
70-
- CXX_TYPE: nvcxx
71-
CXX_VER: latest
7236
- CXX_TYPE: gcc
7337
CXX_VER: 12
74-
- CXX_TYPE: gcc
75-
CXX_VER: 22.1
7638
- CXX_TYPE: gcc
7739
CXX_VER: latest
7840
- CXX_TYPE: clang
7941
CXX_VER: 5
8042
- CXX_TYPE: clang
8143
CXX_VER: 6
82-
- CXX_TYPE: clang
83-
CXX_VER: 22.1
8444
- CXX_TYPE: clang
8545
CXX_VER: latest
8646
- CXX_TYPE: icc
@@ -99,6 +59,3 @@ exclude:
9959
CXX_VER: 11
10060
- CXX_TYPE: icc
10161
CXX_VER: 12
102-
- CXX_TYPE: icc
103-
CXX_VER: 22.1
104-

cmake/ThrustCudaConfig.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
enable_language(CUDA)
22

3-
set(THRUST_KNOWN_COMPUTE_ARCHS 35 37 50 52 53 60 61 62 70 72 75 80 86)
3+
set(THRUST_KNOWN_COMPUTE_ARCHS 35 37 50 52 53 60 61 62 70 72 75 80 86 90)
44

55
# Split CUDA_FLAGS into 3 parts:
66
#

docs/github_pages/releases.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ nav_order: 3
88

99
| Version | Included In |
1010
|-----------------|-------------------------------------------|
11+
| 2.0.1 | CUDA Toolkit 12.0 |
1112
| 2.0.0 | TBD |
1213
| 1.17.2 | TBD |
1314
| 1.17.1 | TBD |

thrust/system/cuda/detail/cdp_dispatch.h

Lines changed: 22 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -42,13 +42,29 @@
4242
* \endcode
4343
*/
4444

45-
#ifdef THRUST_RDC_ENABLED
45+
#if defined(CUB_DETAIL_CDPv1)
4646

47-
// seq_impl unused.
47+
// Special case for NVCC -- need to inform the device path about the kernels
48+
// that are launched from the host path.
49+
#if defined(__CUDACC__) && defined(__CUDA_ARCH__)
50+
51+
// seq_impl only used on platforms that do not support device synchronization.
4852
#define THRUST_CDP_DISPATCH(par_impl, seq_impl) \
49-
NV_IF_TARGET(NV_ANY_TARGET, par_impl, par_impl)
53+
if (false) \
54+
{ /* Without this, the device pass won't compile any kernels. */ \
55+
NV_IF_TARGET(NV_ANY_TARGET, par_impl); \
56+
} \
57+
NV_DISPATCH_TARGET(NV_PROVIDES_SM_90, seq_impl, NV_ANY_TARGET, par_impl)
5058

51-
#else // THRUST_RDC_ENABLED
59+
#else // NVCC device pass
60+
61+
// seq_impl only used on platforms that do not support device synchronization.
62+
#define THRUST_CDP_DISPATCH(par_impl, seq_impl) \
63+
NV_DISPATCH_TARGET(NV_PROVIDES_SM_90, seq_impl, NV_ANY_TARGET, par_impl)
64+
65+
#endif // NVCC device pass
66+
67+
#else // CDPv1 unavailable. Always fallback to serial on device:
5268

5369
// Special case for NVCC -- need to inform the device path about the kernels
5470
// that are launched from the host path.
@@ -62,11 +78,11 @@
6278
} \
6379
NV_IF_TARGET(NV_IS_HOST, par_impl, seq_impl)
6480

65-
#else // NVCC device pass
81+
#else // !(NVCC device pass):
6682

6783
#define THRUST_CDP_DISPATCH(par_impl, seq_impl) \
6884
NV_IF_TARGET(NV_IS_HOST, par_impl, seq_impl)
6985

7086
#endif // NVCC device pass
7187

72-
#endif // THRUST_RDC_ENABLED
88+
#endif // CDP version

0 commit comments

Comments
 (0)