Documentation Home
> Oracle Solaris Studio 12.2:OpenMP API 用户指南
Oracle Solaris Studio 12.2:OpenMP API 用户指南
Book Information
索引
A
D
G
O
P
S
X
编
变
并
调
动
环
缓
加
警
可
空
内
嵌
任
实
伪
文
线
性
易
栈
指
转
自
前言
第 1 章 OpenMP API 简介
1.1 哪里有 OpenMP 规范
1.2 本章所使用的特殊惯例
第 2 章 编译并运行 OpenMP 程序
2.1 要使用的编译器选项
2.2 OpenMP 环境变量
2.2.1 常见的 OpenMP 环境变量
2.2.2 Solaris Studio 特定的环境变量
2.3 处理器绑定
2.3.1 虚拟处理器 ID
2.3.2 逻辑 ID
2.3.3 解释为 SUNW_MP_PROCBIND 指定的值
2.3.4 与 OS 处理器集进行交互
2.4 栈和栈大小
2.5 检查和分析 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 章 嵌套并行操作
4.1 执行模型
4.2 控制嵌套并行操作
4.2.1 OMP_NESTED
4.2.2 OMP_THREAD_LIMIT
4.2.3 OMP_MAX_ACTIVE_LEVELS
4.3 在嵌套并行区域中使用 OpenMP 库例程
4.4 有关使用嵌套并行操作的一些提示
第 5 章 任务处理
5.1 任务处理模型
5.2 数据环境
5.3 TASKWAIT 指令
5.4 任务处理示例
5.5 编程注意事项
5.5.1 THREADPRIVATE 和线程特定的信息
5.5.2 锁
5.5.3 对栈数据的引用
第 6 章 自动确定变量的作用域
6.1 自动作用域数据范围子句
6.1.1 __auto 子句
6.1.2 default(__auto) 子句
6.2 并行构造的作用域规则
6.2.1 标量变量的作用域规则
6.2.2 数组的作用域规则
6.3 任务构造的作用域规则
6.3.1 标量变量的作用域规则
6.3.2 数组的作用域规则
6.4 关于自动作用域的通用注释
6.5 限制
6.6 检查自动作用域的结果
6.7 自动作用域示例
第 7 章 作用域检查
7.1 使用作用域检查功能
7.2 限制
第 8 章 性能注意事项
8.1 一般性建议
8.2 伪共享及其避免方法
8.2.1 什么是伪共享?
8.2.2 减少伪共享
8.3 Solaris OS 调优特性
附录 A 子句在指令中的放置
附录 B 转换为 OpenMP
B.1 转换传统 Fortran 指令
B.1.1 转换 Sun 风格的 Fortran 指令
B.1.1.1 Sun 风格的 Fortran 指令和 OpenMP 指令间的问题
B.1.2 转换 Cray 风格的 Fortran 指令
B.1.2.1 Cray 风格的 Fortran 指令和 OpenMP 指令间的问题
B.2 转换传统 C Pragma
B.2.1 传统 C Pragma 与 OpenMP 间的问题
© 2010, Oracle Corporation and/or its affiliates