ADC Home > Reference Library > Reference > Mac OS X > Mac OS X Man Pages

 

This document is a Mac OS X manual page. Manual pages are a command-line technology for providing documentation. You can view these manual pages locally using the man(1) command. These manual pages come from many different sources, and thus, have a variety of writing styles.

For more information about the manual page format, see the manual page for manpages(5).



MPI_File_preallocate(3OpenMPI)                                                MPI_File_preallocate(3OpenMPI)



NAME
       MPI_File_preallocate  -  Preallocates a specified amount of storage space  at the beginning of a file
       (collective).


SYNTAX
       C Syntax
           #include <mpi.h>
           int MPI_File_preallocate(MPI_File fh, MPI_Offset size)

       Fortran Syntax (see FORTRAN 77 NOTES)
           INCLUDE 'mpif.h'
           MPI_FILE_PREALLOCATE(FH, SIZE, IERROR)
                  INTEGER FH, IERROR
                  INTEGER(KIND=MPI_OFFSET_KIND) SIZE


C++ Syntax
       #include <mpi.h>
       void MPI::File::Preallocate(MPI::Offset size)


INPUT/OUTPUT PARAMETER
       fh        File handle (handle).


INPUT PARAMETER
       size      Size to preallocate file, in bytes (integer).


OUTPUT PARAMETER
       IERROR    Fortran only: Error status (integer).


DESCRIPTION
       MPI_File_preallocate ensures that storage space is allocated for the first size  bytes  of  the  file
       associated with fh. MPI_File_preallocate can be a very time-consuming operation.

       MPI_File_preallocate  is  collective; all processes in the group must pass identical values for size.
       Regions of the file that have previously been written are unaffected. For newly allocated regions  of
       the  file, MPI_File_preallocate has the same effect as writing undefined data. If size is larger than
       the current file size, the file size increases to size. If size is less than or equal to the  current
       file size, the file size is unchanged.

       The  treatment  of  file  pointers, pending nonblocking accesses, and file consistency is the same as
       with MPI_File_set_size. If MPI_MODE_SEQUENTIAL mode was specified when the file  was  opened,  it  is
       erroneous to call this routine.


FORTRAN 77 NOTES
       The  MPI standard prescribes portable Fortran syntax for the SIZE argument only for Fortran 90.  FOR-TRAN FORTRAN
       TRAN 77 users may use the non-portable syntax

            INTEGER*MPI_OFFSET_KIND SIZE

       where MPI_OFFSET_KIND is a constant defined in mpif.h and gives the length of the declared integer in
       bytes.


NOTES
       When  using  the  collective  routine  MPI_File_set_size  on  a UNIX file, if the size that is set is
       smaller than the current file size, the file is truncated at the position defined  by  size.  If  the
       size  is  set  to  be larger than the current file size, the file size becomes the set size. When the
       file size is increased this way with MPI_File_set_size, new regions are created in the file with dis-placements displacements
       placements between the old file size and the larger, newly set file size.

       Sun MPI I/O does not necessarily allocate file space for such new regions. You may reserve file space
       either by using MPI_File_preallocate or by performing a read or write to certain bytes.


ERRORS
       Almost all MPI routines return an error value; C routines as the value of the  function  and  Fortran
       routines  in  the  last argument. C++ functions do not return errors. If the default error handler is
       set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to  throw
       an MPI:Exception object.

       Before  the  error  value  is returned, the current MPI error handler is called. For MPI I/O function
       errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed  with
       MPI_File_set_errhandler;  the  predefined  error handler MPI_ERRORS_ARE_FATAL may be used to make I/O
       errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error.




Open MPI 1.2                                   September 2006                 MPI_File_preallocate(3OpenMPI)

Did this document help you?
Yes: Tell us what works for you.
It’s good, but: Report typos, inaccuracies, and so forth.
It wasn’t helpful: Tell us what would have helped.