Sun Studio 12: OpenMP API ユーザーズガイド

B.1.1 Sun 形式の Fortran の指令の変換

次の表は、Sun の並列化指令およびその従属句と、それに相当する OpenMP の指令の概要です。これらは、変換の一例です。

表 B–1 Sun の並列化指令を OpenMP の指令に変換する

Sun の指令 

OpenMP の指令 

C$PAR DOALL [qualifiers]

!$omp parallel do [qualifiers]

C$PAR DOSERIAL

完全に相当する句はありません。次で代用することができます。 

!$omp master

loop

!$omp end master

C$PAR DOSERIAL*

完全に相当する句はありません。次で代用することができます。 

!$omp master

loopnest

!$omp end master

C$PAR TASKCOMMON block[,...]

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

DOALL 指令では、次の修飾句を指定することができます。

表 B–2 DOALL 修飾句とそれに相当する OpenMP の句

Sun の DOALL 句 

OpenMP の PARALLEL DO に相当する句 

PRIVATE(v1,v2,...)

private(v1,v2,...)

SHARED(v1,v2,...)

shared(v1,v2,...)

MAXCPUS(n)

num_threads(n)。 完全に相当する句はありません。

READONLY(v1,v2,...)

完全に相当する句はありません。firstprivate(v1,v2,...) を使用して同じ効果を得ることができます。

STOREBACK(v1,v2,...)

lastprivate(v1,v2,...).

SAVELAST

完全に相当する句はありません。lastprivate(v1,v2,...) を使用して同じ効果を得ることができます。

REDUCTION(v1,v2,...)

reduction(operator:v1,v2,...) 縮約演算子および変数リストを指定する必要があります。

SCHEDTYPE(spec)

schedule(spec) (表 B–3 を参照)

SCHEDTYPE(spec) 句では、次のスケジュール指定を使用することができます。

表 B–3 SCHEDTYPE のスケジュール指定とそれに相当する OpenMP の schedule

SCHEDTYPE(spec) 

OpenMP の schedule(spec) 句

SCHEDTYPE(STATIC)

schedule(static)

SCHEDTYPE(SELF(chunksize))

schedule(dynamic,chunksize)

デフォルトの chunksize の値は 1 です。

SCHEDTYPE(FACTORING(m))

完全に相当する句はありません。 

SCHEDTYPE(GSS(m))

schedule(guided, m)

デフォルトの m の値は 1 です。

B.1.1.1 Sun 形式の Fortran の指令と OpenMP の変換の問題