In C++ there are atomic incrementors.
Atomic incrementors not only take care, that incrementing is thread safe.
They can also provide each thread with a unique number.
Let’s say counter is of type “std::atomic”. Than each thread can call “myNumber = ++counter” and each thread recieves a unique value.
My impression is, “acc atomic capture” gives a similar oppurtunity. But since Fortran lacks the incrementor-operator, I don’t know how to express is in Fortran.