Name: masked | Association: block |
Category: executable | Properties: thread-limiting |
|
Clauses
filterAdditional information
The directive-name master may be used as a synonym to masked if no clauses are specified. This syntax has been deprecated.Binding
The binding thread set for a masked region is the current team. A masked region binds to the innermost enclosing parallel region.Semantics
The masked construct specifies a structured block that is executed by a subset of the threads of the current team. The filter clause selects a subset of the threads of the team that executes the binding parallel region to execute the structured block of the masked region. Other threads in the team do not execute the associated structured block. No implied barrier occurs either on entry to or exit from the masked construct. The result of evaluating the thread_num parameter of the filter clause may vary across threads.If more than one thread in the team executes the structured block of a masked region, the structured block must include any synchronization required to ensure that data races do not occur.
Execution Model Events
The masked-begin event occurs in any thread of a team that executes the masked region on entry to the region.
The masked-end event occurs in any thread of a team that executes the masked region on exit from the region.
Tool Callbacks
A thread dispatches a registered ompt_callback_masked callback with ompt_scope_begin as its endpoint argument for each occurrence of a masked-begin event in that thread. Similarly, a thread dispatches a registered ompt_callback_masked callback with ompt_scope_end as its endpoint argument for each occurrence of a masked-end event in that thread. These callbacks occur in the context of the task executed by the current thread and have the type signature ompt_callback_masked_t.
Cross References