Sun MPI 4.0 Programming and Reference Guide

Sun MPI I/O Routines

Table A-2 lists the Sun MPI I/O routines in alphabetical order. The following sections list the routines by functional category.

File Manipulation

Collective coordination 

Noncollective coordination 

MPI_File_open

MPI_File_close

MPI_File_set_size

MPI_File_preallocate

MPI_File_delete

MPI_File_get_size

MPI_File_get_group

MPI_File_get_amode

File Info

Noncollective coordination 

Collective coordination 

MPI_File_get_info

MPI_File_set_info

Data access

Data Access With Explicit Offsets

Synchronism 

Noncollective coordination 

Collective coordination 

Blocking

MPI_File_read_at

MPI_File_write_at

MPI_File_read_at_all

MPI_File_write_at_all

Nonblocking or split collective

MPI_File_iread_at

 

MPI_File_iwrite_at

MPI_File_read_at_all_begin

MPI_File_read_at_all_end

MPI_File_write_at_all_begin

MPI_File_write_at_all_end

Data Access With Individual File Pointers

Synchronism 

Noncollective coordination 

Collective coordination 

Blocking

MPI_File_read

MPI_File_write

MPI_File_read_all

MPI_File_write_all

Nonblocking or split collective

MPI_File_iread

 

MPI_File_iwrite

MPI_File_read_all_begin

MPI_File_read_all_end

MPI_File_write_all_begin

MPI_File_write_all_end

Data Access With Shared File Pointers

Synchronism 

Noncollective coordination 

Collective coordination 

Blocking

MPI_File_read_shared

MPI_File_write_shared

MPI_File_read_ordered

MPI_File_write_ordered

MPI_File_seek_shared

MPI_File_get_position_shared

Nonblocking or split collective

MPI_File_iread_shared

 

MPI_File_iwrite_shared

MPI_File_read_ordered_begin

MPI_File_read_ordered_end

MPI_File_write_ordered_begin

MPI_File_write_ordered_end

Pointer Manipulation

MPI_File_seek
MPI_File_get_position
MPI_File_get_byte_offset

File Interoperability

MPI_Register_datarep
MPI_File_get_type_extent

File Consistency and Semantics

MPI_File_set_atomicity
MPI_File_get_atomicity
MPI_File_sync

Handle Translation

MPI_File_f2c
MPI_File_c2f

MPI I/O Routines: Alphabetical Listing

Table A-2 Sun MPI I/O Routines

Routine and C Syntax 

Description 

MPI_File_c2f(MPI_File file)

Translates a C handle into a Fortran handle. 

MPI_File_close(MPI_File *fh)

Closes a file (collective).  

MPI_File_create_errhandler(MPI_File_errhandler_fn *function, MPI_Errhandler *errhandler)

Creates an MPI-style error handler that can be attached to a file.  

MPI_File_delete(char *filename, MPI_Info info)

Deletes a file.  

MPI_File_f2c(MPI_File file)

Translates a Fortran handle into a C handle. 

MPI_File_get_amode(MPI_File fh, int *amode)

Returns mode associated with open file.  

MPI_File_get_atomicity(MPI_File fh, int *flag)

Returns current consistency semantics for data-access operations.  

MPI_File_get_byte_offset(MPI_File fh, MPI_Offset offset, MPI_Offset *disp)

Converts a view-relative offset into an absolute byte position. 

MPI_File_get_errhandler(MPI_Comm file, MPI_Errhandler *errhandler)

Gets the error handler for a file. 

MPI_File_get_group(MPI_File fh, MPI_Group *group)

Returns the process group of file.  

MPI_File_get_info(MPI_File fh, MPI_Info *info_used)

Returns a new info object containing hints.  

MPI_File_get_position(MPI_File fh, MPI_Offset *offset)

Returns current position of individual file pointer.  

MPI_File_get_position_shared(MPI_File fh, MPI_Offset *offset)

Returns current position of the shared file pointer (collective).  

