Атомарные операции зависят от реализации.Если он компилируется без предупреждений, он, вероятно, сработает, но его следует протестировать :-) или хотя бы изучить ассемблер.
__global__ void mykernel(int *value){
int my_old_val = atomicAdd(value, 1);
}
См. Руководство здесь