Originally posted by: Illusio Originally posted by: jvsala Is there any 32-bit limitation in the runtime? I have checked that I'am linking with the x86_64 libraries. No, but I believe the available memory is currently "hardcoded" to be equal to the amount of megabytes specified in environment variable CPU_MAX_HEAP_SIZE. At least it used to be that way. I haven't messed with those variables in a while.(And I'm also using Windows) My variable is currently set to 6144 |
Thanks for your tip. But it seems that it doesn't work. I have found that I am not the only one experiencing this:
http://forums.amd.com/forum/messageview.cfm?catid=390&threadid=122369&enterthread=y
In the last message of this thread it is said that CPU_MAX_HEAP_SIZE is not supported at all. (Anyway I have tested setting the variable with a big value and it hasn't had any effect).
So it seems that for some reason the runtime, even in 64 bits, doesn't support more than buffers of 1GB. Does anyone now if this restriction will be lifted in the future? I have a big computation whose output is bigger than that. Luckily I can chop the result by partitioning the NDRange and saving the pieces, but it is a bit of a bummer that having tons of RAM and CPUs I can only use buffers of 1GB. OpenCL on a big multiprocessor really screams. It is a pity that I can't use it to its full potential.