MPI_File_get_size(MPI_File fh, MPI_Offset *size)

Returns current size of file.  

MPI_File_get_type_extent(MPI_File fh, MPI_Datatype datatype, MPI_Aint *extent)

Returns the extent of the data type in a file. 

MPI_File_get_view(MPI_File fh, MPI_Offset *disp, MPI_Datatype *etype, MPI_Datatype *filetype, char *datarep)

Returns process's view of data in file.  

MPI_File_iread(MPI_File fh, void *buf, int count, MPI_Datatype datatype, MPI_Request *request)

Reads a file starting at the location specified by the individual file pointer (nonblocking, noncollective). 

MPI_File_iread_at(MPI_File fh, MPI_Offset offset, void *buf, int count, MPI_Datatype datatype, MPI_Request *request)

Reads a file at an explicitly specified offset (nonblocking, noncollective).  

MPI_File_iread_shared(MPI_File fh, void *buf, int count, MPI_Datatype datatype, MPI_Request *request)

Reads a file using the shared file pointer (nonblocking, noncollective). 

MPI_File_iwrite(MPI_File fh, void *buf, int count, MPI_Datatype datatype, MPI_Request *request)

Writes a file starting at the location specified by the individual file pointer (nonblocking, noncollective). 

MPI_File_iwrite_at(MPI_File fh, MPI_Offset offset, void *buf, int count, MPI_Datatype datatype, MPI_Request *request)

Writes a file at an explicitly specified offset (nonblocking, noncollective). 

MPI_File_iwrite_shared(MPI_File fh, void *buf, int count, MPI_Datatype datatype, MPI_Request *request)

Writes a file using the shared file pointer (nonblocking, noncollective). 

MPI_File_open(MPI_Comm comm, char *filename, init amode, MPI_Info info, MPI_File *fh)

Opens a file (collective).  

MPI_File_preallocate(MPI_File fh, MPI_Offset size)

Preallocates storage space for a portion of a file (collective). 

MPI_File_read(MPI_File fh, void *buf, int count, MPI_Datatype datatype, MPI_Status *status)

Reads a file starting at the location specified by the individual file pointer.  

MPI_File_read_all(MPI_File fh, void *buf, int count, MPI_Datatype datatype, MPI_Status *status)

Reads a file starting at the locations specified by individual file pointers (collective).  

MPI_File_read_all_begin(MPI_File fh, void *buf, int count, MPI_Datatype datatype)

Reads a file starting at the locations specified by individual file pointers; beginning part of a split collective routine (nonblocking).  

MPI_File_read_all_end(MPI_File fh, void *buf, MPI_Status *status)

Reads a file starting at the locations specified by individual file pointers; ending part of a split collective routine (blocking).  

MPI_File_read_at(MPI_File fh, MPI_Offset offset, void *buf, int count, MPI_Datatype datatype, MPI_Status *status)

Reads a file at an explicitly specified offset.  

MPI_File_read_at_all(MPI_File fh, MPI_Offset offset, void *buf, int count, MPI_Datatype datatype, MPI_Status *status)

Reads a file at explicitly specified offsets (collective).  

MPI_File_read_at_all_begin(MPI_File fh, MPI_Offset offset, void *buf, int count, MPI_Datatype datatype)

Reads a file at explicitly specified offsets; beginning part of a split collective routine (nonblocking). 

MPI_File_read_at_all_end(MPI_File fh, void *buf, MPI_Status *status)

Reads a file at explicitly specified offsets; ending part of a split collective routine (blocking). 

MPI_File_read_ordered(MPI_File fh, void *buf, int count, MPI_Datatype datatype, MPI_Status *status)

Reads a file at a location specified by a shared file pointer (collective).  

MPI_File_read_ordered_begin(MPI_File fh, void *buf, int count, MPI_Datatype datatype)

Reads a file at a location specified by a shared file pointer; beginning part of a split collective routine (nonblocking). 

