https://github.com/VadimAnIsaev/FreePascal-MPI
Выложены модули для работы с двумя популярными библиотеками MPI: MPICH и OpenMPI.
Эти модули разрабатывались для курсов параллельного программирования тех университетов, где программирование преподаётся с помощью языка Паскаль. Дабы студентам не пришлось учить второй язык и тем самым окончательно ополоумить.
Теоретически модули работают. По крайней мере тестовые программы в каталогах "examples" компилируются, запускаются и выполняют то, что нужно. Это даёт надежду, что все учебные программы, которые даются на курсах по параллельному программированию тоже будут работать, если их перекалякать в паскалевский код. Однако протестировать все функции MPI у меня нет технических возможностей.
Зачем нужны эти модули?
На нашем сайте когда-то очень давно была выложена статья Распределенные вычисления на FreePascal под Windows. Однако её использование сейчас невозможно.
1) Тот модуль "mpi.pp", который там предлагается, прекрасно компилируется, но не работает. Для исправления его нерабочести вполне достаточно заменить значение константы MPI_COMM_WORLD с 91 на $44000000 и все учебные примеры начнут работать. Но...
2) Этот модуль может работать исключительно с библиотекой MPICH исключительно для Windows. И если "виндознутость" модуля поправить очень легко, то проблему совместимости с OpenMPI решить не удасться вообще. Дело в том, что структуры данных в OpenMPI кардинально отличаются от структур в MPICH.