我有一个项目有很多源文件(例如:main.cu,a.cu,b.cu,c.cu,d.cu)。每个函数和内核调用(全球和设备)。如何在Nsight Eclipse中包含几个源文件?
在头文件(cpu.h)中主机端使用的所有结构和定义。 另一个头文件(gpu.h)将用于设备端的所有结构和定义。
如果我调用内核函数从main.cu,在a.cu声明。如何在a.cu宣布我的#include的内核函数在main.cu使用,无需做不推荐的#include “a.cu”?
难道我在a.cu创建一个标题A.H与内核函数的向前声明?示例: extern void functionA(type);
那么CUDA内核函数呢?我应该为从其他源文件使用的每个源文件创建一个头文件吗?
- 我在哪里可以找到一些简单的CUDA示例与多个源文件?
我提到Nsight Eclipse,因为我有很多麻烦和多个来源。 我在Ubuntu Linux和Mac OS环境中使用CUDA 5.5工具包。 我的主要开发环境是Ubuntu Linux机器中的4个Tesla C1060卡。
我不明白一些部分。为什么你有device.cu两个bitreverse内核函数?我认为一个是你的全局内核功能,另一个是设备。他们可以有相同的名字吗? – mrei
我只有SM 1.3只有 – mrei
哦,对:)有两个函数具有相同的名称 - 我只是让它们显示内核('__global__')和设备('__device__')函数可以不同文件。请注意,'bitreverse'函数名称被重载了不同的参数列表。您不能单独由CUDA声明说明符覆盖(例如,您不能使用具有相同名称和参数列表的'__global__'和'__device__'函数)。 – Eugene