3

Intel TBB と Cilk Plus を使用して Intel Xeon Phi の並列コードを書きたいのですが、スレッド アフィニティに問題があります。1 つのスレッドを 1 つの論理コアにバインドしたい。OpenMP のようにアフィニティを設定することはできますか? つまり、KMP_AFFINITY="compact" です。前もって感謝します。:)

4

1 に答える 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 に答える