What does influence kernel's maximal work-group size?

Discussion created by pulec on Dec 29, 2010
Latest reply on Jan 10, 2011 by pulec
Hi, I'd be interested wheather anyone knows what influences kernel's maximal work-group size. I know it could be the number of needed registers or LDS for kernel. But, can me anyone explain, why is such a simple kernel as listed limited to only 32 work-items per work-group (for my card, maximal w-g size is 128, and is indeed allowed for other, more complex, kernels)?
EDIT: The code is meant just as an example, there won't be obviously any benefit from using more work-items per w-g. But I have some other kernels that could benefit from more w-i per w-g. I'd only like to know what could cause the reduction of allowed w-g size.

__kernel void mem_clear(__global float *array, int n) { if(get_global_id(0) < n) array[get_global_id(0)] = 0; }