随机函数的使用

请教一下:如何在CUDA中使用C库中的rand()函数产生随机数?

nvidia 有个 curand库,您可以看一下toolkit中的curand手册

多谢风辰大哥!仔细看了一下手册,还是不太明白,能否指导下curand库中那个函数可以像C中的rand()函数一样产生一个数值区间范围的随机数?

请参考Sample路径:NVIDIA_CUDA-5.5_Samples/7_CUDALibraries/MC_EstimatePiInlineP

经过多次尝试,发现在程序中加上curand初始化函数后,其初始化核函数调用后的其他核函数均报错unkoown error ,但是去掉初始化后,程序可以执行,结果是错的,这是什么原因呢?
global void initstate(curandState *state)
{
int bid = blockIdx.z * gridDim.x * gridDim.y + blockIdx.y * gridDim.x + blockIdx.x;
int tid = bid * blockDim.x + threadIdx.x;
curand_init(0,tid,0,&state[tid]);
}