PetscOmpCtrlGetOmpComms#

Get MPI communicators from a PETSc OMP controller

Synopsis#

#include "petscsys.h"  
PetscErrorCode PetscOmpCtrlGetOmpComms(PetscOmpCtrl ctrl, MPI_Comm *omp_comm, MPI_Comm *omp_master_comm, PetscBool *is_omp_master)

Input Parameter#

  • ctrl - a PETSc OMP controller

Output Parameters#

  • omp_comm - a communicator that includes a master rank and slave ranks where master spawns threads

  • omp_master_comm - on master ranks, return a communicator that include master ranks of each omp_comm; on slave ranks, MPI_COMM_NULL will be return in reality.

  • is_omp_master - true if the calling process is an OMP master rank.

Note#

Any output parameter can be NULL. The parameter is just ignored.

See Also#

PetscOmpCtrlCreate(), PetscOmpCtrlDestroy(), PetscOmpCtrlBarrier(), PetscOmpCtrlOmpRegionOnMasterBegin(), PetscOmpCtrlOmpRegionOnMasterEnd(),

Level#

developer

Location#

src/sys/utils/mpishm.c


Edit on GitLab

Index of all Sys routines
Table of Contents for all manual pages
Index of all manual pages