我有一个文件名为"KernelUtil.cu",内容如下:
__device__ int add(int a, int b)
{
return a+b;
}
我有一个主程序"main.cu",我需要从这里调用"add"函数。我该怎么做?以下方法不起作用。
#include "KernelUtil.cu"
__global__ void test()
{
int c = add(10,10);
}
int main()
{
test<<<1,1>>>();
}
出现错误:在main.cu文件中,add已经被定义。
add
确实没有在cuda.h中被定义或者其他地方被包含进来了?就我所看到的,你尝试做的应该是可以的。也许为你的KernelUtil.cu使用一个include guard可能会有所帮助。 - Dan