Запуститесь пакет параллельны заданиям

Запустите пакетное задание

Выгрузить работу из вашего MATLAB® сеанс, чтобы запуститься в фоновом режиме на другом сеансе, можно использовать batch команда в скрипте.

  1. Чтобы создать скрипт, введите:

    edit mywave
  2. В редакторе MATLAB создайте for- цикл:

    for i = 1:1024
      A(i) = sin(i*2*pi/1024);
    end
  3. Сохраните файл и закройте Редактор.

  4. Используйте batch команда в командном окне MATLAB, чтобы запустить ваш скрипт на отдельном работнике MATLAB:

    job = batch('mywave')

  5. batch не делает блока MATLAB, и можно продолжить работать, в то время как расчеты происходят. Если вам нужно с блоком MATLAB до концов задания, используйте wait функция на объекте задания.

    wait(job)
  6. После концов задания можно получить и просмотреть его результаты. load команда передает переменные, созданные на рабочем к клиентской рабочей области, где можно просмотреть результаты:

    load(job,'A')
    plot(A)
  7. Когда задание будет завершено, постоянно удалите его данные и удалите его ссылку из рабочей области:

    delete(job)
    clear job

batch запускает ваш код по локальному рабочему или кластерному рабочему, но не требует параллельного пула.

Можно использовать batch запускать или скрипты или функции. Для получения дополнительной информации смотрите batch страница с описанием.

Запустите пакетное задание с параллельным пулом

Можно объединить способности разгрузить задание и запустить цикл в параллельном пуле. Этот пример комбинирует два, чтобы создать простой пакетный parfor- цикл.

  1. Чтобы создать скрипт, введите:

    edit mywave
  2. В редакторе MATLAB создайте parfor- цикл:

    parfor i = 1:1024
      A(i) = sin(i*2*pi/1024);
    end
  3. Сохраните файл и закройте Редактор.

  4. Запустите скрипт в MATLAB с batch команда. Укажите, что скрипт должен использовать параллельный пул для цикла:

    job = batch('mywave','Pool',3)

    Эта команда указывает, что три рабочих (в дополнение к тому, запускающему сценарий пакетной обработки), должны оценить итерации цикла. Поэтому этот пример использует в общей сложности четырех локальных рабочих, включая одного рабочего, запускающего сценарий пакетной обработки. В целом существует пять вовлеченных сеансов работы с MATLAB, как показано в следующую схему.

  5. Просмотреть результаты:

    wait(job)
    load(job,'A')
    plot(A)

    Результаты выглядят одинаково как прежде, однако, в выполнении существует два важных различия:

    • Работа определения parfor- цикл и накопление его результатов разгружены к другому сеансу работы с MATLAB batch.

    • Итерации цикла распределяются от одного работника MATLAB другой группе рабочих, запускающихся одновременно ('Pool' и parfor), таким образом, цикл может запуститься быстрее, чем наличие только одного рабочего выполняет его.

  6. Когда задание будет завершено, постоянно удалите его данные и удалите его ссылку из рабочей области:

    delete(job)
    clear job

Запустите скрипт как пакетное задание от браузера текущей папки

От Браузера текущей папки можно запустить скрипт MATLAB как пакетное задание путем просмотра к папке файла, щелчка правой кнопкой по файлу и выбора Run Script as Batch Job. Пакетное задание работает на кластере, идентифицированном кластерным профилем по умолчанию. Следующий рисунок показывает пункт меню запустить файл скрипта script1.m:

При выполнении скрипта, когда пакет от браузера использует только одного рабочего от кластера. Таким образом, даже если скрипт содержит a parfor цикл или spmd блокируйтесь, это не открывает дополнительный пул рабочих в кластере. Эти блоки кода выполняются на одном рабочем, используемом для пакетного задания. Если ваш сценарий пакетной обработки требует открытия дополнительного пула рабочих, можно запустить его из командной строки, как описано в Запущенном Пакетное задание с Параллельным Пулом.

Когда вы запускаете пакетное задание от браузера, это также открывает Монитор Задания. Монитор Задания является инструментом, который позволяет вам отследить свое задание в очереди планировщика. Для получения дополнительной информации о Мониторе Задания и его возможностях, смотрите Монитор Задания.

Смотрите также

Похожие темы