This repository has been archived by the owner on Mar 21, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 758
Update CDP support macros for if-target compatibility #1661
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
alliepiper
force-pushed
the
if_target_cdp
branch
from
April 14, 2022 21:42
eee5759
to
41e7ee8
Compare
run tests |
alliepiper
force-pushed
the
if_target_cdp
branch
from
April 14, 2022 22:09
41e7ee8
to
104df37
Compare
run tests |
1 similar comment
run tests |
alliepiper
force-pushed
the
if_target_cdp
branch
from
April 21, 2022 19:37
221603e
to
c3b8482
Compare
run tests |
alliepiper
force-pushed
the
if_target_cdp
branch
from
April 21, 2022 22:19
c3b8482
to
22567c3
Compare
run tests |
alliepiper
force-pushed
the
if_target_cdp
branch
from
April 27, 2022 21:38
22567c3
to
7cd68d9
Compare
run tests |
run tests |
run tests |
run tests |
run tests |
run tests |
alliepiper
force-pushed
the
if_target_cdp
branch
2 times, most recently
from
May 18, 2022 15:37
7485284
to
c5727d9
Compare
run tests |
alliepiper
added
the
P0: must have
Absolutely necessary. Critical issue, major blocker, etc.
label
May 18, 2022
alliepiper
added
the
release: breaking change
Include in "Breaking Changes" section of release notes.
label
May 18, 2022
run tests |
run tests |
alliepiper
changed the title
WIP if-target CDP refactor CI testing
Update CDP support macros for if-target compatibilty
May 19, 2022
alliepiper
changed the title
Update CDP support macros for if-target compatibilty
Update CDP support macros for if-target compatibility
May 19, 2022
alliepiper
added
the
release: notes
PR description contains pre-written release notes.
label
May 19, 2022
gevtushenko
approved these changes
May 24, 2022
alliepiper
force-pushed
the
if_target_cdp
branch
from
June 28, 2022 21:06
1095db7
to
42b7e80
Compare
run tests |
alliepiper
force-pushed
the
if_target_cdp
branch
from
June 28, 2022 23:40
42b7e80
to
0a62fd4
Compare
run tests |
alliepiper
force-pushed
the
if_target_cdp
branch
from
June 29, 2022 16:12
0a62fd4
to
cb30a6b
Compare
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Labels
P0: must have
Absolutely necessary. Critical issue, major blocker, etc.
release: breaking change
Include in "Breaking Changes" section of release notes.
release: notes
PR description contains pre-written release notes.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Requires NVIDIA/cub#486.
This PR picks up where #1605 left off. It updates the CDP support in Thrust and CUB to eliminate the use of
__CUDA_ARCH__
.The CUDART macros have been revamped (see relnotes below), and a new
THRUST_CDP_DISPATCH
abstraction centralizes the logic used to dispatch between CDP parallel and sequential implementations based on RDC state.The
testing/cuda/*
tests have been updated to check both parallel CDP launches with RDC enabled and sequential fallbacks when RDC is disabled.Pre-written Release Notes
Breaking Changes
NV_IF_TARGET
. They are now defined consistently across all host/device compilation passes. This should not affect most usages of these macros, but may require changes for some edge cases.THRUST_RUNTIME_FUNCTION
: Execution space annotations for functions that invoke CUDA Runtime APIs.__host__ __device__
__host__ __device__
__host__
__host__ __device__
__host__
__THRUST_HAS_CUDART__
: No change in behavior, but no longer used in Thrust. Provided for legacy support only. Legacy behavior:THRUST_RDC_ENABLED
: New macro, may be combined withNV_IF_TARGET
to replace most usages of__THRUST_HAS_CUDART__
. Behavior: