NVCC警告级别
NVCC warning level
我希望NVCC将以下警告视为错误:
warning : calling a __host__ function("foo") from a __host__ __device__ function("bar")
NVCC文档"NVIDIA CUDA Compiler Driver NVCC"甚至不包含"警告"一词。
引用 CUDA 编译器驱动程序 NVCC 参考指南,第 3.2.8 节。 "通用工具选项":
--Werror kind
将指定类型的警告变为错误。以下是此选项接受的警告类型列表:
cross-execution-space-call
对不受支持的交叉执行空间调用更加严格。编译器将生成错误,而不是从__host__ __device__
调用__host__
函数的警告。
因此,请执行以下操作:
项目 ->属性 ->配置属性 -> CUDA C/C++ ->命令行 -> 附加光学器件 ->添加 --错误交叉执行空间调用
此测试程序
#include <cuda.h>
#include <cuda_runtime.h>
void foo() { int a = 2;}
__host__ __device__ void test() {
int tId = 1;
foo();
}
int main(int argc, char **argv) { }
返回以下警告
warning : calling a __host__ function("foo") from a __host__ __device__ function("test") is not allowed
没有上面提到的附加编译选项并返回以下错误
Error 3 error : calling a __host__ function("foo") from a __host__ __device__ function("test") is not allowed
使用上述附加编译选项。
相关文章:
- 警告处理为错误这里有什么问题
- 使用动态分配的数组会导致代码分析发出虚假的C6386缓冲区溢出警告
- cppcheck在const std::string[]上引发警告
- GCC对可能有效的代码抛出init list生存期警告
- 如何在BST的这个简单递归实现中消除警告
- 关于std::move的使用,是否有编译警告
- g++ 在某个类成员未初始化时不发出警告
- 如何处理来自核心指南检查器的关于gsl::at的静态分析警告
- 使用typeid警告未使用的变量
- 示例C++项目编译中的警告
- 警告:在函数返回类型 [-Wignore 限定符] 时忽略类型限定符
- 如何修复编译器警告 C6386 和 C6385?
- 返回语句后的代码,没有警告
- 获取隐式转换溢出从无符号到已签名的警告
- 编译器警告:执行到达值返回函数的末尾而不返回值
- 在未链接的部分上生成警告
- 警告 C4552:">>":未使用表达式的结果
- Visual Studio-过滤nvcc警告
- NVCC/CUDA 3.1 - ghtr-default.h 泛洪"declared static"但未定义的警告
- NVCC警告级别