Intel TBB と Cilk Plus を使用して Intel Xeon Phi の並列コードを書きたいのですが、スレッド アフィニティに問題があります。1 つのスレッドを 1 つの論理コアにバインドしたい。OpenMP のようにアフィニティを設定することはできますか? つまり、KMP_AFFINITY="compact" です。前もって感謝します。:)
1 に答える
3
はい、可能です。さらに、Xeon Phi のaffinity_partitioner と組み合わせて使用することをお勧めします。詳細はブログをご覧ください。以下は、どのように見えるかを理解するための短いコード スニペットです。
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 でこれを行うための特別な手段はありません。
于 2015-02-09T10:25:45.093 に答える