C++ 在_设备_函数(MSVC)中找不到CUDA copysign()函数
我想使用CUDA数学API函数C++ 在_设备_函数(MSVC)中找不到CUDA copysign()函数,c++,cuda,C++,Cuda,我想使用CUDA数学API函数\uuuuu设备\uuuuuu浮点复制f(浮点x,浮点y)(请参阅)与\uuuu设备\uuuuuuuu函数一起使用。我包括了math.h,我正在使用Visual Studio 2012工具链copysignf(),但是\u copysignf()是(请注意下划线)。我想这可能会导致问题-编译结果时出错: 错误1错误:不允许从全局函数(“测试内核”)调用主机函数(“\u copysignf”)。C:\cuda.cu(152)(第10列) 如何在Visual Studi
\uuuuu设备\uuuuuu浮点复制f(浮点x,浮点y)
(请参阅)与\uuuu设备\uuuuuuuu
函数一起使用。我包括了math.h
,我正在使用Visual Studio 2012工具链<这里没有定义code>copysignf(),但是\u copysignf()
是(请注意下划线)。我想这可能会导致问题-编译结果时出错:
错误1错误:不允许从全局函数(“测试内核”)调用主机函数(“\u copysignf”)。C:\cuda.cu(152)(第10列)
如何在Visual Studio中使用CUDAcopysignf()
函数
注意:我仔细检查了模板参数是否不匹配,两个参数都是
float
类型。您得到问题中描述的错误,因为\u copysignf()
实际上是一个主机函数,并且没有对应的设备(即CUDA)
只需使用您链接的文档中描述的函数即可。您不一定会在Visual Studio附带的math.h
中找到所有这些定义,但这并不是CUDA设备代码中工作的决定因素
智能感知指示是一个独立的问题,许多人已经在一定程度上解决了这个问题。只要搜索“CUDA红色下划线”,你就会找到很多建议。但是CUDA代码中的intellisense指示并不一定表示存在问题。您得到问题中描述的错误,因为
\u copysignf()
实际上是一个主机函数,并且没有设备(即CUDA)对应项
只需使用您链接的文档中描述的函数即可。您不一定会在Visual Studio附带的math.h
中找到所有这些定义,但这并不是CUDA设备代码中工作的决定因素
智能感知指示是一个独立的问题,许多人已经在一定程度上解决了这个问题。只要搜索“CUDA红色下划线”,你就会找到很多建议。但是CUDA代码中的intellisense指示并不一定表示存在问题。您得到问题中描述的错误,因为
\u copysignf()
实际上是一个主机函数,并且没有设备(即CUDA)对应项
只需使用您链接的文档中描述的函数即可。您不一定会在Visual Studio附带的math.h
中找到所有这些定义,但这并不是CUDA设备代码中工作的决定因素
智能感知指示是一个独立的问题,许多人已经在一定程度上解决了这个问题。只要搜索“CUDA红色下划线”,你就会找到很多建议。但是CUDA代码中的intellisense指示并不一定表示存在问题。您得到问题中描述的错误,因为
\u copysignf()
实际上是一个主机函数,并且没有设备(即CUDA)对应项
只需使用您链接的文档中描述的函数即可。您不一定会在Visual Studio附带的math.h
中找到所有这些定义,但这并不是CUDA设备代码中工作的决定因素
智能感知指示是一个独立的问题,许多人已经在一定程度上解决了这个问题。只要搜索“CUDA红色下划线”,你就会找到很多建议。但是CUDA代码中的intellisense指示不一定表示有问题。不要使用
\u copysignf()
。如果使用copysignf()
,会发生什么情况?copysignf()
确实有效,谢谢!我没有尝试它,因为IntelliSense抱怨它没有定义。应该更清楚…不要使用\u copysignf()
。如果使用copysignf()
,会发生什么情况?copysignf()
确实有效,谢谢!我没有尝试它,因为IntelliSense抱怨它没有定义。应该更清楚…不要使用\u copysignf()
。如果使用copysignf()
,会发生什么情况?copysignf()
确实有效,谢谢!我没有尝试它,因为IntelliSense抱怨它没有定义。应该更清楚…不要使用\u copysignf()
。如果使用copysignf()
,会发生什么情况?copysignf()
确实有效,谢谢!我没有尝试它,因为IntelliSense抱怨它没有定义。CUDA基本上支持ANSI C99定义的所有数学函数(以及一些附加函数)。虽然它通常依赖主机的math.h头文件来提供必要的函数原型,但它为原型不在math.h中的函数提供自己的原型。您可以在CUDA提供的文件math_functions.h中找到这些原型。CUDA基本上支持ANSI C99定义的所有数学函数(以及一些附加函数)。虽然它通常依赖主机的math.h头文件来提供必要的函数原型,但它为原型不在math.h中的函数提供自己的原型。您可以在CUDA提供的文件math_functions.h中找到这些原型。CUDA基本上支持ANSI C99定义的所有数学函数(以及一些附加函数)。虽然它通常依赖主机的math.h头文件来提供必要的函数原型,但它为原型不在math.h中的函数提供自己的原型。您可以在CUDA提供的文件math_functions.h中找到这些原型。CUDA基本上支持ANSI C99定义的所有数学函数(以及一些附加函数)。虽然它通常依赖主机的math.h头文件来提供必要的函数原型,但它为原型不在math.h中的函数提供自己的原型。您可以在CUDA提供的文件math_functions.h中找到这些原型。