MPI_File_read_ordered_end(MPI_File fh, void *buf, MPI_Status *status)

Reads a file at a location specified by a shared file pointer; ending part of a split collective routine (blocking). 

MPI_File_read_shared(MPI_File fh, void *buf, int count, MPI_Datatype datatype, MPI_Status *status)

Reads a file using the shared file pointer (blocking, noncollective). 

MPI_File_seek(MPI_File fh, MPI_Offset offset, int whence)

Updates individual file pointers.  

MPI_File_seek_shared(MPI_File fh, MPI_Offset offset, int whence)

Updates the global shared file pointer (collective).  

MPI_File_set_atomicity(MPI_File fh, int flag)

Sets consistency semantics for data-access operations (collective).  

MPI_File_set_errhandler(MPI_File file, MPI_Errhandler errhandler)

Sets the error handler for a file. 

MPI_File_set_info(MPI_File fh, MPI_Info info)

Sets new values for hints (collective).  

MPI_File_set_size(MPI_File fh, MPI_Offset size)

Resizes a file (collective).  

MPI_File_set_view(MPI_File fh, MPI_Offset disp, MPI_Datatype etype, MPI_Datatype filetype, char *datarep, MPI_Info info)

Changes process's view of data in file (collective).  

MPI_File_sync(MPI_File fh)

Makes semantics consistent for data-access operations (collective).  

MPI_File_write(MPI_File fh, void *buf, int count, MPI_Datatype datatype, MPI_Status *status)

Writes a file starting at the location specified by the individual file pointer.  

MPI_File_write_all(MPI_File fh, void *buf, int count, MPI_Datatype datatype, MPI_Status *status)

Writes a file starting at the locations specified by individual file pointers (collective).  

MPI_File_write_all_begin(MPI_File fh, void *buf, int count, MPI_Datatype datatype)

Writes a file starting at the locations specified by individual file pointers; beginning part of a split collective routine (nonblocking).  

MPI_File_write_all_end(MPI_File fh, void *buf, MPI_Status *status)

Writes a file starting at the locations specified by individual file pointers; ending part of a split collective routine (blocking). 

MPI_File_write_at(MPI_File fh, MPI_Offset offset, void *buf, int count, MPI_Datatype datatype, MPI_Status *status)

Writes a file at an explicitly specified offset.  

MPI_File_write_at_all(MPI_File fh, MPI_Offset offset, void *buf, int count, MPI_Datatype datatype, MPI_Status *status)

Writes a file at explicitly specified offsets (collective).  

MPI_File_write_at_all_begin(MPI_File fh, MPI_Offset offset, void *buf, int count, MPI_Datatype datatype)

Writes a file at explicitly specified offsets; beginning part of a split collective routine (nonblocking). 

MPI_File_write_at_all_end(MPI_File fh, void *buf, MPI_Status *status)

Writes a file at explicitly specified offsets; ending part of a split collective routine (blocking). 

MPI_File_write_ordered(MPI_File fh, void *buf, int count, MPI_Datatype datatype, MPI_Status *status)

Writes a file at a location specified by a shared file pointer (collective).  

MPI_File_write_ordered_begin(MPI_File fh, void *buf, int count, MPI_Datatype datatype)

Writes a file at a location specified by a shared file pointer; beginning part of a split collective routine (nonblocking). 

MPI_File_write_ordered_end(MPI_File fh, void *buf, MPI_Status *status)

Writes a file at a location specified by a shared file pointer; ending part of a split collective routine (blocking). 

MPI_File_write_shared(MPI_File fh, void *buf, int count, MPI_Datatype datatype, MPI_Status *status)

Writes a file using the shared file pointer (blocking, noncollective). 

MPI_Register_datarep(char *datarep,

MPI_Datarep_conversion_function *read_conversion_fn,

MPI_Datarep_conversion_function *write_conversion_fn, MPI_Datarep_extent_function *dtype_file_extent_fn, void *extra_state)

Defines data representation.