cuda代码GPU代码使用类

本次代码实现GPU代码中使用类语法.

经过多次实验,发现类语法GPU是可以使用的但是是有条件的.

比如__global__ 修饰的函数是不能写在类中的.__device__是可以写在类中的而且__device__是不能开线程的.

例如:

	__device__ void add(int igdx)
	{
		printf("hello GPU = %d\n",igdx);
	}

add<<<1,4>>>(m);

这样写是不对的.

只能写add(m);

上一个总体的代码:

里面调用的有GPU类语法,GPU和函数的嵌套,当然嵌套核函数是需要条件的.

#include 
#include 

class CUDAdem
{
public:
	__device__ void add(int igdx)
	{
		printf("hello GPU = %d\n",igdx);
	}
};
__global__ void add()
{
	int igdx = threadIdx.x;
	CUDAdem cdmo;
	cdmo.add(igdx);
}
int main()
{

	add<<<1,4>>>();
	cudaDeviceReset();
	printf("hello world!\n");
	return 0;
}

 

你可能感兴趣的:(CUDA,C)