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 为迭代次数 |
差别基本上与和 Sun 风格指令的差别相同,只不过没有与 Cray AUTOSCOPE 等效的指令。