请问一下在global函数里调用反正弦反余弦函数(asin acos)请问他是调用了哪里的函数呢??我只include了math.h(c++原配的头文件)而对于CUDA只有
#include “cuda_runtime.h”;
#include “device_launch_parameters.h”;
但好像在cuda的文件里也有提供反正弦反余弦函数在math_funtions_dbl_ptx1.h头文件里面,请问怎么才可以调用呢???
楼主您好,
(1)因为该文件实际上会被math_functions.h包含,所以您只需要#include下math_functions.h即可。
(2)而又因为math_functions.h又被common_functions.h引用,所以您只需要#include下common_functions.h即可。
(3)而又因为common_functions.h会被cuda_runtime.h引用,所以您只需要引用cuda_runtime.h即可。
因为(1)(2)(3)以及,根据您的1#发言,您已经#include了cuda_runtime.h了,所以您无需作任何事情,直接使用即可。
感谢来访,luojincong.
LZ您好:
您在device code里面直接用即可。
其他详情请参阅CUDA C Programming Guide——Mathematical Functions 章节。
祝您好运~
但在math_funtions_dbl_ptx1.h里面有一句
#if defined(CUDABE)
然后下面才是所实现的数学函数,但他标识下面为非活动预处理器块。是不是意思就是__CUDABE__还没定义,所以下面的函数都没定义呢???
您可以直接无视这个的,因为:
您在VS中打开看到此宏没有被定义,不代表它在实际的编译的具体某个步骤没有不被定义,实际上您可以正常使用的。
请勿纠结。
以及,这个不是给你看的。
以及,此时VS的IDE的提示的灰色块是不准的。
直接无视即可。建议重新阅读2#