传统的 Sun 和 Cray 风格的并行化指令现已过时。编译器仍能识别这些指令,但在以后的 Sun Studio 发行版中可能会有所变化。首选使用 OpenMP 并行化 API。有关如何从传统的 Sun/Cray 指令迁移到 OpenMP 模型的信息,请参见《OpenMP API 用户指南》。
Sun 风格的并行化指令是 -parallel 和 -explicitpar 的缺省设置。Sun 指令具有指令标记 $PAR。
Cray 风格的并行化指令具有标记 MIC$,这些指令可使用 -mp=cray 编译器选项启用。 Sun 风格和 Cray 风格的类似指令,其解释是不同的。有关详细信息,请参见《Fortran 编程指南》中有关并行化的一章。有关将传统的 Sun/Cray 并行化指令转换为 OpenMP 指令的指导原则,另请参见《OpenMP API 用户指南》。
请注意,在 x86 Solaris 和 Linux 平台上只有 OpenMP 指令可用于并行化。
Sun/Cray 并行化指令使用以下语法:
第一个字符必须在第一列中。
第一个字符可以是以下任一字符:c、C、* 或 !。
后四个字符可以是大写或小写的 $PAR(Sun 风格)或 MIC$(Cray 风格),字符之间没有空格。
然后是指令关键字和限定符,它们之间用空格分隔。显式并行化指令关键字有:
TASKCOMMON、DOALL、DOSERIAL 和 DOSERIAL*
每个并行化指令都有自己的一组可选限定符(跟在关键字后面)。
示例:使用共享变量指定一个循环:
C$PAR DOALL SHARED(yvalue) Sun 风格 CMIC$ DOALL SHARED(yvalue) Cray 风格 |