В операционных системах Linux ® и Macintosh можно использовать сборку MPI, отличающуюся от сборки, поставляемой с Parallel Computing Toolbox™. В этом разделе описываются шаги создания сборки MPI для использования с общим интерфейсом планировщика. Если у вас уже есть альтернативная сборка MPI, перейдите к разделу Использование сборки MPI.
Распакуйте источники MPI в целевую файловую систему на компьютере. Например, предположим, что вы скачали mpich2-distro.tgz и хотите распаковать его в /opt для здания:
# cd /opt # mkdir mpich2 && cd mpich2 # tar zxvf path/to/mpich2-distro.tgz # cd mpich2-1.4.1p1
Создайте MPI с помощью enable-shared (это жизненно важно, так как вы должны построить общую библиотеку MPI, двоичный совместимый с MPICH2-1.4.1p1 для R2013b в R2018b или MPICH3.2.1 для R2019a и более поздних версий). Например, следующие команды создают MPI с помощью nemesis канальное устройство и gforker пусковая установка.
#./configure -prefix=/opt/mpich2/mpich2-1.4.1p1 \ --enable-shared --with-device=ch3:nemesis \ --with-pm=gforker 2>&1 | tee log # make 2>&1 | tee -a log # make install 2>&1 | tee -a log
Когда сборка MPI будет готова, на этом этапе будут рассмотрены шаги по ее использованию с общим планировщиком. Чтобы кластер работал с другим построением MPI, выполните следующие действия.
Протестируйте сборку, запустив mpiexec исполняемый. Сборка должна быть готова к тестированию, если bin/mpiexec и lib/libmpich.so доступны в папке установки MPI.
Следуя примеру в Build MPI, /opt/mpich2/mpich2-1.4.1p1/bin/mpiexec и /opt/mpich2/mpich2-1.4.1p1/lib/libmpich.so готовы к использованию, чтобы можно было протестировать сборку с помощью:
$ /opt/mpich2/mpich2-1.4.1p1/bin/mpiexec -n 4 hostname
Создание mpiLibConf Функция (Parallel Computing Toolbox) используется для управления Parallel Computing Toolbox для использования нового MPI. Напишите свой mpiLibConf.m для возврата соответствующей информации для сборки. Например:
function [primary, extras] = mpiLibConf
primary = '/opt/mpich2/mpich2-1.4.1p1/lib/libmpich.so';
extras = {}; primary путь должен быть действительным в кластере; и ваш mpiLibConf.m файл должен быть выше на пути работников кластера, чем . (Отправка matlabroot/toolbox/parallel/mpimpiLibConf.m как прикрепленный файл для этой цели не работает. Вы можете получить mpiLibConf.m функция на рабочем пути либо путем перемещения файла в папку на пути, либо путем использования планировщика cd в своей команде, чтобы она запускала рабочий объект MATLAB ® из папки, содержащей функцию.)
Определите необходимые демоны и параметры командной строки.
Определить все необходимые демоны (часто что-то вроде mpdboot или smpd). gforker пример сборки в этом разделе использует MPI, который не нуждается в службах или демонах, запущенных в кластере, но может использовать только локальный компьютер.
Определение правильных параметров командной строки для передачи mpiexec.
Чтобы настроить кластер на использование нового построения MPI, измените сценарий оболочки передаваемого задания, чтобы выбрать правильный mpiexec. Кроме того, в сценарии оболочки может быть этап, на котором запускаются демоны менеджера процессов MPI.
Сценарий оболочки передаваемого задания должен:
Определите узлы, назначенные планировщиком.
Запустите необходимые процессы демона. Например, для менеджера процессов MPD это означает вызов "mpdboot -f <nodefile>".
Определите, какие mpiexec исполняемый для запуска работников.
Остановите процессы демона. Например, для менеджера процессов MPD это означает вызов "mpdallexit".
Примеры обмена сценариями оболочки задания см. в разделе Примеры сценариев подключаемых модулей (панель инструментов параллельных вычислений).