Cuda 如何禁用关于不确定堆栈大小的ptxas警告?

Cuda 如何禁用关于不确定堆栈大小的ptxas警告?,cuda,compiler-warnings,nvcc,ptxas,assembler-warnings,Cuda,Compiler Warnings,Nvcc,Ptxas,Assembler Warnings,编译CUDA设备代码时,可能会出现错误(为了可读性,请换行): 这本可以,但现在这些都不重要了。我想禁用警告,至少在某些功能中。问题是,我不知道该用哪种代币。搜索是没有用的(以下是关于禁用特定警告的内容)——因为这些是NVCC的C/C++前端中的警告,而不是汇编程序中的警告 那么如何禁用此警告呢?需要注意的重要一点是,这是一个汇编程序警告,因此通常的前端警告抑制选项都不相关 ptxas仅支持数量非常有限的警告控制选项。在CUDA 9之前,仅支持以下内容: --suppress-double-de

编译CUDA设备代码时,可能会出现错误(为了可读性,请换行):

这本可以,但现在这些都不重要了。我想禁用警告,至少在某些功能中。问题是,我不知道该用哪种代币。搜索是没有用的(以下是关于禁用特定警告的内容)——因为这些是NVCC的C/C++前端中的警告,而不是汇编程序中的警告


那么如何禁用此警告呢?

需要注意的重要一点是,这是一个汇编程序警告,因此通常的前端警告抑制选项都不相关

ptxas
仅支持数量非常有限的警告控制选项。在CUDA 9之前,仅支持以下内容:

--suppress-double-demote-warning                    (-suppress-double-demote-warning)
        Suppress the warning that is otherwise emitted when a double precision instruction
        is encountered in PTX that is targeted for an SM version that does not have
        double precision support

--disable-warnings                                  (-w)                        
        Inhibit all warning messages.

--warn-on-double-precision-use                      (-warn-double-usage)        
        Warning if double(s) are used in an instruction.

--warn-on-local-memory-usage                        (-warn-lmem-usage)          
        Warning if local memory is used.

--warn-on-spills                                    (-warn-spills)              
        Warning if registers are spilled to local memory.

--warning-as-error                                  (-Werror)                   
        Make all warnings into errors.
在您的情况下,唯一的选择是抑制所有警告。将
-Xptxas='-w'
添加到任何
nvcc
调用中应该可以实现这一点

CUDA 9及更新版本添加了另一个选项
ptxas
,该选项将抑制您询问的警告:

--suppress-stack-size-warning                       (-suppress-stack-size-warning)
        Suppress the warning that otherwise is printed when stack size cannot be
        determined.

在这种情况下,将
-Xptxas='-suppress stack size warning'
添加到任何
nvcc
调用中都应该消除该警告。

需要注意的重要一点是,这是一个汇编程序警告,因此通常的前端警告抑制选项都不相关

ptxas
仅支持数量非常有限的警告控制选项。在CUDA 9之前,仅支持以下内容:

--suppress-double-demote-warning                    (-suppress-double-demote-warning)
        Suppress the warning that is otherwise emitted when a double precision instruction
        is encountered in PTX that is targeted for an SM version that does not have
        double precision support

--disable-warnings                                  (-w)                        
        Inhibit all warning messages.

--warn-on-double-precision-use                      (-warn-double-usage)        
        Warning if double(s) are used in an instruction.

--warn-on-local-memory-usage                        (-warn-lmem-usage)          
        Warning if local memory is used.

--warn-on-spills                                    (-warn-spills)              
        Warning if registers are spilled to local memory.

--warning-as-error                                  (-Werror)                   
        Make all warnings into errors.
在您的情况下,唯一的选择是抑制所有警告。将
-Xptxas='-w'
添加到任何
nvcc
调用中应该可以实现这一点

CUDA 9及更新版本添加了另一个选项
ptxas
,该选项将抑制您询问的警告:

--suppress-stack-size-warning                       (-suppress-stack-size-warning)
        Suppress the warning that otherwise is printed when stack size cannot be
        determined.

在此情况下,添加<代码> -XPTXAs= ''抑制堆栈大小警告'/COD>到任何<代码> NVCC 调用应该消除警告。

显然,您链接到无关的,那些是禁用CUDA前端的C或C++警告。您的警告来自汇编程序……@talonmies:将进行编辑以澄清这一点。@talonmies:您确定吗?如果是,请回答这个问题。给你的答案有什么问题?因为你想要在每个函数的基础上工作的东西,比如pragma?或者您担心它可能会抑制“其他”堆栈大小警告(不确定这些警告是什么)?还是别的?@RobertCrovella:编辑历史记录在这里提供了信息。最初的问题是暗示将有一个pragma或前端选项来抑制此警告,这显然是不可能的。不过,当有人问了这个标签上的350个问题,我想,他们可能已经很难记住他们已经问过的所有问题,并且回答了…显然你与无关的链接,那些是禁止CUDA前端的C或C++警告。您的警告来自汇编程序……@talonmies:将进行编辑以澄清这一点。@talonmies:您确定吗?如果是,请回答这个问题。给你的答案有什么问题?因为你想要在每个函数的基础上工作的东西,比如pragma?或者您担心它可能会抑制“其他”堆栈大小警告(不确定这些警告是什么)?还是别的?@RobertCrovella:编辑历史记录在这里提供了信息。最初的问题是暗示将有一个pragma或前端选项来抑制此警告,这显然是不可能的。尽管如此,当有人在这个标签上问了350多个问题时,我想可能很难记住他们已经问过并回答过的所有问题……@einpoklum:我错过了在CUDA 9中添加了
-suppress stack size warning
(当我运行
ptxas-h
时,我正在对CUDA 8进行回归测试)。所以你想要的已经存在了。但您应该已经从几周前您提出的几乎相同的问题中了解到了这一点。@einpoklum:我没有注意到CUDA 9中添加了
-suppress stack size warning
(当我运行
ptxas-h
时,我正在对CUDA 8进行回归测试)。所以你想要的已经存在了。但是你应该已经从几周前你问的几乎相同的问题中知道了这一点。