-
Notifications
You must be signed in to change notification settings - Fork 75
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
Considerations for C++17-only release #1011
Comments
Note: we need to stay with CUDA 10.1 requirements as long as the most used HPC systems using CUDA 10.1. |
As discussed in a VC: I think compiler/toolchain updates are governed by what kinds of (HPC-) systems we want to support. So if all of these systems have upgraded to a new compiler/toolchain, we can upgrade as well. @sbastrakov pointed me to a list of systems where picongpu has been run, so we have a (partially outdated) sample of these supported systems. I think we should have a table of supported systems and their compiler/toolchain versions and then regularly (like every month) check if those have changed. This will allow us to know when the time for an update has come. |
Fantastic ideas, maybe we could do a simple wiki page in the Alpaka repo? |
We mentioned this topic again in the last alpaka VC and decided to put together a list of arguments for and against a transition to C++17 after the next release (alpaka 0.8 will ship in C++14, then upgrade). Arguments for are primarily big improvements in programmer convenience. There are especially new metaprogramming features (e.g. |
The upgrade to C++17 has further implications. Since we need to require at least CUDA 11.0 to support C++17, it seems we can no longer support clang as CUDA compiler below clang-12, as clang-11 and below fail to detect a CUDA 11.0 SDK. See #1466 (comment). Or at least I could not find a way yet to make clang-11 and below work with CUDA SDK 11.0. |
I can confirm that CUDA 11.0 is not working with clang++-9 and clang++-10. |
CUDA 11 will add support for C++17. This would allow us to require C++17 as minimum version for alpaka which would allow us to simplify some internals.
As an intermediate step we should create a release that still supports c++14 but already adds support for CUDA 11 and c++17.
In a follow up release we could drop support for the following dependencies because they miss full c++17 support:
The text was updated successfully, but these errors were encountered: