cuda头文件
我有一个名为“kerneletail.cu”的文件,如下所示cuda头文件,cuda,Cuda,我有一个名为“kerneletail.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); }
__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>>>();
}
#包括“kerneletail.cu”
__全局无效测试()
{
int c=加(10,10);
}
int main()
{
test();
}
在main.cu中已经定义了一个错误添加,我希望您有一个自动编译所有
.cu
文件的规则,这意味着kerneletail.cu
有效地编译了两次,一次是单独编译,一次是包含在main.cu
中,因此add
是重复的
尝试将
kerneletail.cu
重命名为kerneletail.h
(或.cuh
)。您是否检查了add
是否确实没有通过cuda.h在其他地方定义?据我所知,你所做的应该是可行的。也许为kerneletail.cu使用include防护也会有所帮助。