Win10 update and CUDA programs hang...

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(, 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

    // 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!


I converted the target platform to x64 and it’s running now. Was there any notice that we’d no longer be able to target x86 platforms?


The first notices about 32 bit API deprecation for CUDA is around November 2013, specifically for the Linux version of the nVidia driver.

as of CUDA 7.0: “The CUDA Toolkit no longer supports 32-bit Windows operating systems.”

I do not know at which date or driver release the 32 bit support deprecation for the Windows drivers kicked in. If you are lucky, you can find some older Windows 10 GPU drivers that still work for you.


Well that’s strange then, because I was running 7.5 on win7, and I’m not the type to run older drivers, I update them nearly as soon as I see an update.

Oh well, it’s working now. Maybe this thread will help people who want to do 3d mem copies. :)