petsc-3.11.4 2019-09-28
Report Typos and Errors

PetscBinarySynchronizedWrite

writes to a binary file.

Synopsis

PetscErrorCode  PetscBinarySynchronizedWrite(MPI_Comm comm,int fd,void *p,PetscInt n,PetscDataType type,PetscBool istemp)
Collective on MPI_Comm

Input Parameters

comm - the MPI communicator
fd - the file
n - the number of items to write
p - the buffer
istemp - the buffer may be changed
type - the type of items to write (PETSC_INT, PETSC_DOUBLE or PETSC_SCALAR)

Notes

Process 0 does a PetscBinaryWrite()

PetscBinarySynchronizedWrite() uses byte swapping to work on all machines. Integers are stored on the file as 32 long, regardless of whether they are stored in the machine as 32 or 64, this means the same binary file may be read on any machine.

Notes

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 process 0, while PetscSynchronizedFPrintf() has all processes print their strings in order.

See Also

PetscBinaryWrite(), PetscBinaryOpen(), PetscBinaryClose(), PetscBinaryRead(), PetscBinarySynchronizedRead(),
PetscBinarySynchronizedSeek()

Level

developer

Location

src/sys/fileio/sysio.c
Index of all Sys routines
Table of Contents for all manual pages
Index of all manual pages