昨天逛 stack overflow还看到有外国人说不能在kernel函数中使用某些类的特性。
今天测试一下。
在kernel中使用对象数组,父指针指向子类,测试成功。也有可能是的确有些不支持,但是我还没测出来-_-。
__global__ void add(int *a , int *b , int* c , int* d)
{
sphere* s = new sphere();
cube* cu = new cube();
// problem down:
// int *p;
// *p = 5;
//problem up
cu->s = s;
object* o[2];
o[0] = s;//对象数组,父指针指向子类,运行成功
o[1] = s;
int x = AddHit(o[0],o[1]);// + (*p);
int tid = threadIdx.x + blockIdx.x * blockDim.x;
while( tid < N)
{
c[ tid ] = x;
tid += blockDim.x * gridDim.x;
}
}