gpt4 book ai didi

c++ - OpenMP 和 CPU 亲和性

转载 作者:可可西里 更新时间:2023-11-01 17:32:54 46 4
gpt4 key购买 nike

sched_setaffinitypthread_attr_setaffinity_np 是否可以在 OpenMP 下设置线程关联?

相关:CPU Affinity

最佳答案

是的,命名调用将用于设置线程关联。唯一的问题是修复线程数并在正确的线程中设置正确的亲和性(您可以尝试对已知线程数使用 for 循环的静态调度)。

据我所知,几乎每个 openmp 都允许通过环境设置亲和性。环境变量的名称各不相同(前段时间还没有标准化)。我用 http://www.spec.org/omp2001/results/omp2001.html找到 openMP 实现的页面,将搜索特定的环境变量名称。亲和性设置在大约一半的 specOMP 结果中。结果中还有一些额外的 OpenMP 性能调整设置。

例如For intel compiler变量是

 export KMP_AFFINITY=compact,0

For sun compiler:

 export SUNW_MP_PROCBIND=TRUE

For gcc (pre-openmp 3.1)

 export GOMP_CPU_AFFINITY=0-63

其中 63 是最大 CPU 数量(从 0 开始计算)

newer OpenMP Standard, version 3.1 定义环境变量 OMP_PROC_BIND(请参阅第 4.4 节),这是在 OpenMP 中设置亲和性的标准化方法。用法是:

 export OMP_PROC_BIND=true

关于c++ - OpenMP 和 CPU 亲和性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8325566/

46 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com