: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
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/sys/fileio/sysio.c.html#PetscBinarySynchronizedWrite">src/sys/fileio/sysio.c</A>


---
[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)  
