GTX 970 device properties issue

When calling

[b] cudaError_t cuda_error;

int device;
cuda_error = cudaGetDevice(&device);
assert(cudaSuccess == cuda_error);

cudaDeviceProp prop;
cuda_error = cudaGetDeviceProperties(&prop, device);
assert(cudaSuccess == cuda_error);[/b]

on a GTX 970 (with cuda driver 6.5.19, display driver version 343.98, Win7 Professional SP1 x64),

compiled with


prop.totalGlobalMem == 0 and
prop.sharedMemPerBlock == 49152 (48k).

I expected the total memory to be ~ 4GB
and shared memory per block 96kB, as the GTX 970 uses GM204.

Am I missing something?

Thanks in advance for any support,

I’m not sure why the total global memory is zero. Did you compile this in visual studio? Was it an express version of visual studio? Did you build a win32 project or an x64 project? If you built a 32-bit project, 4GB is going to be a messed up number to report as a 32-bit quantity, it may show up as zero.

Regarding shared memory, cc5.2 devices have 96KB total shared memory available per SM, but the amount usable per block is still only 48KB. You cannot request 96KB of shared memory in a single threadblock.