如何解决如何查找和禁用特定的 NVCC 警告?
特定警告的 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 中找到它。
解决方法
可以使用以下标志抑制此特定警告:
-Xcudafe --diag_suppress=esa_on_defaulted_function_ignored
,
特定警告的 NVCC 代码在哪里列出?
它们不公开。没有清单。如果没有以下组合,就没有直接的方法可以做你想做的事:
- 将所有警告提升为错误并强制设备前端/编译器发出错误代码而不是文本消息,然后
- 窥探 EDG 前端文档和其他编译器分发的文件和文档,这些编译器也使用 EDG 前端,看看是否可以找到匹配的代码,否则
- 转储字符串并在 cudafe 可执行文件中四处窥探,以查看是否可以找到您要查找的字符串,然后查看是否可以逆向工程返回警告代码或枚举
简而言之,您真的必须非常想要这个并且有时间投资,即使这样也可能无法实现。
或者,在 NVIDIA 开发者计划中注册,提出错误,看看他们是否会帮助您获得所需的信息。
,不是寻找警告的字符串代码,你可以通过
--display_error_number
标记到 NVCC,并获取该错误的编号。然后你可以禁用它:
-Xcudafe --diag_suppress=1234
或任何错误编号。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。