我想使用英特尔 TBB 和 Cilk Plus 为英特尔至强融核编写并行代码,但我遇到了线程亲和性问题。我想将一个线程绑定(bind)到一个逻辑核心。是否可以像在 OpenMP 中那样设置亲和性?我的意思是 KMP_AFFINITY="紧凑"。先感谢您。 :)
最佳答案
是的,这是可能的,而且建议在 Xeon Phi 上与 affinity_partitioner 结合使用。请看the blog了解详情。这是一个简短的代码片段,可以让您了解它的外观:
class pinning_observer: public tbb::task_scheduler_observer {
public:
pinning_observer();
/*override*/ void on_scheduler_entry( bool );
~pinning_observer();
};
pinning_observer pinner;
pinner.observe( true );
在 Cilk Plus 中没有任何特殊方法可以做到这一点。
关于c++ - 英特尔 MIC 上的英特尔 TBB 和 Cilk Plus 线程亲和性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28400134/