OpenMP 是用于多处理器平台的并行编程模型,即将成为 Fortran 95、C 和 C++ 应用程序的标准编程实践方案。它是 Sun Studio 编译器的首选并行编程模型。
要启用 OpenMP 指令,请用 -openmp 选项标志进行编译。Fortran 95 OpenMP 指令用类似注释的 !$OMP 标记标识,标记后紧跟指令名和从属子句。
!$OMP PARALLEL 指令标识程序中的并行区域。!$OMP DO 指令标识并行区域内即将并行化的 DO 循环。可以将这些指令合并成单个 !$OMP PARALLEL DO 指令,该指令必须紧跟在 DO 循环之前。
OpenMP 规范包括许多用于在程序并行区域中共享和同步工作的指令,还包括用于数据作用域和控制的从属子句。
OpenMP 和传统的 Sun 风格指令之间的一个主要不同点是,OpenMP 需要显式数据作用域以专用或共享方式使用,并还要提供自动作用域功能。
有关更多信息(包括使用 Sun 和 Cray 并行化指令转换传统程序的指导原则),请参见《OpenMP API 用户指南》。