问题描述
考虑以下代码:
constexpr __host__ void foo() { }
__global__ void baz()
{
if constexpr(1==2) { foo(); }
}
此 fails to compile 带有 CUDA 11.3.1 的 NVCC。但是,如果我删除 constexpr
- 它是 does compile。
解决方法
这是一个错误。我已将其提交给 NVIDIA:
https://developer.nvidia.com/nvidia_bug/3328502
(很难访问他们的错误跟踪系统,请尝试先通过 https://developer.nvidia.com 登录,然后查看您的错误,然后替换错误编号。)
显然没有修复!