Warning
Compiling using MSVC as CUDA host compiler requires enabling __cplusplus
(/Zc:__cplusplus).
In order to do so, pass -Xcompiler "/Zc:__cplusplus" as an option to NVCC. Failing to do so may result in errors
reporting that a variable of class dim3 can’t be declared constexpr.