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:
Note: we need to stay with CUDA 10.1 requirements as long as the most used HPC systems using CUDA 10.1.
A stable release with C++14 will help but also increase the required work because we need to create back-ports and work on multible alpaka versions at the same time.
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 then the time for an update has come.
Fantastic ideas, maybe we could do a simple wiki page in the Alpaka repo?
Most helpful comment
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 then the time for an update has come.