JavaScript is required to for searching.
跳过导航链接
退出打印视图
Oracle Solaris Studio 12.2:OpenMP API 用户指南
search filter icon
search icon

文档信息

前言

1.  OpenMP API 简介

2.  编译并运行 OpenMP 程序

3.  实现定义的行为

3.1 任务调度点

3.2 内存模型

3.3 内部控制变量

3.4 线程的动态调整

3.5 循环指令

3.6 构造

3.6.1 SECTIONS

3.6.2 SINGLE

3.6.3 ATOMIC

3.7 例程

3.7.1 omp_set_schedule()

3.7.2 omp_set_max_active_levels()

3.7.3 omp_get_max_active_levels()

3.8 环境变量

3.9 Fortran 问题

3.9.1 THREADPRIVATE 指令

3.9.2 SHARED 子句

3.9.3 运行时库定义

4.  嵌套并行操作

5.  任务处理

6.  自动确定变量的作用域

7.  作用域检查

8.  性能注意事项

A.  子句在指令中的放置

B.  转换为 OpenMP

索引

3.4 线程的动态调整

实现提供了动态调整线程数量的功能。缺省情况下会启用动态调整。通过将 OMP_DYNAMIC 环境变量设置为 FALSE,或使用适当的参数调用 omp_set_dynamic() 例程,可以禁用动态调整。

当线程遇到并行构造时,此实现提供的线程数将根据 OpenMP 3.0 Specification(OpenMP 3.0 规范)中的算法 2.1(第 35-36 页)来确定。在异常情况下,例如当缺少系统资源时,提供的线程数将少于算法 2.1 中所述的线程数。在这些情况下,如果将 SUNW_MP_WARN 设置为 TRUE,或者通过调用 sunw_mp_register_warn() 注册回调函数,则将发出警告消息。