Search code examples
multithreadingparallel-processingtbb

Number of threads used by Intel TBB


How does Intel TBB choose the number of threads to used for a parallel section?

Is there some kind of specification available?


Solution

  • As of TBB Version 2.2 the task scheduler will be automatically initialized and on runtime take care of the numbers of threads to use, if you manually want to change that number, you can use one of the following methods:

    When you create the scheduler, you can specify the number of threads as

    tbb::task_scheduler_init init(nthread);
    

    else you can use

    tbb::task_scheduler_init init(tbb::task_scheduler_init::automatic);
    

    In this case, tbb scheduler creates as many threads as your CPU cores