I am getting wrong numerical results from an application parallelized with OpenMP. Each OpenMP thread runs one or more streams on an NVIDIA GPU. I suspect that there is a race condition between OpenMP threads or CUDA streams while updating memory.
How do we find out the set of OpenMP threads/CUDA streams accessing the same main memory address range? Are there any tools?