int atomic_add ( volatile __global int *p , int val)
unsigned int atomic_add ( volatile __global unsigned int *p , unsigned int val)
int atomic_add ( volatile __local int *p , int val)
unsigned int atomic_add ( volatile __local unsigned int *p ,unsigned int val)
...