MPI - MPICH+OpenMPI

Планы, идеология, архитектура и т.п.

Модератор: Модераторы

Ответить
Vadim
долгожитель
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

MPI - MPICH+OpenMPI

Сообщение Vadim »

https://github.com/VadimAnIsaev/FreePascal-MPI

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

Re: MPI - MPICH+OpenMPI

Сообщение Alex2013 »

PasMP - a parallel-processing/multi-processing library for Object Pascal
:arrow: https://github.com/BeRo1985/pasmp
Vadim
долгожитель
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Re: MPI - MPICH+OpenMPI

Сообщение Vadim »

Alex2013
А Вы мне зачем эту ссылку кинули? :D
Alex2013
долгожитель
Сообщения: 3211
Зарегистрирован: 03.04.2013 11:59:44

Re: MPI - MPICH+OpenMPI

Сообщение Alex2013 »

Мне показалось что это Библиотека на ту же (или похожую ) тему ... и вроде в отличии от предложной в шапке РАБОЧАЯ ! :idea: Или я что-то перепутал ? :roll:
Vadim
долгожитель
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Re: MPI - MPICH+OpenMPI

Сообщение Vadim »

Alex2013 писал(а):Или я что-то перепутал ?

Да так, самую малость... :D
Та ссылка, что Вы дали - это многопоточные приложения, т..е. приложения, которые действуют исключительно в рамках одного адресного пространства. MPI - это принципиально иная технология. Там запускается большое количество процессов, каждый из которых работает в собственном адресном пространстве. Естественно, запускать их на одном компе большого смысла не имеет, поэтому их поле деятельности - вычислительные кластеры с сотнями и тысячами увязанных в одну (желательно высокоскоростную) сеть. К примеру, если у Вас есть корзина для блэйд-серваков HP C7000 с 16 блэйдами, то многопоточное приложение можно запустить только на одном серваке. Это, при максимальной везухе, 2х64 гипертрейдинговых потока. Дальнейшее распоточивание скорости не прибавляет (в лучшем случае). А вот MPI - это 2х16 (по числу серваков) и, в случае многопоточности, ещё умножить на 32 ядра. Т.е. что у нас получается - 32 процесса х 32/64 потока итого 1024/2048 вычислителя (MPI) вместо 64 (multithreading). ;-)
Alex2013
долгожитель
Сообщения: 3211
Зарегистрирован: 03.04.2013 11:59:44

Re: MPI - MPICH+OpenMPI

Сообщение Alex2013 »

Ух ! "Хорошо иметь кластер в деревне !"() По мотивам рекламы.
:wink:
Зы
И что студентам есть где "поиграться" на реальном "MPI железе" ? Или просто обычную локалку напрягают ? :roll:
Vadim
долгожитель
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Re: MPI - MPICH+OpenMPI

Сообщение Vadim »

Alex2013 писал(а):И что студентам есть где "поиграться" на реальном "MPI железе" ? Или просто обычную локалку напрягают ?

Сейчас студентов вообще не сильно напрягают. :D Впрочем, если у студента есть мозги, до идеи локалки он сам дойдёт. Правда у некоторых универов кластеры доступны, так что не всё так плохо. :-)
Я, для экспериментов, делал свой собственный кластер на аналогах RaspberryPi. :-)
Кстати говоря, локалку в качестве кластера, используют не только студенты. К примеру в институте проблем химфизики в Черноголовке, кластер как раз на локалке сделан. По крайней меры был ещё недавно. Надо сказать, что скоростная сеть типа InfiniBand штука крайне дорогая, так что сами понимаете, науке тут не сильно светит. Хотя ситуация сейчас меняется в лучшую сторону. Уже сделано несколько проектов на основе сети "Ангара", там бабосиков меньше надо...
Alex2013
долгожитель
Сообщения: 3211
Зарегистрирован: 03.04.2013 11:59:44

Re: MPI - MPICH+OpenMPI

Сообщение Alex2013 »

Ух ты! Как по заказу !"Кластер на чипе"...
"500-ядерный процессор с сетевой архитектурой связи между асинхронными ядрами " ,
https://zen.yandex.ru/media/novosti_i_f ... 00b1033954
https://maltsystem.ru/ru/news/288-mpw-500cores
Идея что называется "летала воздухе" хотя разумеется костыль это еще тот ... Но представьте "Мета кластер " из MALT-Cv2 или похожих на него камней. :idea: :roll:
Зы
Студентам есть где порезвится (Павда на С++ но можно сделать не сложный транслятор кода pas2c++)
https://maltsystem.ru/ru/malt-sw/compiler
Зы Зы
Интересно это тупой эмулятор или там реальный прототип MALT-Cv2 в онлайн доступе ?
(Что мало вероятно ... но вдруг ! :wink: )
Vadim
долгожитель
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Re: MPI - MPICH+OpenMPI

Сообщение Vadim »

Alex2013 писал(а):Идея что называется "летала воздухе" хотя разумеется костыль это еще тот ...

Ну, она действительно летала в воздухе - видеокарточки NVIDIA и RADEON прекрасно показали, что проще и дешевле делать двучиповые системы - один чип управляющий, что-нибудь вроде Xeon или, для нашего случая Байкал, а второй - счётный.
Alex2013 писал(а):Интересно это тупой эмулятор или там реальный прототип MALT-Cv2 в онлайн доступе ?

Не обязательно тупой. :D Но три конфигурации из четырёх помечены как EMU. Оставшаяся - кто ж его знает...;-)
Ответить