Создайте новую задачу в задании
t = createTask(j, F, N, {inputargs})
t = createTask(j, F, N, {C1,...,Cm})
t = createTask(..., 'p1
',v1,'p2
',v2,...)
t = createTask(...,'Profile',
'ProfileName',...)
| Объект задачи или вектор объектов задачи. |
| Задание, в котором создается объект задачи. |
| Указатель на функцию, которая вызвана, когда задача оценена, или массив указателей на функцию. |
| Количество выходных аргументов, которые будут возвращены в выполнение функции задачи. Это - двойное, или массив удваивается. |
| Массив ячейки строки, задающий входные параметры, которые будут переданы функциональному |
| Массив ячеек массивов ячеек, задающих входные параметры к каждой из задач |
| Свойства объекта задачи сконфигурированы при создании объекта. |
| Начальные значения для соответствующих свойств объекта задачи. |
t = createTask(j, F, N, {inputargs})
создает новый объект задачи в задании j
и возвращает ссылку, t
, к добавленному объекту задачи. Эта задача выполняет функцию, заданную указателем на функцию или именем функции F
, с данными входными параметрами {inputargs}
, возвращая выходные аргументы N
.
t = createTask(j, F, N, {C1,...,Cm})
использует массив ячеек массивов ячеек m
, чтобы создать объекты задачи m
в задании j
и возвращает вектор, t
, ссылок на новые объекты задачи. Каждая задача выполняет функцию, заданную указателем на функцию или именем функции F
. C1
массива ячеек предоставляет входные параметры первой задаче, C2
к второй задаче, и так далее, так, чтобы была одна задача на массив ячеек. Каждая задача возвращает выходные аргументы N
. Если F
является массивом ячеек, каждый элемент F
задает функцию для каждой задачи в векторе; это должно иметь элементы m
. Если N
является массивом, удваивается, каждый элемент задает количество выходных аргументов в пользу каждой задачи в векторе. Поддерживаются многомерные матрицы входных параметров F
, N
и {C1,...,Cm}
; если массив ячеек используется для F
или двойного массива для N
, его размерности должны совпадать с теми из массива ячеек входных параметров массивов ячеек. Вывод t
будет вектором с тем же числом элементов как {C1,...,Cm}
. Обратите внимание на то, что, потому что связывающееся задание имеет только одну задачу, эта форма векторизованного создания задачи не подходит для таких заданий.
t = createTask(..., '
добавляет объект задачи с заданными значениями свойств. Для списка допустимых свойств созданного объекта смотрите страницу ссылки на объект p1
',v1,'p2
',v2,...)parallel.Task
. Имя свойства должно быть вектором символов со значением, являющимся соответствующим типом для того свойства. Значения, заданные в этих парах значения свойства, заменяют значения в профиле. Если недопустимое имя свойства или значение свойства будут заданы, объект не будет создан.
t = createTask(...,'Profile',
'ProfileName',...)
создает объект задачи со значениями свойств, заданными в кластерном профиле ProfileName
. Для получения дополнительной информации об определении и применении кластерных профилей, смотрите, Обнаруживают Кластеры и Профили Кластера Использования.
Создайте объект задания.
c = parcluster(); % Use default profile
j = createJob(c);
Добавьте объект задачи, который генерирует 10 10 случайную матрицу.
t = createTask(j, @rand, 1, {10,10});
Запустите задание.
submit(j);
Ожидайте задания, чтобы закончить запуститься и получать вывод от оценки задачи.
wait(j); taskoutput = fetchOutputs(j);
Покажите 10 10 случайную матрицу.
disp(taskoutput{1});
Этот пример создает задание с тремя задачами, каждая из которых генерирует 10 10 случайную матрицу.
c = parcluster(); % Use default profile
j = createJob(c);
t = createTask(j, @rand, 1, {{10,10} {10,10} {10,10}});
Этот пример создает задачу, которая получает дневник рабочего, независимо от установки в профиле.
c = parcluster(); % Use default profile j = createJob(c); t = createTask(j,@rand,1,{10,10},'CaptureDiary',true);