Sun Studio 12 Update 1:OpenMP API 用户指南

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 的识别,并且不更改优化级别。 

附加说明: