Различный MPI использования основывается на системах UNIX

Создайте MPI

На Linux® и операционных системах Macintosh, можно использовать сборку MPI, которая отличается от того, которому предоставляют Parallel Computing Toolbox™. Эта тема обрисовывает в общих чертах шаги для создания сборки MPI для использования с типовым интерфейсом планировщика. Если вы уже имеете альтернативную сборку MPI, продолжаете Использовать Свою Сборку MPI.

  1. Распакуйте источники MPI в систему конечного файла на вашей машине. Например, предположите, что вы загрузили mpich2-distro.tgz и хочу распаковать его в /opt для создания:

    # cd /opt
    # mkdir mpich2 && cd mpich2
    # tar zxvf path/to/mpich2-distro.tgz
    # cd mpich2-1.4.1p1
  2. Создайте свой 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 готова, этот этап подсвечивает шаги, чтобы использовать ее с типовым планировщиком. Чтобы получить ваш кластер, работающий с различной сборкой MPI, выполните эти шаги.

  1. Протестируйте свою сборку путем выполнения 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
  2. Создайте 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/mpi. (Передающий mpiLibConf.m когда прикрепленный файл с этой целью не работает. Можно получить mpiLibConf.m функция на пути рабочего или перемещением файла в папку на пути, или при наличии планировщика используют cd в его команде так, чтобы это запустило рабочего MATLAB® из папки, которая содержит функцию.)

  3. Определите необходимых демонов и параметры командной строки.

    • Определите всех необходимых демонов (часто что-то как mpdboot или smpd). gforker создайте пример в этом использовании раздела MPI, которому не нужны никакие сервисы или демоны, работающие на кластере, но это может использовать только локальную машину.

    • Определите правильные параметры командной строки, чтобы передать mpiexec.

  4. Чтобы настроить ваш кластер, чтобы использовать вашу новую сборку MPI, измените свой скрипт обертки задания передачи, чтобы взять правильный mpiexec. Кроме того, может быть этап в скрипте обертки, где демоны диспетчера процессов MPI запускаются.

    Связывающийся скрипт обертки задания должен:

    • Определите, какие узлы выделяются планировщиком.

    • Запустите требуемые процессы демона. Например, для диспетчера процессов MPD это означает вызывать "mpdboot -f <nodefile>".

    • Задайте который mpiexec исполняемый файл, чтобы использовать для начинающих рабочих.

    • Остановите процессы демона. Например, для диспетчера процессов MPD это означает вызывать "mpdallexit".

    Для примеров связывающихся скриптов обертки задания см. Демонстрационные Сменные Скрипты (Parallel Computing Toolbox).