Back to SIMD

If each separate instruction is atomic, then what about the increment? Is it one or two instructions?

Let me to complete it a bit :) There may be random() function instead of increment – it’s just a flag that the value has changed. Anyway I just explain the principle. The result is difficult, because while we get (and put) value it is changing by other threads, and flags – too. It is not obvious that this is possible at all