Ускорение и распараллеливание MATLAB кода

Записаться на обучение

Описание курса

На курсе будут представлены различные техники ускорения вашего MATLAB кода. Вы научитесь находить и устранять узкие места в своем коде, используя техники выделения памяти и векторизации вычислений, компиляции программ в MEX, запуске кода на многоядерных CPU и GPU.Курс содержит следующие темы:
Повышение производительности встроенными средствами MATLAB
Компиляция скриптов в MEX-файлы
Распараллеливание вычислений
Вычисления на воркерах MATLAB
Запуск счета на вычислительном кластере
Использование графических процессоров для счета

Для прохождения курса требуется

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

Продолжительность

2 дня

Продукты

MATLAB Coder
Parallel Computing Toobox
MATLAB Distributed Computing Server

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

Модуль 1. Повышение производительности
Анализ производительности кода и использование различных методик для ускорения вычислений.
Нахождение бутылочного горлышка в коде
Выделение памяти для массивов
Рефакторинг алгоритмов

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

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

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

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

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

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

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

Модуль 8. Ускорение перебор параметров Simulink моделей
Векторизация и распараллеливание перебора параметров Simulink моделей, для ускорения или проведения более масштабных симуляций.
Перебор параметров Simulink модели
Работа с Simulink моделями