Программирование задания на локальном кластере

В некоторых ситуациях вам может потребоваться задать отдельные задачи задания, возможно, потому, что они могут оценивать различные функции или иметь уникально структурированные аргументы. Чтобы запрограммировать такое задание, типичный сеанс клиента Parallel Computing Toolbox™ включает шаги, показанные в следующем примере.

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

  1. Идентифицируйте кластер. Использовать parallel.defaultClusterProfile указать, что вы используете локальный кластер; и использование parcluster чтобы создать объект c для представления этого кластера. (Для получения дополнительной информации см. раздел «Создание объекта кластера».)

    parallel.defaultClusterProfile('local');
    c = parcluster();
  2. Создайте задание. Создайте j задания в кластере. (Для получения дополнительной информации см. раздел «Создание задания».)

    j = createJob(c)
  3. Создайте три задачи в рабочем j. Каждая задача оценивает sum массива, который передается как входной параметр. (Для получения дополнительной информации см. раздел «Создание задач».)

    createTask(j, @sum, 1, {[1 1]});
    createTask(j, @sum, 1, {[2 2]});
    createTask(j, @sum, 1, {[3 3]});
  4. Отправьте задание в очередь для оценки. Затем планировщик распределяет задачи задания в MATLAB® работников, которые доступны для оценки. Теперь локальный кластер может начать Работника MATLAB сеансов. (Для получения дополнительной информации см. раздел «Отправка задания в кластер».)

    submit(j);
  5. Дождитесь завершения задания, а затем получите результаты от всех задач задания. (Для получения дополнительной информации см. раздел «Выборка результатов задания».)

    wait(j)
    results = fetchOutputs(j)
    results = 
        [2]
        [4]
        [6]
  6. Удалите задание. Когда у вас будут результаты, можно навсегда удалить задание со склада планировщика.

    delete(j)