The runtime uses thread state values to indicate when we use an ICV or
are in nested parallelism. This is done for OpenMP correctness, but it
not needed in the majority of cases. The new flag added is
-fopenmp-assume-no-thread-state.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
Comment Actions
I'd go with config::mayRequireThreadSpecificState or sth.
Also some documentation there.
you should be able to use assertions, like ASSERT(false && "...."). Which gives us messages in assert mode if violated.
Clang documentation should be something like
no thread in parallel region will modify an ICV.
Comment Actions
Last nit, otherwise LG
openmp/libomptarget/DeviceRTL/src/State.cpp | ||
---|---|---|
385 | My bad, should have been ASSERT(config::mayUseThreadStates() && "..."). also below. |
My bad, should have been
also below.