cuda pointer size problem

Hi

I’m trying to allocate a size 128x128x128 double precision array on a GTX470 with cuda3.1, and I got this:

Cuda error in file ‘implgpu.cpp’ in line 18 : memory size or pointer value too large to fit in 32 bit.

This doesn’t seem to be a new problem but I haven’t seen any solution to it yet. Any clue?

Thanks!

Hi Dgetrf,

Are you allocating via “cudaMalloc” ? Can you repro the source line causing the compilation error?

128x128x128 = 2^21 doubles = 2MB * 8 = 16MB of data == which is well less than 32-bit limit…


Dgemm

Hi Dgetrf,

Are you allocating via “cudaMalloc” ? Can you repro the source line causing the compilation error?

128x128x128 = 2^21 doubles = 2MB * 8 = 16MB of data == which is well less than 32-bit limit…


Dgemm

Most probably a pointer usage problem, like inadvertently passing a host pointer to an API function that expects a device pointer.

Most probably a pointer usage problem, like inadvertently passing a host pointer to an API function that expects a device pointer.

yeah, turned out it’s indeed a pointer issue…i was allocating the memory using cudamalloc and then pass the double ** pointer to cudamemcpy, which was complaining the error. Thank you guys!! Just hoping this error won’t show up again when moving to real big data…

yeah, turned out it’s indeed a pointer issue…i was allocating the memory using cudamalloc and then pass the double ** pointer to cudamemcpy, which was complaining the error. Thank you guys!! Just hoping this error won’t show up again when moving to real big data…