cuRand Example (having problems)

Im running the basic example of the cuRand problem:

#include <stdio.h>
#include <stdlib.h>
#include <cuda.h>
#include <curand.h>
#include <curand_kernel.h>
#define CUDA_CALL(x) do { if((x) != cudaSuccess) {
printf(“Error at %s:%d\n”,FILE,LINE);
}} while(0)
#define CURAND_CALL(x) do { if((x) != CURAND_STATUS_SUCCESS) {
printf(“Error at %s:%d\n”,FILE,LINE);
}} while(0)

int main(int argc, char *argv)
size_t n = 100;
size_t i;
curandGenerator_t gen;
float *devData, *hostData;

/* Allocate n floats on host */
hostData = (float *)calloc(n, sizeof(float));
/* Allocate n floats on device */
CUDA_CALL(cudaMalloc((void **)&devData, n * sizeof(float)));

/* Create pseudo-random number generator */
/* Set seed */
CURAND_CALL(curandSetPseudoRandomGeneratorSeed(gen, 1234ULL));
/* Generate n floats on device */
CURAND_CALL(curandGenerateUniform(gen, devData, n));
/* Copy device memory to host */
CUDA_CALL(cudaMemcpy(hostData, devData, n * sizeof(float), cudaMemcpyDeviceToHost));

/* Show result */
for(i = 0; i < n; i++) {
printf("%1.4f ", hostData[i]);


For some reason, it gets stuck at curandGenerateUniform(gen, devData, n)); even though I copied the whole thing straight out of the .pdf.

As a result, I get a printed error (specifying line # only) and only 0s for all “random” numbers.

Any Ideas?

BTW I am running Visual Studio 2008 with CUDA Toolkit 3.2

GameTimeHero - are you able to compile and run any CUDA programs successfully?