MPI-1.1 обеспечил привязки для языка ФОРТРАН77. MPI-2 сохраняет эти привязки, но они теперь интерпретируются в контексте стандарта ФОРТРАН90. MPI может все еще использоваться с большинством компиляторов ФОРТРАН77, как отмечено ниже. Когда используется термин ФОРТРАН, это означает ФОРТРАН90.
Все имена MPI имеют префикс MPI_
и все символы - заглавные
буквы. Программы не должны объявлять переменные, параметры или функции с
именами, начинающимися с префиксного MPI_
. Чтобы избежать
конфликтов с интерфейсом профилирования, программы должны также избегать
функций с префиксным PMPI_
. Это принято, чтобы избежать
возможных проверок на пересечение имен.
Все подпрограммы MPI языка ФОРТРАН имеют код возврата в последнем
аргументе. Несколько операций MPI, которые являются функциями, не
имеют аргумента кода возврата. Значение кода возврата для успешного
завершения - MPI_SUCCESS
. Другие коды ошибки зависят от
выполнения; см. коды ошибки в Главе 7 документа MPI-1 и Приложение А в
документе MPI-2.
Константы, представляющие максимальную длину строки, на единицу меньше в языке ФОРТРАН, чем в Си и С++, как рассмотрено в Разделе 4.12.9.
Указатели представлены в ФОРТРАН как INTEGER
. Двоичные
переменные имеют тип LOGICAL
.
Аргументы массива индексированы с единицы.
Привязка MPI языка ФОРТРАН в некоторых отношениях противоречит стандарту ФОРТРАН90. Эти несовместимости, например, проблемы оптимизации регистра, имеют значения для кодов пользователя, которые рассмотрены подробно в Разделе 10.2.2. Они также противоречат с языком ФОРТРАН77.
MPI_BOTTOM
,
MPI_STATUS_IGNORE
и MPI_ERRCODES_IGNORE
- не
обычные константы языка ФОРТРАН и требуют специальной реализации. См.
Раздел 2.5.4 для получения дополнительной информации.
Дополнительно, MPI противоречив с ФОРТРАН77 в ряде случаев, как отмечено ниже.
mpif.h
. На системах,
которые не поддерживают, файлы для включения, реализация должна определить
значения именованных констант.
KIND
-
параметризованные целые числа (например,
MPI_ADDRESS_KIND
и
MPI_OFFSET_KIND
), которые хранят адресную информацию. На
системах, которые не поддерживают стиль параметризованных
типов ФОРТРАН90, вместо этого должен
использоваться INTEGER*8
или INTEGER
.
MPI_ALLOC_MEM
не может
успешно использоваться в языке ФОРТРАН без расширения языка, которое
позволяет распределенной памяти быть связанной с переменной языка
ФОРТРАН.