Вызов MPI_INIT
или MPI_THREAD_INIT
из любого языка
инициализирует MPI для выполнения на всех языках.
Совет пользователям:
Некоторые реализации используют (inout) аргументы argc
, argv
версии MPI_INIT
для Си/С++ , чтобы размножить
значения для argc
и argv
ко всем выполняющимся процессам.
Использование версии
ФОРТРАН MPI_INIT
, чтобы инициализировать MPI может
приводить к потере этой способности. []
Функция MPI_INITIALIZED
возвращает тот же самый ответ на всех
языках.
Функция MPI_FINALIZE
завершает среды MPI для всех языков.
Функция MPI_FINALIZED
возвращает тот же самый ответ на всех языках.
Функция MPI_ABORT
уничтожает процессы, независимо от языка,
используемого вызывающей программой или уничтоженными процессами.
Среда MPI инициализируется MPI_INIT
тем же самым способом для
всех языков. Например,
MPI_COMM_WORLD
несет ту же самую
информацию независимо от языка: те же самые процессы, те же самые атрибуты
окружающей среды, те же самые обработчики ошибки.
Совет пользователям: Использование нескольких языков в одной программе MPI может требовать использования специальных опций во время компилирования и/или редактирования. []
Совет разработчикам: Реализации могут выборочно связать библиотеки MPI, специфичные для языка, только с кодами, которые нуждаются в них, чтобы не увеличить размер бинарных файлов для кодов, которые используют только один язык. Код инициализации MPI должен выполнить инициализацию для языка, только если загружена библиотека этого языка. []