CL_DEVICE_LOCAL_MEM_SIZE per compute unit or maximum for total allocation

 
This enum for CLGetInfoInteger() does it return the max allocation possible across compute units or per compute unit ?
 
Lorentzos Roussos:
This enum for CLGetInfoInteger() does it return the max allocation possible across compute units or per compute unit ?

I am afraid there is not much people using OpenCL to answer. And I don't have time currently to dig about it.

Did you read the old articles from Mathemat ? They are pretty good and with a lot of informations.

 
Alain Verleyen #:

I am afraid there is not much people using OpenCL to answer. And I don't have time currently to dig about it.

Did you read the old articles from Mathemat ? They are pretty good and with a lot of informations.

Yeah i'm currently reading one of them , thanks . 

How could i test this though ? 

Okay its per compute unit : i'll search the khronos documentation and forums first next time .

This value is the amount of local memory available on each compute unit in the device. Since a work-group is assigned to a single compute unit, this is also the maximum amount of local memory that any work-group can have.

For performance reasons on many GPUs, it is usually desirable to have multiple work-groups running on each compute unit concurrently (to hide memory access latency, for example). If one work-group uses all of the available local memory, the device will not be able to schedule any other work-groups onto the same compute unit until it has finished. If possible, it is recommended to limit the amount of local memory each work-group uses (to e.g. a quarter of the total local memory) to allow multiple work-groups to run on the same compute unit concurrently.