[Openmp-commits] [PATCH] D62393: [OPENMP][NVPTX]Mark parallel level counter as volatile.

Johannes Doerfert via Phabricator via Openmp-commits openmp-commits at lists.llvm.org
Mon Jun 3 17:47:24 PDT 2019

jdoerfert added a comment.

I still do not see why volatile is the right solution here:
In D61395 <https://reviews.llvm.org/D61395> the way the level was tracked was changed but I failed to see how exactly. We have to start there.

- What is the constant `OMP_ACTIVE_PARALLEL_LEVEL` doing exactly?
- Probably even more fundamental, what is encoded in the `parallelLevel` array? It is not (only) the parallel level, correct? It is per warp, correct?

> This is especially important in case of thread divergence mixed with atomic operations.

We do not use atomics on the `parallelLevel` do we?
On which level is the thread divergence, in a warp?

And another fundamental question:
What is the connection of the test to the change? It looks totally unrelated as it does not check the parallel level at all.

  rOMP OpenMP



More information about the Openmp-commits mailing list