随机数生成失败

在程序中用了随机数的生成,先程序还运行的好好的,不知道后面怎么随机数运行就失败了。。具体代码如下:

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));

请问一下斑竹,这个可能是什么原因啊?谢谢

LZ您好:

未能为您目测出问题,初步建议是检查一下s3具体是什么报的什么错误,再做考虑。

祝您好运~

嗯。。谢谢斑竹。。听了斑竹的建议,结果是返回的是CURAND_STATUS_PREEXISTING_FAILURE,所以是前面的核函数出问题了。。现在已经改过来了。。多谢斑竹指教。。

LZ您好:

不客气的 ,祝您调试顺利~