:orphan: # PetscBinarySynchronizedWrite writes to a binary file. ## Synopsis ``` PetscErrorCode PetscBinarySynchronizedWrite(MPI_Comm comm, int fd, const void *p, PetscInt n, PetscDataType type) ``` Collective ## Input Parameters - ***comm -*** the MPI communicator - ***fd -*** the file - ***n -*** the number of items to write - ***p -*** the buffer, an array of the type that matches the value in `type` - ***type -*** the type of items to write (`PETSC_INT`, `PETSC_REAL` or `PETSC_SCALAR`) ## Notes MPI rank 0 does a `PetscBinaryWrite()` the values on other MPI processes are not used The files are written using big-endian ordering to the file. On little-endian machines the numbers are converted to the big-endian format when they are written to disk. When PETSc is configured using `./configure with --with-64-bit-indices` the integers are written to the file as 64-bit integers, this means they can only be read back in when the option `--with-64-bit-indices` is used. Because byte-swapping may be done on the values in data it cannot be declared const ## WARNING This is NOT like `PetscSynchronizedFPrintf()`! This routine ignores calls on all but MPI rank 0, while `PetscSynchronizedFPrintf()` has all MPI processes print their strings in order. ## See Also `PetscBinaryWrite()`, `PetscBinaryOpen()`, `PetscBinaryClose()`, `PetscBinaryRead()`, `PetscBinarySynchronizedRead()`, `PetscBinarySynchronizedSeek()` ## Level developer ## Location src/sys/fileio/sysio.c --- [Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/sys/fileio/sysio.c) [Index of all Sys routines](index.md) [Table of Contents for all manual pages](/manualpages/index.md) [Index of all manual pages](/manualpages/singleindex.md)