Oracle Solaris Studio 12.2:C 用户指南

3.2 OpenMP 并行化

C 编译器本身接受 OpenMP API,用于共享内存并行化。API 包括一组并行化 pragma。从 OpenMP Web 站点 http://www.openmp.org/ 中可获得有关 OpenMP API 规范的信息。

要启用编译器的 OpenMP 支持以及对 OpenMP pragma 的识别,请使用 -xopenmp 选项进行编译。如果没有 -xopenmp 选项,编译器会将 OpenMP pragma 视为注释。请参见B.2.123 -xopenmp[= i]

有关详细信息,请参见《Solaris Studio OpenMP API 用户指南》。

3.2.1 处理 OpenMP 运行时警告

OpenMP 运行时系统可针对非致命错误发出警告。使用以下函数注册一个回调函数以处理这些警告:

int sunw_mp_register_warn(void (*func) (void *) )

您可以通过对 <sunw_mp_misc.h> 发出 #include 预处理程序指令来访问该函数的原型。

如果不想注册函数,请将环境变量 SUNW_MP_WARN 设置为 TRUE,警告消息将发送给 stderr。有关 SUNW_MP_WARN 的更多信息,请参见3.3.3 SUNW_MP_WARN

有关特定于此 OpenMP 实现的信息,请参见《Solaris Studio OpenMP API 用户指南》。