我想使用Intel TBB和Cilk Plus编写Intel Xeon Phi的并行代码,但我遇到线程关联问题。我想将一个线程绑定到一个逻辑核心。可以在OpenMP中设置亲和力吗?我的意思是KMP_AFFINITY =" compact"。先感谢您。 :)
答案 0 :(得分:2)
是的,这是可能的,而且建议与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中没有任何特殊方法。