double r1 = ((double)rand()) / (RAND_MAX + 1.0);
这句话的意思是随机数除以(随机数最大值+1),得到0-1的随机数。那么在设备端怎么得到呢?
size_t i;
curandGenerator_t gen;
float *devData;
/* Allocate n floats on device */
cudaMalloc((void **)&devData, abc*sizeof(float));
/* Create pseudo-random number generator */
curandCreateGenerator(&gen,CURAND_RNG_PSEUDO_DEFAULT);
/* Set seed */
curandSetPseudoRandomGeneratorSeed(gen,1234ULL);
/* Generate n floats on device */
curandGenerateUniform(gen, devData, abc);
我用这段生成了随机数,怎么得到0-1的随机,cuda是否有和rand_max对应的?
还有:rand_max是不是固定的一个数?随机数能产生的数范围是【0,32767】,随机数最大值不是32767?
这句话的意思是随机数除以(随机数最大值+1),得到0-1的随机数。那么在设备端怎么得到呢?
size_t i;
curandGenerator_t gen;
float *devData;
/* Allocate n floats on device */
cudaMalloc((void **)&devData, abc*sizeof(float));
/* Create pseudo-random number generator */
curandCreateGenerator(&gen,CURAND_RNG_PSEUDO_DEFAULT);
/* Set seed */
curandSetPseudoRandomGeneratorSeed(gen,1234ULL);
/* Generate n floats on device */
curandGenerateUniform(gen, devData, abc);
我用这段生成了随机数,怎么得到0-1的随机,cuda是否有和rand_max对应的?
还有:rand_max是不是固定的一个数?随机数能产生的数范围是【0,32767】,随机数最大值不是32767?
