Моя программа работает на Linux и использует динамическую библиотеку с поддержкой openmp (названную Calc.so) для быстрых параллельных вычислений. Calc.so экспортирует эту функцию doublecalc(double* data).
Во время работы программы я использовал команду strace -p {prog_pid и обнаружил, что работающий процесс постоянно создает пул потоков (я вижу много системных вызовов клонирования и фьютекса).< /p>
У меня очень ограниченный опыт работы с OpenMP, я помню, что пул потоков openmp создается только один раз. Почему на этот раз пул потоков создается снова и снова? Связано ли это с использованием openmp в динамической библиотеке? Кто-нибудь может дать мне подсказку? Спасибо.
Подробнее здесь: https://stackoverflow.com/questions/788 ... hread-pool