Skip main navigation

Combined parallel worksharing directives

Combined parallel worksharing directives
filaments
© 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
This article is from the free online

Introduction to Parallel Programming

Created by
FutureLearn - Learning For Life

Reach your personal and professional goals

Unlock access to hundreds of expert online courses and degrees from top universities and educators to gain accredited qualifications and professional CV-building certificates.

Join over 18 million learners to launch, switch or build upon your career, all at your own pace, across a wide range of topic areas.

Start Learning now