20.3.1. Introduction
Up: Language Interoperability
Next: Assumptions
Previous: Language Interoperability
It is not uncommon for library developers to use one language to
develop an application library that may be called by an application program
written in a different language. MPI currently supports ISO
(previously ANSI) C and Fortran bindings. It should
be possible for applications in any of the supported languages to call
MPI-related functions in another language.
Moreover, MPI allows the development of client-server code, with MPI
communication used between a parallel client and a parallel server.
It should be possible to code the server in
one language and the clients in another language.
To do so, communications should be possible between applications
written in different languages.
There are several issues that need to be addressed in order to achieve
interoperability.
-
Initialization:
-
We need to specify how the MPI environment is
initialized for all languages.
-
Interlanguage passing of MPI opaque objects:
-
We need to specify how MPI object handles are passed between languages.
We also need to specify what happens when an MPI
object is accessed in one language, to retrieve information (e.g., attributes) set in another language.
-
Interlanguage communication:
-
We need to specify how messages sent in one language can be received
in another language.
It is highly desirable that the solution for interlanguage interoperability
be extensible to new languages, should MPI bindings be defined for
such languages.
Up: Language Interoperability
Next: Assumptions
Previous: Language Interoperability
Return to MPI-4.1 Standard Index
Return to MPI Forum Home Page
(Unofficial) MPI-4.1 of November 2, 2023
HTML Generated on November 19, 2023