S1:对于组中执行并行区域的线程而言,如果在该区域中使用变量不会导致数据争用情形,则将变量的作用域确定为 SHARED。
S2:如果在每个执行并行区域的线程中,变量总是在被同一线程读取之前被写入,则将变量的作用域确定为 PRIVATE。如果可以将变量的作用域确定为 PRIVATE,并且该变量在写入(在并行区域之后写入)之前被读取,而构造为 PARALLEL DO 或 PARALLEL SECTIONS,则将其作用域确定为 LASTPRIVATE。
S3:如果在编译器可以识别的约简操作中使用变量,则将该变量的作用域确定为具有该特定操作类型的 REDUCTION。