[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.


Repository:
  rOMP OpenMP

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D62393/new/

https://reviews.llvm.org/D62393





More information about the Openmp-commits mailing list