OpenMP和CPU相关性
OpenMP and CPU affinity
sched_setaffinity
或pthread_attr_setaffinity_np
是否可以在OpenMP下设置线程亲和性?
相关:CPU Affinity
是的,命名调用可以设置线程关联。唯一的问题是固定线程数,并设置正确的亲和在正确的线程(你可以尝试使用for
循环的静态调度已知的线程数)。
据我所知,几乎每个openmp都允许通过环境设置亲和性。环境变量的名称各不相同(不久前还没有标准化)。我使用http://www.spec.org/omp2001/results/omp2001.html页面来查找openMP实现,并将搜索特定的环境变量名称。大约一半的specOMP结果设置了亲和性。在结果中也有一些额外的OpenMP性能调优设置。
。对于intel编译器,变量是
export KMP_AFFINITY=compact,0
对于sun编译器:
export SUNW_MP_PROCBIND=TRUE
gcc (pre-openmp 3.1)
export GOMP_CPU_AFFINITY=0-63
其中63为最大CPU数(从0开始计算)
更新的OpenMP标准版本3.1定义了环境变量OMP_PROC_BIND(见4.4节),这是OpenMP中设置亲和性的标准化方式。用法是:
export OMP_PROC_BIND=true
相关文章:
- 处理小于cpu数据总线的数据类型.(c++转换为机器代码)
- 在模拟器中使用并集来模拟CPU寄存器有多合适
- 编写一个函数以使用 n 百分比的 CPU 使用率
- 如何禁用 CPU 的无序执行
- CPU 瓶颈;处理具有许多非静态对象的 3D 场景渲染的简单方法
- 来自colPivHouseholderQr().solve的拟合相关性
- 分别测量每个线程上花费的 CPU 时间(C++)
- 什么时候最好在子进程中使用 CPU 或 I/O 密集型代码 [ C++ ]
- 在程序运行时监视 VxWorks 中的任务 CPU 利用率
- 对于等待以 std::future wait() 返回的函数的 CPU 使用率或检查标志在循环中休眠一段时间哪个更好?
- 您选择的 CPU 不支持 x86-64 指令集
- 如何降低应用程序的 CPU 使用率?
- 对于 CPU 无法原子操作的类型,std::atomic 有什么意义?
- 如何区分CPU和内存瓶颈?
- 如何以编程方式获取任务管理器进程CPU使用率(不是PerfMon API)
- CPU 如何提供memory_order_acquire保证?
- 一段时间后 CPU 使用率高
- C/C++memcpu基准测试:测量CPU和墙时间
- 高CPU使用率,在API桌面复制中获取帧之间具有不同的超时间隔
- OpenMP和CPU相关性