View Full Version : Maximum private memory?

10-12-2009, 10:34 AM
I'm wondering how I can find out the size limits of __private memory.
I can already query the device for maximum __local and __global memory,
but I cannot seem to find what parts are split into private memory.

I need to know because I want to load some sets of data from global
memory (each thread loads a different data set), and then each of my
threads will search it's own data set. Because each thread is independent
from each other, I cannot use a common __local memory to store it in.
(I already filled this space actually ;))

So I need to know how big *chunks* I can load from __global to
__private memory without causing problems. I understand this is
probably specific to what hardware I am using, so I am looking
for some way of calculating this amount.

10-13-2009, 12:44 AM
Unfortunately this is very architecture-dependent as you guessed. In the case of Nvidia architectures I believe the more private memory you use, the less register file you have available, which means a smaller maximum workgroup size, and, hence, less parallelism. This implies a tradeoff between private memory usage and number of work-items running in parallel.

10-14-2009, 07:04 AM
Well Ok I guess I will have to simply test this then :).

Copying some data from global to private and searching it
Searching it directly in global.

Will report what I find ;)

(Btw I use Tesla 1060 on linux 64 if it is of any help to you)