next up previous contents
Next: Профилирование кода приложения Up: Основная информация профилирования Previous: Интерпретация вывода -log summary:   Contents

Использование -log_mpe вместе с Upshot / Jumpshot

Для визуализации событий PETSc можно также использовать пакеты Upshot (или Jumpshot). Эти пакеты поставляются вместе с библиотекой MPE, являющейся частью MPICH - реализации MPI. Опция -log_mpe [logfile] создает файл регистрации событий, пригодный для просмотра с помощью Upshot. Пользователь может применять либо файл регистрации по умолчанию mpe.log, либо указывать собственное имя файла через параметр logfile. Для использовыания этой опции регистрации пользователь может работать с любой реализацией MPI (не обязательно MPICH), но должен построить и скомпоновать часть MPE из MPICH. Пользователь должен также откомпилировать библиотеку PETSc с флагом -DPETSC_HAVE_MPE, не установленным по умолчанию. Включить регистрацию MPE пользователь может, указав значение
-DPETSC_HAVE_MPE в переменной PCONF каталога ${PETSC_DIR}/
bmake/${PETSC_ARCH} /packages
и пересобрав все в PETSc. По умолчанию не все события PETSc регистрируются MPE. Например, поскольку MatSetValues () может вызываться в программе тысячи раз, по умолчанию ее вызовы не регистрируются MPE. Для активирования регистрации отдельных событий с помощью MPE, нужно использовать функцию:

PetscLogEventMPEActivate(int event);

Для отключения регистрации события в MPE, нужно использовать:

PetscLogEventMPEDeactivate(int event);

Событие может быть либо предопределено в PETSc (как показано в файле ${PETSC_DIR}/include/petsclog.h) или получено через PetscLogEventRegister (). Эти процедуры можно вызывать столько раз, сколько потребуется приложению, так что можно ограничить регистрацию событий с помощью MPE для отдельных сегментов кода. Чтобы увидеть, какие события регистрируются по умолчанию, пользователь может просмотреть исходный код (см. файлы src/plot/src/plogmpe.c и include/petsclog.h). Разрабатываются простая программа и графический интерфейс, позволяющие просмотреть, какие регистрируемые события уже определены, и определить новые. Пользователь также может регистрировать события MPI. Чтобы сделать это, рассматривайте приложение PETSc как приложение MPI и следуйте инструкциям реализации MPI для регистрации вызовов MPI. Например, при использовании MPICH необходимо добавить -llmpi в список библиотек перед -lmpi.



2004-06-22