void Extrae_fini_last_chance_Wrapper (void) { /* Finalize independently from who did the initialization ! */ if (Extrae_is_initialized_Wrapper() != EXTRAE_NOT_INITIALIZED) { if (Extrae_is_initialized_Wrapper() == EXTRAE_INITIALIZED_MPI_INIT) fprintf (stderr, PACKAGE_NAME": Warning! MPI task %d application did not terminate using MPI_Finalize! Review your application code.\n", TASKID); /* If the application is MPI the MPI wrappers are responsible for gathering and generating the .MPITS file*/ if (!Extrae_get_ApplicationIsMPI() && !Extrae_get_ApplicationIsSHMEM()) Generate_Task_File_List(); /* Finalize tracing library */ Backend_Finalize (); /* Call additional code to finalize the task including MPI_Finalize, ... */ Extrae_finalize_task(); } }
void Extrae_init_Wrapper (void) { /* Do not initialize if it's already initialized */ if (Extrae_is_initialized_Wrapper() == EXTRAE_NOT_INITIALIZED) { /* Actually initialize the tracing */ Extrae_init_tracing(FALSE); } else { char *previous = "Unknown"; if (Extrae_is_initialized_Wrapper() == EXTRAE_INITIALIZED_EXTRAE_INIT) previous = "API"; else if (Extrae_is_initialized_Wrapper() == EXTRAE_INITIALIZED_MPI_INIT) previous = "MPI"; else if (Extrae_is_initialized_Wrapper() == EXTRAE_INITIALIZED_SHMEM_INIT) previous = "SHMEM"; fprintf (stderr, PACKAGE_NAME": Warning! API tries to initialize more than once\n"); fprintf (stderr, PACKAGE_NAME": Previous initialization was done by %s\n", previous); } }
void Extrae_fini_Wrapper (void) { /* Finalize only if its initialized by Extrae_init call */ if (Extrae_is_initialized_Wrapper() == EXTRAE_INITIALIZED_EXTRAE_INIT) { /* If the application is MPI the MPI wrappers are responsible for gathering and generating the .MPITS file*/ if (!Extrae_get_ApplicationIsMPI() && !Extrae_get_ApplicationIsSHMEM()) if (getenv ("EXTRAE_APPEND_PID") == NULL) Generate_Task_File_List(); /* Finalize tracing library */ Backend_Finalize (); /* Call additional code to finalize the task including MPI_Finalize,... */ Extrae_finalize_task(); } }
void extrae_is_initialized (unsigned *res) { *res = Extrae_is_initialized_Wrapper(); }
extrae_init_type_t Extrae_is_initialized (void) { return Extrae_is_initialized_Wrapper(); }