Я не понимаю, можно ли скомпилировать / связать профилирующую сборку для gprof, используя gcc с включенным OpenMP. Насколько мне известно, gcc docs молчит по этому вопросу. Экспериментально, добавив только -fomp
переключатель вызывает SIGPROF
ошибка при запуске.
Мне также неясно, http://projekt17.pub.lab.nm.ifi.lmu.de/ompp/downloads/$pkgname-$pkgver.tgz
может помочь, поскольку включенный документ относится только к icc с простым файлом. Если это возможно, как добавить его в существующую систему сборки? [Примечание: я новичок-самоучка, работающий над хобби, пожалуйста, будьте откровенны. Спасибо.]
Исходя из того, что вы заявили до сих пор, я скажу, что то, что вы видите, это борьба за обработчик сигналов между библиотеками времени выполнения OpenMP и профилирования — среда выполнения профилирования использует таймер профилирования POSIX, который генерирует SIGPROF, когда он истекает, но среда выполнения OpenMP перекрывает обработчик SIGPROF для процесса с обработчиком по умолчанию, когда он настраивал обработчики сигналов.
Похоже, что сам OpenMP предоставляет своего рода API профилирования, но поддержка GCC для него на задний план.
Других решений пока нет …