在程序中用了随机数的生成,先程序还运行的好好的,不知道后面怎么随机数运行就失败了。。具体代码如下:
curandGenerator_t gen;
curandStatus_t s1,s2,s3;
s1=curandCreateGenerator(&gen,CURAND_RNG_PSEUDO_DEFAULT); //rd_d 随机数生成器
s2=curandSetPseudoRandomGeneratorSeed(gen,1234ULL); //设置种子点
s3=curandGenerateUniform(gen,rd_d,1000); //这里不用乘以sizeof(float)
if (s1!=CURAND_STATUS_SUCCESS){
ExitProcess(0) ;
}
ofstream fs1("s1.txt");
if (s2!=CURAND_STATUS_SUCCESS){
ExitProcess(0) ;
}
ofstream fs2("s2.txt");
if (s3!=CURAND_STATUS_SUCCESS){
ExitProcess(0) ;
}
ofstream fs3("s3.txt");
在这里每次只有文件s1,s2成功建立了,所以我认为是在curandGenerateUniform(gen,rd_d,1000)的时候出了问题,并且在上面给rd_d分配的空间大小如下:
checkCudaErrors(cudaMalloc((void**)&rd_d,1000*sizeof(float));
请问一下斑竹,这个可能是什么原因啊?谢谢