:orphan: # PetscSFWindowSyncType Type of synchronization for `PETSCSFWINDOW` ## Synopsis ``` typedef enum { PETSCSF_WINDOW_SYNC_FENCE, PETSCSF_WINDOW_SYNC_LOCK, PETSCSF_WINDOW_SYNC_ACTIVE } PetscSFWindowSyncType; ``` ## Values - ***`PETSCSF_WINDOW_SYNC_FENCE` -*** simplest model, synchronizing across communicator - ***`PETSCSF_WINDOW_SYNC_LOCK` -*** passive model, less synchronous, requires less setup than `PETSCSF_WINDOW_SYNC_ACTIVE`, but may require more handshakes - ***`PETSCSF_WINDOW_SYNC_ACTIVE` -*** active model, provides most information to MPI implementation, needs to construct 2-way process groups (more setup than `PETSCSF_WINDOW_SYNC_LOCK`) ## See Also `PetscSF`, `PetscSFWindowSetSyncType()`, `PetscSFWindowGetSyncType()` ## Level advanced ## Location include/petscsf.h --- [Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/include/petscsf.h) [Index of all PetscSF routines](index.md) [Table of Contents for all manual pages](/manualpages/index.md) [Index of all manual pages](/manualpages/singleindex.md)