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

Emit diagnostics for device lambdas #1760

Merged

Conversation

gevtushenko
Copy link
Collaborator

No description provided.

@gevtushenko
Copy link
Collaborator Author

run tests

Copy link
Collaborator

@alliepiper alliepiper left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We shouldn't use CUB headers outside of thrust/system/cuda/, as CUB is only a dependency when the CUDA backend is enabled.

Let's replicate the logic from CUB in Thrust's type_traits.h and use that instead.

@jrhemstad
Copy link
Collaborator

All the logic is in cuda::std::invoke_result isn't it? Can't we just use cuda::std::invoke_result directly?

@gevtushenko
Copy link
Collaborator Author

All the logic is in cuda::std::invoke_result isn't it? Can't we just use cuda::std::invoke_result directly?

Invoke result is C++17 feature. CUB wrapper switches to result of for previous dialects.

@jrhemstad
Copy link
Collaborator

Invoke result is C++17 feature. CUB wrapper switches to result of for previous dialects.

Can't we back port cuda::std::invoke_result_t to be available prior to C++17?

It's just a library feature, and we already have back ported many Standard Library features in libcu++, e.g., NVIDIA/libcudacxx#66

@alliepiper
Copy link
Collaborator

Can't we back port cuda::std::invoke_result_t to be available prior to C++17?

We'd need a libcu++ release by 8/15 to do this.

@gevtushenko gevtushenko force-pushed the fix-main/github/device_lambdas branch from a607152 to a78f219 Compare August 5, 2022 08:55
@gevtushenko
Copy link
Collaborator Author

run tests

@alliepiper alliepiper added type: enhancement New feature or request. P1: should have Necessary, but not critical. release: breaking change Include in "Breaking Changes" section of release notes. labels Aug 5, 2022
@gevtushenko gevtushenko merged commit c717f49 into NVIDIA:main Aug 5, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
P1: should have Necessary, but not critical. release: breaking change Include in "Breaking Changes" section of release notes. type: enhancement New feature or request.
Projects
None yet
4 participants