文档信息
前言
1. OpenMP API 简介
2. 编译并运行 OpenMP 程序
2.1 编译器选项
2.2 OpenMP 环境变量
2.2.1 OpenMP 环境变量缺省值
2.2.2 Oracle Solaris Studio 环境变量
2.2.2.1 PARALLEL
2.2.2.2 SUNW_MP_WARN
2.2.2.3 SUNW_MP_THR_IDLE
2.2.2.4 SUNW_MP_PROCBIND
2.2.2.5 SUNW_MP_MAX_POOL_THREADS
2.2.2.6 SUNW_MP_MAX_NESTED_LEVELS
2.2.2.7 STACKSIZE
2.2.2.8 SUNW_MP_GUIDED_WEIGHT
2.2.2.9 SUNW_MP_WAIT_POLICY
2.3 处理器绑定
2.3.1 虚拟和逻辑处理器 ID
2.3.2 解释为 SUNW_MP_PROCBIND 指定的值
2.3.3 与 OS 处理器集进行交互
2.4 堆栈和堆栈大小
2.5 检查和分析 OpenMP 程序
3. 实现定义的行为
4. 嵌套并行操作
5. 任务处理
6. 自动确定变量的作用域
7. 作用域检查
8. 性能注意事项
A. 子句在指令中的放置
索引
本章介绍编译器选项和运行时设置,这些选项和设置会影响使用 OpenMP API 的程序。
注 - 从 Oracle Solaris Studio 12.3 开始,用于 OpenMP 程序的缺省线程数为 2,而不是 1。可以通过以下方法更改该线程数:在运行程序之前设置 OMP_NUM_THREADS 环境变量,或调用 omp_set_num_threads() 例程,或者在 PARALLEL 指令中使用 num_threads 子句。