Oracle® Developer Studio 12.5:OpenMP API 用户指南

退出打印视图

更新时间: 2016 年 7 月
 
 

9.3 线程数的动态调整

该实现能够动态调整线程数。缺省情况下会启用动态调整。通过将 OMP_DYNAMIC 环境变量设置为 FALSE,或使用 false 参数调用 omp_set_dynamic() 例程,可以禁用动态调整。

当线程遇到 parallel 构造时,此实现提供的线程数将根据 OpenMP 4.0 规范中的算法 2.1 来确定。在异常情况下,例如当缺少系统资源时,提供的线程数将少于算法 2.1 中所述的线程数。

如果实现无法提供请求数量的线程,并且已启用线程数动态调整,则程序执行将采用较小的线程数继续进行。如果将 SUNW_MP_WARN 设置为 TRUE,或者通过调用 sunw_mp_register_warn() 注册回调函数,则将发出警告消息。

如果实现无法提供请求数量的线程,并且已禁用线程数动态调整,则程序将发出错误消息并停止执行。