有没有办法(使用来自intel的tbb)指定并行循环使用的逻辑处理器数量?就像我希望能够检测多个逻辑处理器并指定我想用于此任务的数量。
答案 0 :(得分:2)
我认为你的意思是线程,而不是处理器。
int main()
{
tbb::task_scheduler_init init(num_threads);
...
}
虽然我仍然认为让TBB自动处理它会更好。
编辑:基于评论,你想要的是:int main()
{
struct tbb_set_affinity : public tbb::task_scheduler_observer
{
tbb_set_affinity(){observe(true);}
void on_scheduler_entry(bool is_worker)
{
SetThreadAffinityMask(...);
}
} tbb_set_affinity;
tbb::task_scheduler_init init(num_processors);
...
}