We have a problem with curand host generators on cuda 6.5/7.0.
Pseudorandom generators now report CURAND_STATUS_INITIALIZATION_FAILED for generators created with curandCreateGeneratorHost() on machines without GPUs. This worked fine for us with CUDA 5.5 and earlier.
The following code snippet is the minimal test case which works on CUDA 5.5 and fails on 6.5 and 7.0:
curandGenerator_t gen; float *hostData; hostData = (float *)calloc(n, sizeof(float)); curandCreateGeneratorHost(&gen, CURAND_RNG_PSEUDO_DEFAULT); curandSetPseudoRandomGeneratorSeed(gen, 1234ULL); curandGenerateUniform(gen, hostData, n); // <- fails with STATUS_INITIALIZATION_FAILED
Quasirandom generators work fine on either CUDA version.
We suspect that this is a CURAND bug, could someone from NVIDIA clarify?