Oracle Solaris Studio 12.2:OpenMP API 用户指南

3.9 Fortran 问题

以下内容仅适用于 Fortran。

3.9.1 THREADPRIVATE 指令

如果要在两个连续的活动并行区域之间保持的线程(初始线程除外)的 threadprivate 对象中的数据值条件不能全部成立,则第二个区域中的可分配数组的分配状态可能为“当前未分配”。

3.9.2 SHARED 子句

如果将共享变量传递到非内在过程,可能导致该共享变量的值在过程引用之前被复制到临时存储中,并在过程引用之后又从临时存储中复制到实元参数存储中。仅当 OpenMP 3.0 规范第 88 页的 2.9.3.2 节中的条件 a、b、c 成立时,才会发生这种向临时存储复制数据以及从临时存储向外复制数据的情况,这三个条件如下:

3.9.3 运行时库定义

此实现中同时提供了头文件 omp_lib.h 和模块文件 omp_lib

在 Solaris 平台中,采用参数的 OpenMP 运行时库例程是通过通用接口扩展的,因此可以适应不同 Fortran KIND 类型的参数。