Выложил заголовочный файл для FreePascal библиотеки MPICH.
https://github.com/VadimAnIsaev/FreePascal-MPI
теперь и мы можем во всю калякать многопроцессные приложения.
Старый заголовочный файл, который прилагался к этой статье:
http://www.freepascal.ru/article/raznoe/20051207110629
к сожалению неработоспособен. Там нужны небольшие правки для его исправления. Я решил сделать новый модуль.
Делался на основе последней версии MPICH - 3.3. Пока что включены только те функции, которые начинаются с префикса "MPI_", т.е. по которым написаны все без исключения учебники. Остальное будет по мере возникновения необходимости.
Пока не включил туда функции по работе с файлами. По сравнению с предыдущими версиями тип данных, на основе которого работают эти функции, стал ужасно сложным. Раньше он был просто тип Integer, а сейчас это очень сложная разветвлённая конструкция из нескольких типов RECORD, один из которых содержит пару десятков функций. Пока что не вижу в этой фиче необходимости, поэтому доделаю по мере того, как будет на это время.
Для *NIX библиотеку mpich можно установить из репозитория вашей ОС. Для Windows её нужно взять со странички Microsoft:
https://docs.microsoft.com/en-us/messag ... rosoft-mpi
т.к. сама MPICH бинарную библиотеку для винды не делает. Я пробовал скомпилировать из исходников - не получилось. Ошибка на стадии запуска скрипта configure.
Так же по первой ссылке есть парочки примеров:
- классический HelloWorld;
- расчёт числа PI.
Потом ещё что-нибудь из примерчиков выложу.
Модуль пока что на 100% не протестирован. Если кто-то возьмётся и будет писать сюда замечания - будет отлично...
В недалёком будущем на нашем сайте появится статья про это дело...