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

Drop support for older compilers #1193

Open
msimberg opened this issue Jun 25, 2024 · 3 comments
Open

Drop support for older compilers #1193

msimberg opened this issue Jun 25, 2024 · 3 comments
Labels
category: CI Continuous Integration category: documentation effort: 2 A few hours of work. priority: medium This should be done sooner or later. type: cleanup

Comments

@msimberg
Copy link
Contributor

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.

@msimberg msimberg added effort: 2 A few hours of work. priority: medium This should be done sooner or later. category: documentation category: CI Continuous Integration type: cleanup labels Jun 25, 2024
@msimberg msimberg moved this from Backlog to Todo in pika planning board Sep 4, 2024
@msimberg msimberg added this to the 0.29.0 milestone Sep 4, 2024
@barracuda156
Copy link
Contributor

@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
Copy link
Contributor Author

msimberg commented Sep 9, 2024

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.

@msimberg
Copy link
Contributor Author

In #1284 I'm removing the CI configurations for clang 11 and 12. I will leave GCC 9 and 10 at least until old Piz Daint is finally shut down (since it relies on CUDA 11 and GCC 9 as the default environment).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
category: CI Continuous Integration category: documentation effort: 2 A few hours of work. priority: medium This should be done sooner or later. type: cleanup
Projects
Development

No branches or pull requests

2 participants