# Combined parallel worksharing directives

Combined parallel worksharing directives
© PRACE and University of Ljubljana

Combined constructs are shortcuts for specifying one construct immediately nested inside another construct. Specifying a combined construct is semantically identical to specifying the first construct that encloses an instance of the second construct and no other statements. Most of the rules, clauses and restrictions that apply to both directives are in effect. The parallel construct can be combined with one of the worksharing constructs, for example for and sections.

## parallel for

When we are using a parallel region that contains only a single for directive , we can substitute the separate directives with this combined directive:

#pragma omp parallel for [clause[[,]clause]...]

This directive admits all the clauses of the parallel directive and for directive except the nowait clause is forbidden.

This combined directive must be directly in front of the for loop. An example of the combined construct is shown below:

int i;int f = 7;#pragma omp parallel for for (i = 0; i<20; i++) { c[i] = a[i] + b[i]; }
© PRACE and University of Ljubljana