A view defines the current set of data visible
and accessible from an open file as an ordered set of etypes.
Each process has its own view of the file,
defined by three quantities:
a displacement, an etype, and a filetype.
The pattern described by a filetype is repeated,
beginning at the displacement, to define the view.
The pattern of repetition is defined to be the same pattern
that MPI_TYPE_CONTIGUOUS would produce if it were passed
the filetype and an arbitrarily large count.
Figure 25
shows how the tiling works; note
that the filetype in this example must have explicit
lower and upper bounds set in order for the initial and final holes to be
repeated in the view.
Views can be changed by the user during program execution.
The default view is a linear byte stream
(displacement is zero, etype and filetype equal to MPI_BYTE).
Figure 25: Etypes and filetypes
A group of processes can use complementary views to
achieve a global data distribution such as a scatter/gather pattern
(see Figure 26
).
Figure 26: Partitioning a file among parallel processes