【问题标题】:What's the NVCC warning token for " 'long double' is treated as 'double' in device code"?“'long double' 在设备代码中被视为 'double'”的 NVCC 警告标记是什么?
【发布时间】:2021-09-02 15:16:44
【问题描述】:

在这个问题中:

How to disable a specific nvcc compiler warnings

有一个链接到一个长的“字典”将标记映射到错误消息,这似乎适合 NVCC ... 除了它不涵盖所有警告。具体来说,我想压制

warning: 'long double' is treated as 'double' in device code

...并且该警告不在其中。它的令牌是什么?或者也许 - 我如何确定给定警告字符串的令牌?

注意:AFAICT,不是

"double" used for "long double" in generated C code

非常相似。

【问题讨论】:

  • @njuffa:实际上,我似乎只说对了一部分。
  • 你试过没有=吗?一些编译器只使用数字,所以你会写,比如说,#pragma diag_suppress 191。我认为 PGI 编译器使用这个约定。

标签: cuda compiler-warnings nvcc


【解决方案1】:

该警告的数量是 20208;因此,如果您将以下内容附加到编译命令行,它将被禁止:

-Xcudafe --diag_suppress=20208

感谢this answer,我明白了这一点,它解释了如何让 NVCC 发出警告编号。

但是 - 这不起作用:

#pragma diag_suppress = 20208

所以在代码中按数字抑制错误的语法必须不同。


注意:不要将diag-suppress 误认为diag_suppress

【讨论】:

    猜你喜欢
    • 2014-08-31
    • 1970-01-01
    • 2013-07-10
    • 2020-09-22
    • 1970-01-01
    • 1970-01-01
    • 2019-08-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多