На 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.
Следуя примеру в Сборке 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, чтобы использовать ваш новый 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"
.
Для примеров связывающихся скриптов обертки задания см. Демонстрационные Сменные Скрипты (Parallel Computing Toolbox).