Closed stephen-hqxu closed 1 year ago
For the sake of ABI compatibility, I will wait for CUDA to add support for C++ 20 before porting the project.
CUDA 12 adds support to C++ 20.
The following changes should be addressed before porting the project:
From 12.0, JIT LTO support is now part of CUDA Toolkit. JIT LTO support in the CUDA Driver through the cuLink driver APIs is officially deprecated. Driver JIT LTO will be available only for 11.x applications. The following enums supported by the cuLink Driver APIs for JIT LTO are deprecated:
Going to close this issue because I don't want to have every C++20 TODO in one issue. For clarity I will open one issue for each TODO.
Suggestion
As said in the title, there are a few new features in C++20 that can really help simplifying our project.
The main compiler we are using, MSVC, has finialised C++20 support and it's stable enough for production use. One major issue is NVCC compiler which has absolutely no support for the new language version. It will take some effort to make the project working with two different dialects.