JavaScript is required to for searching.
跳过导航链接
退出打印视图
Oracle Solaris Studio 12.3:C 用户指南     Oracle Solaris Studio 12.3 Information Library (简体中文)
search filter icon
search icon

文档信息

前言

1.  C 编译器介绍

2.  特定于 C 编译器实现的信息

3.  并行化 C 代码

3.1 并行化概述

3.2 OpenMP 并行化

3.2.1 处理 OpenMP 运行时警告

3.2.2 环境变量

3.2.3 在并行代码中使用 restrict

3.3 数据依赖性和干扰

3.3.1 并行执行模型

3.3.2 私有标量和私有数组

3.3.3 返回存储

3.3.4 约简变量

3.4 加速

3.4.1 Amdahl 定律

3.4.1.1 开销

3.4.1.2 Gustafson 定律

3.5 负载平衡和循环调度

3.5.1 静态调度或块调度

3.5.2 自我调度

3.5.3 引导自我调度

3.6 循环变换

3.6.1 循环分布

3.6.2 循环合并

3.6.3 循环交换

3.7 别名和并行化

3.7.1 数组引用和指针引用

3.7.2 受限指针

3.8 内存边界内部函数

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.  Oracle Solaris Studio C:K&R C 与 ISO C 之间的差异

索引

3.1 并行化概述

C 编译器为那些它确定可以安全进行并行化的循环生成并行代码。通常,这些循环具有彼此独立的迭代。对于此类循环,迭代以什么顺序执行或者是否并行执行并不重要。虽然不是全部,但是许多向量循环都属于此种类。

由于 C 中使用别名的方式,难以确定并行化的安全。为帮助编译器,Solaris Studio C 提供了 pragma 和附加指针限定,以提供程序员知道、但编译器无法确定的别名信息。有关更多信息,请参见第 5 章

以下示例说明了如何启用和控制并行化 C:

% cc -fast -xO4 -xautopar example.c -o example

此编译器命令将生成一个称为 example 的可正常执行的可执行程序。要了解如何利用多处理器执行,请参见B.2.80 -xautopar