HOME
| OPENMP API Specification: "Version 5.2 -- GIT rev 95b2e3a44"

7.6  dispatch Construct

Name: dispatch

Association: block (function dispatch structured block)

Category: executable

Properties: context-matching

Clauses

depend, device, is_device_ptr, nocontext, novariants, nowait

Binding

The binding task set for a dispatch region is the generating task. The dispatch region binds to the region of the generating task.

Semantics

The dispatch construct controls whether variant substitution occurs for target-call in the associated function dispatch structured block.

Properties added to the interoperability requirement set can be removed by the effect of other directives (see Section 14.2) before the dispatch region is executed. If one or more depend clauses are present on the dispatch construct, they are added as depend properties of the interoperability requirement set. If a nowait clause is present on the dispatch construct the nowait property is added to the interoperability requirement set. For each list item specified in an is_device_ptr clause, an is_device_ptr property for that list item is added to the interoperability requirement set.

If the interoperability requirement set contains one or more depend properties, the behavior is as if those properties were applied as depend clauses to a taskwait construct that is executed before the dispatch region is executed.

The presence of the nowait property in the interoperability requirement set has no effect on the dispatch construct.

If the device clause is present, the value of the default-device-var ICV is set to the value of the expression in the clause on entry to the dispatch region and is restored to its previous value at the end of the region.

Cross References

  7.8.2  begin declare target Directive
  7.8.3  indirect Clause