In non-SPMD mode we may end up with the divergent threads when trying to
increment/decrement parallel level counter. It may lead to incorrect
calculations of the parallel level and wrong results when threads are
divergent. We need to reconverge the threads before trying to modify the
parallel level counter.
Details
Details
Diff Detail
Diff Detail
- Repository
- rL LLVM
Event Timeline
Comment Actions
You need to change the "type" of Mask and use the __kmpc_... call for ACTIVEMASK and SYNCWARP.
Other than that it looks good to me. (I really appreciate the description in the comment.)
Comment Actions
Looks good here. Apologies for the rebase induced by the recent patches to omptarget-nvptx.