This chapter
introduces MPI
features that support the development of parallel libraries.
Parallel libraries are needed to encapsulate the distracting complications
inherent in parallel implementations of key algorithms. They help to ensure
consistent correctness of such procedures, and provide a ``higher level'' of
portability than MPI itself can provide. As such, libraries prevent each
programmer from repeating the work of defining consistent data structures,
data layouts, and methods that implement key algorithms (such as matrix
operations). Since the best libraries come with several variations on
parallel systems (different data layouts, different strategies depending on
the size of the system or problem, or type of floating point), this too
needs to be hidden from the user.
We refer the reader to [26]
and [3] for further information on writing libraries in MPI , using
the features described in this chapter.
Subsections
MPI-Standard for MARMOT