文档信息
前言
1. C 编译器介绍
2. 特定于 C 编译器实现的信息
3. 并行化 C 代码
3.1 概述
3.1.1 使用示例
3.2 OpenMP 并行化
3.2.1 处理 OpenMP 运行时警告
3.3 环境变量
3.3.1 PARALLEL 或 OMP_NUM_THREADS
3.3.2 SUNW_MP_THR_IDLE
3.3.3 SUNW_MP_WARN
3.3.4 STACKSIZE
3.3.5 在并行代码中使用 restrict
3.4 数据依赖性和干扰
3.4.1 并行执行模型
3.4.2 私有标量和私有数组
3.4.3 返回存储
3.4.4 约简变量
3.5 加速
3.5.1 Amdahl 定律
3.5.1.1 开销
3.5.1.2 Gustafson 定律
3.6 负载平衡和循环调度
3.6.1 静态调度或块调度
3.6.2 自我调度
3.6.3 引导自我调度
3.7 循环变换
3.7.1 循环分布
3.7.2 循环合并
3.7.3 循环交换
3.8 别名和并行化
3.8.1 数组引用和指针引用
3.8.2 限定指针
3.8.3 显式并行化和 Pragma
3.8.3.1 串行 Pragma
3.8.3.2 并行 Pragma
for 循环的嵌套
并行化的合格性
处理器数
变量分类
private 和 shared 变量的缺省作用域规则
private 变量
shared 变量
readonly 变量
storeback 变量
savelast
reduction 变量
调度控制
3.9 内存边界内部函数
4. lint 源代码检验器
5. 基于类型的别名分析
6. 转换为 ISO C
7. 转换应用程序以适用于 64 位环境
8. cscope:交互检查 C 程序
A. 按功能分组的编译器选项
B. C 编译器选项参考
C. 实现定义的 ISO/IEC C99 行为
D. 支持的 C99 功能
E. 实现定义的 ISO/IEC C90 行为
F. ISO C 数据表示法
G. 性能调节
H. K&R Solaris Studio C 与 Solaris Studio ISO C 之间的差异
索引
Oracle Solaris Studio C 编译器可以优化代码,以便在共享内存的多处理器/多内核/多线程系统上运行。编译的代码可以使用系统上的多个处理器以并行方式执行。可使用自动和显式并行化方法。本章阐述如何利用编译器的并行化功能。