英特尔TBB库是否具有选择内核数量的功能?

时间:2012-02-24 02:52:01

标签: multicore intel tbb

我正在使用英特尔TBB来加速图形域中的问题。 我想分析我方法的可扩展性。

要找到我想要的可扩展性,请运行相同的算法 使用1,2,3和4个CPU内核。

有没有办法告诉TBB使用2& 3个核心 在4核CPU上运行测试时。

感谢 -shridhar

1 个答案:

答案 0 :(得分:1)

是的,有办法做到这一点:

task_scheduler_init课程允许您这样做。您必须将类的构造函数传递给您要使用的线程数。您还必须确保所有TBB代码在构造实例之后和销毁之前运行。

通常,将它声明为main函数中的变量就足够了,如下所示:

int main()
{
    tbb::task_scheduler_init init(3);//three threads
    do_the_work();
}