petsc-3.10.5 2019-03-28
Report Typos and Errors

PetscSequentialPhaseBegin

Begins a sequential section of code.

Synopsis

#include "petscsys.h"  
PetscErrorCode  PetscSequentialPhaseBegin(MPI_Comm comm,int ng)
Collective on MPI_Comm

Input Parameters

comm - Communicator to sequentialize.
ng - Number in processor group. This many processes are allowed to execute at the same time (usually 1)

Notes

PetscSequentialPhaseBegin() and PetscSequentialPhaseEnd() provide a way to force a section of code to be executed by the processes in rank order. Typically, this is done with
      PetscSequentialPhaseBegin(comm, 1);
      <code to be executed sequentially>
      PetscSequentialPhaseEnd(comm, 1);

Often, the sequential code contains output statements (e.g., printf) to be executed. Note that you may need to flush the I/O buffers before calling PetscSequentialPhaseEnd(). Also, note that some systems do not propagate I/O in any order to the controling terminal (in other words, even if you flush the output, you may not get the data in the order that you want).

See Also

PetscSequentialPhaseEnd()

Level

intermediate

Location

src/sys/utils/mpiu.c
Index of all Sys routines
Table of Contents for all manual pages
Index of all manual pages