cuCtxCreate hangs on multiple GPUs & Windows7

Hi folks,

I’ve encountered strange problem with CUDA 4.0. After a hardware upgrade with an additional GPU my CUDA application doesn’t run anymore. When initializing cuda contexts with cuCtxCreate() the application just hangs/freezes/blocks.

I have GeForce 480 1.5GB + GeForce 580 3GB in one machine. It is a 64bit Windows 7 machine with 285.62 driver version (CUDA 4.0).

Following routine is used to initialize the cuda part of my application:

if (cuInit(0) != CUDA_SUCCESS)

		return;

	int count = 0;

	cuDeviceGetCount(&count);

	for (int d=0; d < count; d++)

	{

		CUdevice device;

		cuDeviceGet(&device, d);

		int major, minor;

		cuDeviceComputeCapability(&major, &minor, device);

		if (major >= 2)

		{

			cuda::Device cd;

			cd.computeCapability = pair<int,int>(major,minor);

			cuDeviceGetProperties(&cd.properties, device);

			cuDeviceTotalMem(&cd.totalMemory, device);

			char buf[1024];

			cuDeviceGetName(buf, 1024, device);

			cd.deviceName = buf;

			cuCtxCreate(&cd.context, CU_CTX_SCHED_AUTO, device); // here it hangs

			cuCtxPopCurrent(NULL);

			cuda::_cudaDevices.push_back(cd);

		}

	}

Just for the first device (i.e. d=0) the call to cuCtxCreate(…) hangs.

Is this is a known problem and if yes are there workarounds?

I’ve installed the CUDA developer driver of version 270.81 and everything is ok now.

So, it seems that there are some problems with the current driver version (285.62) when using CUDA on two different GPUs on Windows7.