PETSc включает в себя содержательную и легковесную систему, позволяющую
провести профилирование приложений. Процедуры PETSc автоматически
фиксируют данные о производительности, если при выполнении указаны
определенные опции. Пользователь также может фиксировать информацию
о коде приложения для получения полной картины производительности.
К тому же, PETSc предоставляет механизм вывода информативных сообщений
о ходе вычислений.
Если код приложения и библиотеки PETSc компилировались с флагом
-DPETSC_USE_LOG (установлен по умолчанию для всех версий),
то можно использовать во время выполнения программы различные виды профилирования
кода между вызовами
PetscInitialize() и PetscFinalize().
Отметьте, что флаг
-DPETSC_USE_LOG может быть определен
для инсталляции PETSc в файле ${PETSC_DIR}/bmake/
${PETSC_ARCH}/variables. Опции профилирования включают:
-log_summary - выводит версию ASCII информации профилирования
после завершения программы. Эта статистика достаточно полная и не
требует больших затрат; поэтому
-log_summary вводится как
самое предпочтительное средство мониторинга производительности кода
PETSc;
-log_info - выводит детальную информацию о коде на экран.
Эта опция сообщает детали об алгоритмах, структурах данных и т.д.
Поскольку затраты на вывод замедляют код, эту опцию нельзя использовать
для оценки производительности программ;
-log_trace [logfile] - отслеживает начало и окончание
всех событий PETSc. Эту опцию можно использовать в сочетании
с -log_info; она полезна для отслеживания мест зависания программы
без запуска отладчика. Дополнительное профилирование можно выполнить
с применением MPE.