A call to MPI_INIT or MPI_THREAD_INIT, from any language, initializes MPI for execution in all languages.
Advice to users.
Certain implementations use the (inout) argc, argv arguments of the
C/C++ version
of MPI_INIT in order to propagate values for argc and
argv to all
executing processes.
Use of the Fortran
version of MPI_INIT to initialize MPI may result in a loss
of this ability.
( End of advice to users.)
The function MPI_INITIALIZED returns the same answer in all languages.
The function MPI_FINALIZE finalizes the MPI environments for all languages.
The function MPI_FINALIZED returns the same answer in all languages.
The function MPI_ABORT kills processes, irrespective of the language used by the caller or by the processes killed.
The MPI environment is initialized in the same manner for all languages by MPI_INIT. E.g., MPI_COMM_WORLD carries the same information regardless of language: same processes, same environmental attributes, same error handlers.
Information can be added to info objects in one language and retrieved in another.
Advice to users.
The use of several languages in one MPI program may require the use
of special options at compile and/or link time.
( End of advice to users.)
Advice
to implementors.
Implementations may selectively link language specific MPI libraries
only to codes that need them, so as not to increase the size of
binaries for codes that use only one language.
The MPI initialization code need perform initialization for a language
only if that language library is loaded.
( End of advice to implementors.)