OpenMP线程绑定【未完结】
OpenMP线程绑定
OpenMP相关环境变量与指令
OMP_PROC_BIND
OMP_PROC_BIND环境变量设置bind-var ICV的初始值。这个环境变量的值可以是true、false,或者用逗号分隔的master、close或spread列表。列表的值设置了对应嵌套级别的并行区域要使用的线程亲和策略。
如果环境变量设置为false,则执行环境可能会在OpenMP位置之间移动OpenMP线程,线程相关性将被禁用,并行构造上的proc_bind子句将被忽略。
否则,执行环境不应该在OpenMP位置之间移动OpenMP线程,线程亲和性被启用,并且初始线程被绑定到OpenMP位置列表中的第一个位置,先于第一个活动并行区域。
如果OMP_PROC_BIND环境变量中的值不是true、false或master、close或spread的逗号分隔列表,则程序的行为是实现定义的。如果初始线程不能绑定到OpenMP位置列表中的第一个位置,则该行为也是实现定义的。
例子:
1 |
|
参考资料
NUMA 处理器与进程绑定 - Harry Chen’s Blog
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!