1

I'm in the process of learning something about openCL, and am having what I hope is not a unique problem (found nothing from google, but..). When I call:

clGetPlatformIDs

from my host program I see a sudden increase in the 'VIRT' memory usage as reported by 'top' to about 45 GB. The values for resident and shared memory don't change noticeably and I'm not completely sure as to what top is reporting here. However, if I repeatedly call a function that runs openCL commands I see some fluctuation in the 'VIRT' memory usage, until openCL calls fail with CL_OUT_OF_HOST_MEMORY. I have 32 GB of memory, so this seems a bit absurd.

I see this in some code (C++) that performs maximum intensity projections on image stacks, but I see exactly the same behaviour in code I took from Erik Smistad's blog.

http://www.thebigblob.com/getting-started-with-opencl-and-gpu-computing/

running that example through GDB, the first call to openCL functions has the same effect as in my code:

cl_platform_id platform_id = NULL;
cl_uint ret_num_platforms;
cl_int ret = clGetPlatformIDs(1, &platform_id, &ret_num_platforms);

VIRT memory jumps massively (again to about 45 GB).

Since I haven't seen anything like this anywhere, I suspect that there may be something funny about my setup:

openSUSE 12.1 GeForce GTX 560Ti 1024 MB nvidia-computeG02-295.49-17.1.x86_64 but.. CUDA toolkit for openSUSE 11.2 downloaded from NVIDIA, which may expect driver versions 295.41 rather than the 295.49 installed with openSUSE.

I'm hoping someone here has seen a similar problem and has some idea as to what's going on, or some idea as to where to look. I'd very much like to work this out as apart from this issue it's working pretty nicely.

thanks,

Martin

4

0 回答 0