gpt4 book ai didi

c++ - NVCC 警告级别

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:41:20 24 4
gpt4 key购买 nike

我希望 NVCC 将以下警告视为错误:

warning : calling a __host__ function("foo") from a __host__ __device__ function("bar")

NVCC 文档“NVIDIA CUDA 编译器驱动程序 NVCC”甚至不包含“警告”一词。

最佳答案

引用 CUDA COMPILER DRIVER NVCC 引用指南,Section 3.2.8. "Generic Tool Options" :

--Werror kind Make warnings of the specified kinds into errors. The following is the list of warning kinds accepted by this option:

cross-execution-space-call Be more strict about unsupported cross execution space calls. The compiler will generate an error instead of a warning for a call from a __host__ __device__ to a __host__ function.

因此,请执行以下操作:

项目 -> 属性 -> 配置属性 -> CUDA C/C++ -> 命令行 -> 附加光学 -> 添加 --Werror cross-execution-space-call

这个测试程序

#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

使用上面提到的附加编译选项。

关于c++ - NVCC 警告级别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14633705/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com