В TBB метод task_scheduler_init(), который часто (и должен ли?) вызываться внутри, является обдуманным дизайнерским решением.
Однако, если мы смешаем TBB и MPI, гарантированно ли будет потокобезопасность без контроля количества потоков каждого процесса MPI? Например, у нас есть 7 ядер (без гиперпоточности) и 2 процесса MPI. Если каждый процесс порождает отдельную задачу TBB с использованием 4 потоков одновременно, возникает конфликт, который может привести к сбою программы во время выполнения.
Я новичок в ТБ. Ждем ваших комментариев и предложений!