Open vyasr opened 4 weeks ago
CC @robertmaynard (not at all urgent, just figured you'd have thoughts)
I fully support switching over to C++20 once we drop CUDA 11.X support. Currently nvcc 11.8 only supports up to C++17.
As for the components of C++20 that we can leverage in RAPIDS, I think the only exception will be modules, as nvcc doesn't support them
Got it, so this is blocked on dropping CUDA 11.
RAPIDS updated to C++17 a little over three years ago (here's cudf's). Since C++ standards are released every three years, we ought to be about on track to consider upgrading our builds to use C++20. C++20 is a pretty huge release with a lot of major new features like modules, concepts, and ranges, all of which we could make good use of in RAPIDS. Compiler support is tracked here. It seems like gcc has near-complete support for C++20 now (modules are still partial) so that shouldn't be a bottleneck any more.