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

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

  • Повышение производительности внутри MATLAB;
  • Генерация MEX-файлов;
  • Распараллеливание вычислений;
  • Выгружаемое исполине задачи;
  • Работа с кластером;
  • Вычисления на GPU.

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

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

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

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

Программа курса

День 1

  • Повышение производительности
  • Генерация MEX-файлов
  • Распараллеливание вычислений

День 2

  • Распараллеливание цикла for 
  • Выгружаемое исполнение задачи
  • Работа с кластером 
  • Вычисления на GPU

Опциональный модуль

  • Ускорение перебора параметров Simulink моделей.

Повышение производительности

Анализ производительности кода и использование различных методик для ускорения вычислений.

  • Нахождение булочного горлышка в коде;
  • Выделение памяти для массивов;
  • Рефакторинг алгоритмов.

Генерация MEX-файлов

Генерация скомпилированного кода из алгоритмов MATLAB для повышения производительности.

  • Знакомство с MATLAB Coder и рабочим процессом по генерации MEX-файлов;
  • Генерация и верификация MEX-файлов;
  • Вызов неподдерживаемых функций;
  • Настройка параметров для генерации MEX-файлов.

Распараллеливание вычислений

Распараллеливание выполнения кода для получения ускорения при использовании многоядерных процессоров. 

  • Запуск дополнительных MATLAB-процессов;
  • Распараллеливание цикла for;
  • Измерение прироста скорости;
  • Параллельная обработка нескольких файлов.

Распараллеливание цикла for

Более детально рассматривается распараллеливание цикла for, и методики по переводу цикла for в parfor цикл 

  • Условия для распараллеливания цикла for;
  • Распараллеливание цикла for;
  • Получение промежуточных результатов.

Выгружаемое исполнение задачи

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

  • Хранение данных в виде таблиц;
  • Операции с таблицами;
  • Извлечение данных из таблиц;
  • Изменение таблиц.

Работа с кластером

Ускорение вычислений используя несколько компьютеров  

  • Локальный и удаленный кластер;
  • Динамическое лицензирование;
  • Обнаружение и подключение к кластеру ;
  • Доступ к файлам.

Вычисления на GPU

Запуск MATLAB кода на видеокарте GPU вашего компьютера, опции по повышению производительности.  

  • Знакомство с архитектурой и вычислениями на GPU;
  • Приложения подходящие для обработке на GPU;
  • Вызов MATLAB функций на GPU;
  • Использование существующего CUDA кода.