Использование Parallel Computing Toolbox для ускорения MATLAB и Simulink с использованием дополнительных ресурсов CPU и GPU
Использование Parallel Computing Toolbox для ускорения MATLAB и Simulink с использованием дополнительных ресурсов CPU и GPU

Что входит в курс:

  • Увеличение производительности;
  • Ускорение вычислений;
  • Распараллеливание по задачам;
  • Работа с большими данными;
  • Распараллеливание по данным;
  • Масштабирование на большие параллельные системы.

Предварительная подготовка:

Для прохождения курса требуется предварительное прохождение курса "MATLAB для профессионалов", либо эквивалентный опыт в MATLAB.

Продолжительность курса - 2 дня.

Использование Parallel Computing Toolbox для ускорения MATLAB и Simulink с использованием дополнительных ресурсов CPU и GPU
Использование Parallel Computing Toolbox для ускорения MATLAB и Simulink с использованием дополнительных ресурсов CPU и GPU

Программа

  • Увеличение производительности
  • Ускорение вычислений
  • Распараллеливание по задачам
  • Работа с большими данными
  • Распараллеливание по данным
  • Масштабирование на большие параллельные системы

Увеличение производительности

Знакомство с параллельным запуском кода MATLAB на нескольких сессиях MATLAB. Акцент на интерактивные техники параллельного прототипирования. Обзор тем курса.

  • Оценка производительности;
  • Распределенный код;
  • Дополнительные сессии MATLAB;
  • Параллельные циклы for;
  • Измерение скорости вычислений;
  • Использование аппаратных ресурсов.

Ускорение вычислений

Краткое изложение основных шагов для запуска параллельных вычислений в пакетном режиме. Сделан упор на взаимодействие с различными объектами Parallel Computing Toolbox по созданию и запуску заданий в пакетном режиме.

  • Профили кластеров;
  • Создание задания;
  • Создание задачи;
  • Отправка задания на расчет;
  • Запрос результатов.

Распараллеливание по задачам

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

  • Разбиение параллельной задачи;
  • Разбиение входных данных;
  • Объединение вызовов функций;
  • Выравнивание загрузки;
  • Соображения относительно использования циклов parfor;
  • Классификация переменных для циклов parfor;
  • Приложения, параллельные по задачам и по данным.

Работа с большими данными

Работа с массивами в параллельной среде в параллельных алгоритмах. Разделение больших наборов данных на несколько сессий MATLAB. А также одновременное выполнение одинаковых операций на разных их частях. Завершением будет запуск кода-прототипа в пакетном режиме

  • Модель «Одна программ, много данных» (SPMD);
  • Классификация переменных (частная, дублированная, вариантная);
  • Распределенные массивы;
  • Составные массивы;
  • Функции, параллельные по данным;
  • Создание со-распределенных массивов;
  • Индексация со-распределенных массивов.

Распараллеливание по данным

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

  • Дробление данных;
  • Параллельная топология;
  • Отправка и получение данных;
  • Отправка сообщающихся заданий на расчет;
  • Групповое взаимодействие;
  • Синхронизация;
  • Взаимная блокировка;
  • Глобальные операции.

Масштабирование на большие параллельные системы

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

  • Компоненты системы;
  • Соединение с удаленным кластером;
  • Динамическое лицензирование;
  • Присоединенные файлы;
  • Задание путей;
  • Процесс разработки и отладки;
  • Масштабируемость приложений.