Модель разделенного соединения OpenMP

Я распараллеливаю несколько отдельных циклов for с помощью OpenMP. Во время отладки в gdb я обнаружил, что несколько потоков создаются, когда работа достигает первой параллельной области. Несколько потоков завершились в конце выполнения всей программы. Это противоречит тому, что я думаю о модели разделенного соединения OpenMP, где потоки должны объединяться в главный поток, а затем завершаться в конце каждой параллельной области, а не в конце всей программы.

Я ошибся?

Спасибо!


person Tim    schedule 07.02.2010    source источник


Ответы (1)


Это зависит от реализации, но вполне вероятно, что реализация помещает рабочие потоки в пул потоков.

person Will    schedule 07.02.2010