此发行版支持 OpenMP API 版本 4.0 中引入的新功能,这是对 OpenMP API 标准语言规范的主要升级。此发行版中 C、C++ 和 Fortran 编译器支持的新 OpenMP 4.0 功能包括下列各项:
错误处理-OpenMP 4.0 定义错误处理功能以改进存在运行时错误时 OpenMP 应用程序的弹性和稳定性。可以使用条件取消和用户定义的取消点安全地中止并行 OpenMP 执行。
线程相似性-OpenMP 4.0 提供了机制来定义执行 OpenMP 线程的位置,实现更好的位置、更少的假共享以及更多内存带宽。
任务扩展-OpenMP 4.0 提供了对基于任务的并行支持的多个扩展。任务可以组合来支持深度任务同步。通过任务相关性规范来支持任务到任务同步。
对 Fortran 2003 的支持-Fortran 2003 标准添加了许多现代计算机语言功能。在 OpenMP 规范中具有这些功能,用户可以并行化符合 Fortran 2003 的程序。
按顺序一致的原子-添加了一个子句,从而在以原子方式访问特定存储位置时可以执行顺序一致性。
用户定义的规约-除了使用基本语言操作符和内部过程的规约,OpenMP 4.0 支持用户定义的规约。编程人员可以使用 declare reduction 指令定义定制规约;可以在 reduction 子句中指定这些规约。
新环境变量 OMP_DISPLAY_ENV-OMP_DISPLAY_ENV 环境变量可用于显示与 OpenMP 环境变量关联的内部控制变量 (Internal Control Variables, ICV) 的值。
有关详细信息,请参见Oracle Solaris Studio 12.4:OpenMP API 用户指南 。
有关 OpenMP 4.0 功能的更多信息,请参见《OpenMP Application Program Interface Version 4.0, July 2013》(《OpenMP 应用程序接口版本 4.0,2013 年 7 月》)和《OpenMP 4.0.1 Examples, February 2014》(《OpenMP 4.0.1 示例,2014 年 2 月》)。