PetscErrorCode PetscBinarySynchronizedWrite(MPI_Comm comm,int fd,void *p,PetscInt n,PetscDataType type,PetscBool istemp)Collective on MPI_Comm
|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)|
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.