Is there any limitation of the curandGenerateNormal( curandGenerator_t generator, float *outputPtr, size_t n, float mean, float stddev) function?
The curandGenerateNormal is called multiple times through a loop, when the size of the size_t n parameter is increased to bigger one, the function call started to crash after it has been called a few times through the loop
Is there any limitation of the curandGenerateNormal( curandGenerator_t generator, float *outputPtr, size_t n, float mean, float stddev) function?
The curandGenerateNormal is called multiple times through a loop, when the size of the size_t n parameter is increased to bigger one, the function call started to crash after it has been called a few times through the loop
What is the exact symptom you’re seeing when this crash occurs? It’s possible that the CUDA kernel launched by CURAND is timing out. What operating system are you using?
What is the exact symptom you’re seeing when this crash occurs? It’s possible that the CUDA kernel launched by CURAND is timing out. What operating system are you using?
In the code below, the call to curandGenerateNormalDouble is failing as it is not returning the Success status.
If I change the 125000 to a smaller value, it runs okey. Is there a limitation of the curandGenerateNormalDouble function.
If I use curandGenerateUniformDouble, it runs okey.
If it is timeout, how could it fix it?
Thanks
cudaResult = cudaMalloc((void **)&data, 125000 * sizeof(double));
for (unsigned int i = 0; i <= 1000000 ; i++)
{
curandResult = curandGenerateNormalDouble(gen, data, 125000, mean, stddev); #
}
In the code below, the call to curandGenerateNormalDouble is failing as it is not returning the Success status.
If I change the 125000 to a smaller value, it runs okey. Is there a limitation of the curandGenerateNormalDouble function.
If I use curandGenerateUniformDouble, it runs okey.
If it is timeout, how could it fix it?
Thanks
cudaResult = cudaMalloc((void **)&data, 125000 * sizeof(double));
for (unsigned int i = 0; i <= 1000000 ; i++)
{
curandResult = curandGenerateNormalDouble(gen, data, 125000, mean, stddev); #
}
What is the value of curandResult (when it is something other than success)?
You would recognize a timeout (on Windows Vista and later, including your Windows 2008) by way of a little message box popping up in the lower-right corner of your screen saying that your “display driver stopped responding and has recovered”. If that’s what you’re getting, see http://www.microsoft.com/whdc/device/display/wddm_timeout.mspx for details on how to adjust the timeout period.
What is the value of curandResult (when it is something other than success)?
You would recognize a timeout (on Windows Vista and later, including your Windows 2008) by way of a little message box popping up in the lower-right corner of your screen saying that your “display driver stopped responding and has recovered”. If that’s what you’re getting, see http://www.microsoft.com/whdc/device/display/wddm_timeout.mspx for details on how to adjust the timeout period.