如何解决为什么 NVCC 对 constexpr 比非 constexpr 主机函数更严格?
考虑以下代码:
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 登录,然后查看您的错误,然后替换错误编号。)
显然没有修复!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。