Hi all,
I recently upgraded to Windows 10 and my CUDA programs have stopped working. Namely, they just hang on some memcopy calls. I’m loading a bunch of images into a layered array. This all worked fine when I was running Win7, and nothing changed in my code between updates. Here’s some code where I believe the problem is occuring:
//
// prepare device memory for layered array
cudaChannelFormatDesc cfd = cudaCreateChannelDesc<float4>();
cudaExtent ex;
ex.width = this->image_size;
ex.height = this->image_size;
ex.depth = num_inputs+1; // number of layers=number of images
// this->inputArray is a cudaArray pointer
cudaMalloc3DArray (&this->inputArray, &cfd, ex, cudaArrayLayered);
for(i=0;i<num images;i++) {
//
// load ith image
img1 = loadImage ( i );
//
// do stuff to image...
//
//
// prepare for 3d copy
cudaMemcpy3DParms myParms = {0};
myParms.srcPos = make_cudaPos(0, 0, 0);
myParms.dstPos = make_cudaPos(0, 0, i); // set layer
myParms.srcPtr = make_cudaPitchedPtr(img1.data, this->image_size * sizeof(float4), this->image_size, this->image_size);
myParms.dstArray = this->inputArray;
myParms.extent = make_cudaExtent(this->image_size, this->image_size, 1);
myParms.kind = cudaMemcpyHostToDevice;
// this will return without error
// but seems to be the problem
cudaMemcpy3D(&myParms);
// this causes the program to stall on first copy
// if removed, the next cudeMemcpy3D causes the program to stall
// CPU usage just stays up
cudaDeviceSynchronize ();
}
I’m clueless on why this code has stopped working after my update to Win10 (which has been a hassle all on it’s own). This is really killing me because it took a lot of time and effort to figure out how to program with CUDA, and now it all seems to be a waste of time.
All my drivers are up to date, I even removed and reinstalled CUDA 7.5. I’m using a GeForce 770. Did something change so much with Win10 that these kinds of calls don’t work? Is it because I have an old vid. card? Or is CUDA not ready for Win10, and there’s nothing I can do about it?
Any help would be great. Thanks!
-Chris