Just a fast question towards the commnity, is synchtreads() needed in kernels that DO NOT use shared memory? :) IF NOT needed and used, can it lead to deadlocks or it’s just ommited?

No syncthreads is not always needed. Though needed or not, it can cause deadlocks is not all threads execute each call.