openmp — Как я могу профилировать c ++, используя gcc / gprof с & quot; -fomp & quot; и & quot; -pg -fprofile-create & quot ;?

Я не понимаю, можно ли скомпилировать / связать профилирующую сборку для gprof, используя gcc с включенным OpenMP. Насколько мне известно, gcc docs молчит по этому вопросу. Экспериментально, добавив только -fomp переключатель вызывает SIGPROF ошибка при запуске.

Мне также неясно, http://projekt17.pub.lab.nm.ifi.lmu.de/ompp/downloads/$pkgname-$pkgver.tgz может помочь, поскольку включенный документ относится только к icc с простым файлом. Если это возможно, как добавить его в существующую систему сборки? [Примечание: я новичок-самоучка, работающий над хобби, пожалуйста, будьте откровенны. Спасибо.]

6

Решение

Исходя из того, что вы заявили до сих пор, я скажу, что то, что вы видите, это борьба за обработчик сигналов между библиотеками времени выполнения OpenMP и профилирования — среда выполнения профилирования использует таймер профилирования POSIX, который генерирует SIGPROF, когда он истекает, но среда выполнения OpenMP перекрывает обработчик SIGPROF для процесса с обработчиком по умолчанию, когда он настраивал обработчики сигналов.

Похоже, что сам OpenMP предоставляет своего рода API профилирования, но поддержка GCC для него на задний план.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]