Next: Utility subroutines and functions
Up: Subroutines and functions
Previous: Subroutines for broadcasting data
Current implementations do not contain support for parallel I/O
operations, since at this time there is little consensus about
how to support parallel I/O in a portable way.
It is not difficult, however, for applications to perform
a simple type of parallel I/O using the following approach.
Data can be written as follows:
- Each grid process opens a uniquely-named file.
(The filename should be generated using the
subroutine fname, described below.)
- Each grid process writes its local section to
its file using standard Fortran I/O in whatever
format the user chooses.
- If necessary, after the program completes, a separate
utility program combines the separate files (each
containing data from a single local section)
into a single file containing data from the
whole array.
Reading data is analogous; if necessary,
a separate utility program splits
a single file into separate files for the individual grid
processes.
In addition, one of our implementations contains a set of
routines for ``portable parallel I/O'', which take the above
approach but use machine-independent formats for disk data.
Two formats are provided, compressed and uncompressed.
Additional utility programs are required to translate
this machine-independent format to a standard Fortran I/O
format.
These subroutines and utility programs are briefly described
below.
For more information, communicate with the author of this document
(berna@cs.caltech.edu) or
Rajit Manohar (rajit@cs.caltech.edu).
- Subroutines to open parallel I/O files:
subroutine mesh_openwrite(filename, ifd)
subroutine mesh_openread(filename, ifd)
subroutine mesh_copenwrite(filename, ifd)
subroutine mesh_copenread(filename, ifd)
- Subroutines to write to parallel I/O files:
subroutine mesh_cwrite(ifd, array)
subroutine mesh_write(ifd, array)
- Subroutines to read from parallel I/O files:
subroutine mesh_cread(ifd, array)
subroutine mesh_read(ifd, array)
- Subroutines to close parallel I/O files:
subroutine mesh_cclose(ifd)
subroutine mesh_close(ifd)
- Program split splits a single file
(compressed or uncompressed format) into
files for use by the parallel I/O read
subroutines.
- Program merge merges files generated
by the parallel I/O write routines (compressed
or uncompressed format) into a single file.
- Programs to convert from standard formats to
the machine-independent compressed or
uncompressed format are in work.
Next: Utility subroutines and functions
Up: Subroutines and functions
Previous: Subroutines for broadcasting data
Berna L Massingill
Mon Jun 8 19:35:58 PDT 1998