pika-org / pika

pika builds on C++ std::execution with fiber, CUDA, HIP, and MPI support.
https://pikacpp.org
Boost Software License 1.0
62 stars 10 forks source link

Drop support for older compilers #1193

Open msimberg opened 3 months ago

msimberg commented 3 months ago

Once Piz Daint is no longer operational I think we can drop official support for GCC 9 and 10 (GCC 11 we want to keep for CUDA 11 support). We don't have to actively disallow using older compilers, but we won't work around issues with them. For clang I think we can drop at least 11. In both cases this would mean supporting versions released in the last three years.

barracuda156 commented 3 weeks ago

@msimberg In principle it is desirable to support gcc10, since it is the last version to build without C++11. (I.e. if one starts from a compiler without C++11 support, it is needed only to build gcc10; otherwise gcc10 has to be built first and then used to build gcc11+.) But perhaps as long as it is not prohibited from being used, potential users could handle issues on their end, if any arise.

msimberg commented 3 weeks ago

We have no plans to actively stop people from using unsupported (by us) compilers. We just won't test with and fix bugs (ourselves) for those compilers. This issue is primarily about reducing the set of compiler versions we test since we've kept adding new versions but not pruned old ones. (We removed an internal GCC version check recently as well: https://github.com/pika-org/pika/pull/1135/files#diff-1e7de1ae2d059d21e1dd75d5812d5a34b0222cef273b7c3a2af62eb747f9d20aL910, so in theory we're not stopping anyone from using GCC 8 or older either, but it's unlikely to work...).

Do note though that we're aiming to remove our own implementation of std::execution sooner or later (#293). At that point we'll rely on https://github.com/NVIDIA/stdexec which requires GCC 11 or newer. Until then you'll probably be able to use GCC 10 even without us supporting it.