Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for concepts #286

Open
BenjaminW3 opened this issue Oct 30, 2016 · 4 comments
Open

Add support for concepts #286

BenjaminW3 opened this issue Oct 30, 2016 · 4 comments
Assignees

Comments

@BenjaminW3
Copy link
Member

gcc and clang support preliminary versions of the concepts TS that can be enabled with -fconcepts
With this we could describe the concepts Pltf, Dev, Acc, Stream, Buf, View, etc. to make the code better understandable and to get much more clear error messages.

@bernhardmgruber
Copy link
Member

By now, concepts should be supported in mainline gcc, clang and MSVC.

@sbastrakov
Copy link
Member

And alpaka has own concepts. Which are of course not as functional as the standard ones, but are still very useful imo

@bernhardmgruber
Copy link
Member

I think C++20 is available enough to start working on this. We could still #ifdef the concept checks in template heads away, but provide them if the compiler supports it. LLAMA does the same for a while now and it works without any troubles.

Since @j-stephan mentioned interest in this several times in the past, I will assign this to him :)

@fwyzard
Copy link
Contributor

fwyzard commented Aug 7, 2023

I'm all in favour of adopting concepts in Alpaka, but please keep it and the c++20 requirement optional, as the CMS software cannot switch to c++20 yet :(

Also, c++20 requires CUDA 12.x, for which we still have some open but reports :(

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants