${message}

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

Этот двухдневный курс покрывает различные техники по ускорению вашего MATLAB кода. Вы научитесь находить и устранять узкие места в своем коде, используя техники выделения памяти и векторизации вычислений. Узнаете, как компилировать ваш MATLAB код в MEX-файлы, для ускорения вычислений, используя MATLAB Coder™. Познакомитесь с распараллеливанием циклов на много ядерных процессорах, используя Parallel Computing Toolbox™, и с возможностью масштабирования вычислений на нескольких компьютерах используя MATLAB Distributed Computing Server™, эти концепции будут рассмотрены на протяжении всего курса, на практических примерах и упражнениях.

Курс содержит следующие темы:

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

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

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


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

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

День 1

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

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

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

 

Модуль 2. Генерация MEX-файлов

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

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

 

Модуль 3. Распараллеливание вычислений

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

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

 

 

День 2

Модуль 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 моделями

 

Поделиться
*
Настоящим в соответствии с Федеральным законом № 152-ФЗ «О персональных данных» от 27.07.2006, отправляя данную форму, вы подтверждаете свое согласие на обработку персональных данных . Мы, ООО ЦИТМ "Экспонента" и аффилированные к нему лица, гарантируем конфиденциальность получаемой нами информации. Обработка персональных данных осуществляется в целях эффективного исполнения заказов, договоров и пр. в соответствии с «Политикой конфиденциальности персональных данных». * - обязательные поля