OpenMP_VV
OpenMP_VV copied to clipboard
Break possible deadlock on lockstep execution
Some of the target_requires_atomic tests get on infinite loop with LLVM/Clang compiler because lockstep execution on the target device and the if-else
order of execution. These tests are written assuming that target threads are independent or that if they execute in a warp, in lockstep execution, the order of execution would be first the if
part and then the else
part.
The modifications on the tests are meant to make sure that this problem does not happens for LLVM/Clang or any compiler that could encounter this problem.