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

文档信息

前言

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.  子句在指令中的放置

索引

2.1 编译器选项

要使用 OpenMP 指令实现显式并行化,请使用 ccCCf95 选项标志 -xopenmp 编译程序。(f95 编译器将 -xopenmp-openmp 作为同义词接受。)

-xopenmp 标志接受下列关键字子选项。

-xopenmp=parallel
启用 OpenMP pragma 的识别。

-xopenmp=parallel 的最低优化级别是 -xO3

如有必要,编译器将优化级别从较低级别更改为 -xO3,并发出警告。

-xopenmp=noopt
启用 OpenMP pragma 的识别。

如果优化级别低于 -xO3,则编译器不提升它。

如果将优化级别显式设置为低于 -xO3 的级别,如 -xO2 -openmp=noopt,则编译器会报告错误。

如果没有使用 -openmp=noopt 指定优化级别,则会识别 OpenMP pragma,并相应地并行化程序,但不执行优化。

-xopenmp=stubs
不再支持此选项。

OpenMP 桩模块库是为方便用户而提供的。

要编译调用 OpenMP 库例程的 OpenMP 程序但忽略其 OpenMP pragma,请在编译该程序时不要使用 -xopenmp 选项,并且将目标文件与 libompstubs.a 库链接。

例如,% cc omp_ignore.c -lompstubs

不支持同时与 libompstubs.a 和 OpenMP 运行时库 libmtsk.so 进行链接,因为这样可能会导致意外的行为。

-xopenmp=none
禁用对 OpenMP pragma 的识别,并且不更改优化级别。

附加说明: