пакет

Запустите скрипт MATLAB или функционируйте на рабочем

Синтаксис

j = batch('aScript')
j = batch(myCluster,'aScript')
j = batch(fcn,N,{x1, ..., xn})
j = batch(myCluster,fcn,N,{x1,...,xn})
j = batch(...,'p1',v1,'p2',v2,...)

Аргументы

j

Объект пакетного задания.

'aScript'

Скрипт кода MATLAB, который будет оценен рабочим.

myCluster

Кластерный кластер представления объекта вычисляет ресурсы.

fcn

Указатель на функцию или имя функции, которое будет оценено рабочим.

N

Количество выходных аргументов от выполненной функции.

{x1, ..., xn}

Массив ячеек входных параметров к функции.

p1, p2

Свойства объектов или другие аргументы, чтобы управлять поведением задания.

v1, v2

Начальные значения для соответствующих свойств объектов или аргументов.

Описание

j = batch('aScript') запускает код скрипта файла aScript.m на рабочем в кластере, заданном кластерным профилем по умолчанию. (Примечание: не включайте расширение файла .m с аргументом имени скрипта.) Функция возвращает j, указатель на задание возражают, что запускает скрипт. Файл скрипта aScript.m копируется в рабочего.

j = batch(myCluster,'aScript') идентично batch('aScript') за исключением того, что скрипт работает на рабочем согласно кластеру, идентифицированному кластерным объектом myCluster.

j = batch(fcn,N,{x1, ..., xn}) запускает функцию, заданную указателем на функцию или именем функции, fcn, на рабочем в кластере, идентифицированном кластерным профилем по умолчанию. Функция возвращает j, указатель на задание возражают, что запускает функцию. Функция выполнена с данными аргументами, x1,...,xn, возвратив выходные аргументы N. Файл функции для fcn копируется в рабочего. (Не включайте расширение файла .m с аргументом имени функции.)

j = batch(myCluster,fcn,N,{x1,...,xn}) идентично batch(fcn,N,{x1,...,xn}) за исключением того, что функция работает на рабочем в кластере, идентифицированном кластерным объектом myCluster.

j = batch(...,'p1',v1,'p2',v2,...) позволяет дополнительные пары значения параметров, которые изменяют поведение задания. Эти параметры поддерживают пакет для функций и скриптов, если в противном случае не обозначено. Поддерживаемые параметры:

  • Рабочая область Struct 1 на 1, чтобы задать рабочую область на рабочем незадолго до скрипта называется. Имена полей struct задают имена переменных, и значения полей присвоены переменным рабочей области. По умолчанию этот параметр имеет поле для каждой переменной в текущей рабочей области, где пакет выполняется. Этот параметр поддерживает только выполнение скриптов.

  • Профиль Имя кластерного профиля раньше идентифицировало кластер. Если эта опция не использована, профиль по умолчанию используется, чтобы идентифицировать кластер и применяется к свойствам задачи и заданию.

  • 'AdditionalPaths' — Вектор символов или массив ячеек из символьных векторов, который задает пути, которые будут добавлены к пути поиска файлов MATLAB® рабочих перед скриптом или функцией, выполняются. Путь поиска файлов по умолчанию не может быть тем же самым на рабочих, как это находится на клиенте; разностью хода мог быть результат различных текущих рабочих папок (pwd), платформы или доступ к сетевой файловой системе. Свойство 'AdditionalPaths' может гарантировать, что рабочие смотрят в правильных местоположениях для необходимых файлов кода, файлов данных, образцовых файлов, и т.д.

  • 'AttachedFiles' — Вектор символов или массив ячеек из символьных векторов. Каждый вектор символов в списке идентифицирует или файл или папку, которая передается рабочему.

  • 'AutoAddClientPath' — Логическое значение (true или false), который управляет, добавляются ли пользовательские добавленные записи на пути клиента к пути каждого рабочего. Значением по умолчанию является true.

  • 'AutoAttachFiles' — Логическое значение, чтобы задать, должны ли файлы кода автоматически быть присоединены к заданию. Если true, сценарий пакетной обработки или функция анализируются и файлы кода, от которых это зависит, автоматически передаются рабочему. Значением по умолчанию является true.

  • Текущая папка Вектор символов, указывающий в том, что выполняет папка скрипт. Нет никакой гарантии, что эта папка существует на рабочем. Значением по умолчанию для этого свойства является cwd MATLAB, когда команда batch выполняется. Если аргументом является '.', нет никакого изменения в папке перед пакетным выполнением.

  • 'CaptureDiary' — Логический флаг, чтобы указать, что тулбокс должен собрать дневник из вызова функции. Смотрите, что diary функционирует для получения информации о собранных данных. Значением по умолчанию является true.

  • 'EnvironmentVariables' — Вектор символов или массив ячеек из символьных векторов, который задает имена переменных окружения, которые копируются от клиентского сеанса до рабочих. Имена, заданные здесь, добавлены к свойству 'EnvironmentVariables', заданному в применимом параллельном профиле, чтобы сформировать полный список переменных окружения. Любые переменные, перечисленные, которые не установлены, не копируются в рабочих. Эти переменные окружения будут установлены на рабочих на время пакетного задания.

  • 'Pool' — Целое число, задающее количество рабочих, чтобы превратить в параллельный пул для задания в дополнение к рабочему, запускающему само пакетное задание. Скрипт или функция используют этот пул для выполнения операторов, таких как parfor и spmd, которые являются в пакетном коде. Поскольку пул требует рабочих N в дополнение к рабочему, запускающему пакет, должны быть, по крайней мере, рабочие N+1, доступные на кластере. Вам не нужен параллельный пул, уже запускающийся, чтобы выполнить пакет; и новый пул, который создает пакет, не связан с пулом, который вы можете уже иметь открытый. (См. Выполнение Пакетное задание с Параллельным Пулом.) Значение по умолчанию 0, который заставляет скрипт или функцию работать на только одном рабочем ни с чем не сравнимый пул.

Примеры

Запустите сценарий пакетной обработки на рабочем, не используя параллельный пул:

 j = batch('script1');

Запустите сценарий пакетной обработки, который требует двух дополнительных файлов для выполнения:

j = batch('myScript','AttachedFiles',{'mscr1.m','mscr2.m'});
wait(j);
load(j);

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

 j = batch('script1','Pool',8,'CaptureDiary',true);
 wait(j);   % Wait for the job to finish
 diary(j)   % Display the diary
 load(j)    % Load job workspace data into client workspace

Запустите пакетное задание пула на локальном рабочем, который нанимает двух других локальных рабочих для пула. Отметьте, это требует в общей сложности трех рабочих в дополнение к клиенту, всем на локальной машине:

 j = batch('script1','Profile','local','Pool',2);

Очистите данные пакетного задания после того, как вы будете закончены с ними:

delete(j)

Запустите пакетную функцию на кластере, который генерирует 10 10 случайную матрицу:

c = parcluster();
j = batch(c,@rand,1,{10,10});

wait(j)   % Wait for the job to finish
diary(j)  % Display the diary

r = fetchOutputs(j); % Get results into a cell array
r{1}                 % Display result

Советы

Чтобы видеть состояние вашего пакетного задания или отследить его прогресс, используйте Монитор Задания, как описано в Мониторе Задания. Можно также использовать Монитор Задания, чтобы получить объект задания для пакетного задания, которое было создано на различном сеансе, или для пакетного задания, которое было создано, не возвращая объект задания в вызов batch.

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

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

| | | |

Введенный в R2008a