302. Design

Up: C++ Next: C++ Classes for MPI Previous: Overview

The C++ language interface for MPI is designed according to the following criteria:

    1. The C++ language interface consists of a small set of classes with a lightweight functional interface to MPI. The classes are based upon the fundamental MPI object types (e.g., communicator, group, etc.).

    2. The MPI C++ language bindings provide a semantically correct interface to MPI.

    3. To the greatest extent possible, the C++ bindings for MPI functions are member functions of MPI classes.


Providing a lightweight set of MPI objects that correspond to the basic MPI types is the best fit to MPI's implicit object-based design; methods can be supplied for these objects to realize MPI functionality. The existing C bindings can be used in C++ programs, but much of the expressive power of the C++ language is forfeited. On the other hand, while a comprehensive class library would make user programming more elegant, such a library it is not suitable as a language binding for MPI since a binding must provide a direct and unambiguous mapping to the specified functionality of MPI. ( End of rationale.)

Up: C++ Next: C++ Classes for MPI Previous: Overview

Return to MPI-2.2 Standard Index
Return to MPI Forum Home Page

(Unofficial) MPI-2.2 of September 4, 2009
HTML Generated on September 10, 2009