Page 1 of 1

Scope of active-levels-var / levels-var

Posted: Thu Jul 02, 2015 7:40 am
by ProtzeJoachim
Hi everyone,

I currently work on the OpenMP debugging interface (OMPD). While checking the scopes of all the ICVs, I found that the scope of active-levels-var and levels-var is data environment. Based on this specification, every task should have knowledge on this ICVs. Is there a good reason why the scope is not the parallel region?

Also, the binding of omp_get(_active)?_level is the generating task.
Again: why not the parallel region?

Looking at the oss Intel runtime implementation, they implemented it like scope/binding is parallel region. From my point of view this totally make sense.

For OMPD the question is, does it make sense, to bind the get(_active)?_level function to tasks (following the wording of the OpenMP standard) or should we go for parallel regions (as most people would intuitively tend to)?