Oracle Solaris Studio 12.2:OpenMP API 用户指南

B.1.2 转换 Cray 风格的 Fortran 指令

Cray 风格的 Fortran 并行化指令与 Sun 风格的并行化指令几乎完全相同,只不过标识这些指定的标记是 !MIC$。此外,!MIC$ DOALL 上的限定符子句集也不同。

表 B–4 Cray 风格的 DOALL 限定符子句的等效 OpenMP 子句

Cray DOALL 子句  

等效的 OpenMP PARALLEL DO 子句  

SHARED(v1,v2,...)

SHARED(v1,v2,...)

PRIVATE(v1,v2,...)

PRIVATE(v1,v2,...)

AUTOSCOPE

无等效子句。必须显式确定作用域,或者使用 DEFAULT 子句或 __AUTO 子句。

SAVELAST

无完全等效指令。使用 lastprivate 可以获得相同效果。

MAXCPUS(n)

num_threads(n)。无完全等效子句。

GUIDED

schedule(guided, m)

缺省 m 为 1。

SINGLE

schedule(dynamic,1)

CHUNKSIZE(n)

schedule(dynamic,n)

NUMCHUNKS(m)

schedule(dynamic,n/m) 其中 n 为迭代次数

B.1.2.1 Cray 风格的 Fortran 指令和 OpenMP 指令间的问题

差别基本上与和 Sun 风格指令的差别相同,只不过没有与 Cray AUTOSCOPE 等效的指令。