#include "petscsys.h" PetscErrorCode PetscLogEventRegister(const char name[],PetscClassId classid,PetscLogEvent *event)Not Collective
name | - The name associated with the event | |
classid | - The classid associated to the class for this event, obtain either with PetscClassIdRegister() or use a predefined one such as KSP_CLASSID, SNES_CLASSID, the predefined ones are only available in C code |
PetscLogEvent USER_EVENT; PetscClassId classid; PetscLogDouble user_event_flops; PetscClassIdRegister("class name",&classid); PetscLogEventRegister("User event name",classid,&USER_EVENT); PetscLogEventBegin(USER_EVENT,0,0,0,0); [code segment to monitor] PetscLogFlops(user_event_flops); PetscLogEventEnd(USER_EVENT,0,0,0,0);
PETSc can gather data for use with the utilities Upshot/Nupshot (part of the MPICH distribution). If PETSc has been compiled with flag -DPETSC_HAVE_MPE (MPE is an additional utility within MPICH), the user can employ another command line option, -log_mpe, to create a logfile, "mpe.log", which can be visualized Upshot/Nupshot.
The classid is associated with each event so that classes of events can be disabled simultaneously, such as all matrix events. The user can either use an existing classid, such as MAT_CLASSID, or create their own as shown in the example.
Level:intermediate
Location:src/sys/plog/plog.c
Index of all Profiling routines
Table of Contents for all manual pages
Index of all manual pages