Sun Studio 12 Update 1: OpenMP API User's Guide

B.1.1 Converting Sun-Style Fortran Directives

The following tables give OpenMP near equivalents to Sun parallelization directives and their subclauses. These are only suggestions.

Table B–1 Converting Sun Parallelization Directives to OpenMP

Sun Directive  

Equivalent OpenMP Directive  

C$PAR DOALL [qualifiers]

!$omp parallel do [qualifiers]

C$PAR DOSERIAL

No exact equivalent. You can use: 

!$omp master

loop

!$omp end master

C$PAR DOSERIAL*

No exact equivalent. You can use: 

!$omp master

loopnest

!$omp end master

C$PAR TASKCOMMON block[,...]

!$omp threadprivate (/block/[,...])

The DOALL directive can take the following optional qualifier clauses.

Table B–2 DOALL Qualifier Clauses and OpenMP Equivalent Clauses

Sun DOALL Clause  

OpenMP PARALLEL DO Equivalent Clauses  

PRIVATE(v1,v2,...)

private(v1,v2,...)

SHARED(v1,v2,...)

shared(v1,v2,...)

MAXCPUS(n)

num_threads(n). No exact equivalent.

READONLY(v1,v2,...)

No exact equivalent. You can achieve the same effect by using firstprivate(v1,v2,...).

STOREBACK(v1,v2,...)

lastprivate(v1,v2,...).

SAVELAST

No exact equivalent. You can achieve the same effect by using lastprivate(v1,v2,...).

REDUCTION(v1,v2,...)

reduction(operator:v1,v2,...) Must supply the reduction operator as well as the list of variables.

SCHEDTYPE(spec)

schedule(spec) (See Table B–3)

The SCHEDTYPE(spec) clause accepts the following scheduling specifications.

Table B–3 SCHEDTYPE Scheduling and OpenMP schedule Equivalents

SCHEDTYPE(spec)  

OpenMP schedule( spec) Clause Equivalent

SCHEDTYPE(STATIC)

schedule(static)

SCHEDTYPE(SELF(chunksize))

schedule(dynamic,chunksize)

Default chunksize is 1.

SCHEDTYPE(FACTORING(m))

No exact equivalent. 

SCHEDTYPE(GSS(m))

schedule(guided, m)

Default m is 1.

B.1.1.1 Issues Between Sun-Style Fortran Directives and OpenMP