如何查找和禁用特定的 NVCC 警告?

Posted

技术标签:

【中文标题】如何查找和禁用特定的 NVCC 警告?【英文标题】:How to find and disable specific NVCC warning? 【发布时间】:2021-04-07 12:46:05 【问题描述】:

特定警告的 NVCC 代码在哪里列出?

查看this one 等其他问题给出了使用-Xcudafe "--diag_suppress=xxx 抑制警告“xxx”的答案,并链接到可能的警告列表here。

但是,当我收到警告时

/usr/include/eigen3/Eigen/src/Core/util/XprHelper.h(94): warning: __host__ annotation is ignored on a function("no_assignment_operator") that is explicitly defaulted on its first declaration

/usr/include/eigen3/Eigen/src/Core/util/XprHelper.h(94): warning: __device__ annotation is ignored on a function("no_assignment_operator") that is explicitly defaulted on its first declaration

我在list 中找不到该类型。有人可以将我指向它所在的页面,以便我找到它的代码/名称吗?我在documentation for NVCC里没找到。

【问题讨论】:

【参考方案1】:

您可以通过 --display_error_number 标记到 NVCC,并获取该错误的编号。然后你可以禁用它:

-Xcudafe --diag_suppress=1234

或任何错误号。

【讨论】:

【参考方案2】:

可以使用以下标志抑制此特定警告:

-Xcudafe --diag_suppress=esa_on_defaulted_function_ignored

【讨论】:

以上是关于如何查找和禁用特定的 NVCC 警告?的主要内容,如果未能解决你的问题,请参考以下文章

如何隐藏 NVCC 的“函数已声明但从未引用”警告?

禁用来自 cpplint 的特定警告

如何在 VS Code 的 .vue 文件中禁用模板中特定行的 eslint 警告

C ++如何禁用具有不同符号变量比较的特定行的编译器警告?

在 IntelliJ 中为一行禁用警告

CUDA:NVCC 给出控制表达式是断言时的持续警告