cancel
Showing results for 
Search instead for 
Did you mean: 

Archives Discussions

plap
Journeyman III

memory limit somewhat low

how to increase

I am working on some fairly large 3d volumes and generate gradients in both x, y and z at the same time. I have an iterative solution working on it, but am having some trouble fitting it all on the card.

The input volume is 184 by 220 by 184 in float (28.4MB). The working volumes are the same resolution, but in float4 (nearly 113.7MB a piece, 227.3MB total). Total: 255.7MB. Adding any extra volumes fails which seems to indicate a 256MB memory limit for OpenCL.

Is it possible to increase this? It is kind of small. 😛

0 Likes
6 Replies
hazeman
Adept II

At the moment you can't. ATI uses one UAV buffer as a whole OpenCL memory ( and as you can guess UAV buffer max size is 256MB ). So with current version of OCL you can't do anything about it.

0 Likes

Hmm that makes ATI OpenCL kind of worthless for my use. 😞

Do you know if nVidia cards can operate with more memory for OpenCL?

0 Likes

nVidia cards can use(nearly) the full device memory for opencl using the cuda sdk.

0 Likes

ok and what happend on nvidia if you allocate more buffers than card have memory?

for example you have 1GB card and you allocate 20 buffers per 100Mb so total will be 2GB

0 Likes
plap
Journeyman III

Setting this environment variable:

set GPU_MAX_HEAP_SIZE=512

allowed me to allocate more than 256MB buffers. I haven't used them yet, but the allocation succeded. The allocation however took quite a long time, 1 second or so.

0 Likes

i set GPU_MAX_HEAP_SIZE=1024

and tried allocate set of 128MB buffers.

1. allocate normaly in VRAM
2. allocate normaly in VRAM
3. allocate succssefully but all three buffers was moved to RAM
4. now all four buffers was moved back to VRAM
5. again all moved to RAM

i get error on 6 buffer so 5*128MB is my maximum.

0 Likes