Сходство потоков Intel TBB и Cilk Plus на Intel MIC

Я хотел бы написать параллельный код для Intel Xeon Phi, используя Intel TBB и Cilk Plus, но у меня есть проблема с привязкой потоков. Я хочу связать один поток с одним логическим ядром. Возможно ли установить сходство как в OpenMP? Я имею в виду KMP_AFFINITY = «компактный». Заранее спасибо. 🙂

2

Решение

Да, это возможно, и более того, это рекомендуется в сочетании с affinity_partitioner на Xeon Phi. Посмотри пожалуйста блог для деталей. Вот короткий фрагмент кода, чтобы дать вам представление о том, как он выглядит:

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 нет никаких специальных средств для этого.

2

Другие решения


По вопросам рекламы [email protected]