Skip to main content
`Ctrl`+`K`

# 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/openmp/mpmpishm.c

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