Форма поиска

 
    HomeMLPC: Параллельные вычисления в MATLAB

MLPC: Параллельные вычисления в MATLAB


С 22 по 23 апреля в Ресурсном центре "Вычислительный центр СпбГУ" под руководством сотрудников компании Softline будет проходить курс по параллельным вычислениям в MATLAB. 

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

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

Курс Основы работы в MATLAB или аналогичных опыт.

Чему вы научитесь Работа с MATLAB pool.

  • Ускорение вычислений.
  • Программирование параллельных задач.
  • Работать с большими массивами данных.
  • Увеличение масштаба с помощью множественных систем.
  • Установка и устранение неполадок (опционально)
  • Планировщики (опционально)

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


Модуль 1. Введение.

  • Краткий обзор The MathWorks и MATLAB.
  • Обсуждение материалов курса, рабочей среды и логистики.
  • Обзор основных тем курса.

Модуль 2. Работа с MATLAB pool.

В этом модуле представлен параллельный подход к работе кода MATLAB через использование нескольких сеансов MATLAB. Выделяются интерактивные методы прототипирования в параллельной среде. Также в данном модуле вводятся несколько новых идей, которые планируется изучить в процессе обучения.

  • Оценка производительности.
  • Распространение кода. 
  • Дополнительные сессии MATLAB.
  • Параллельные операторы for-loop.
  • Оценка ускорения.
  • Использование оборудования.
  • Запуск в пакетном режиме.

Модуль 3. Ускорение вычислений.

В данном модуле описаны основные этапы выполнения параллельных вычислений в пакетной среде. Акцент делается на взаимодействие с различными объектами Parallel Computing Toolbox для создания и выполнения заданий, которые выполняются пакетно.

  • Терминология.
  • Планировщики.
  • Пользовательские конфигурации.
  • Иерархия объектов.
  • Создание работ.
  • Оценка производительности.

Модуль 4. Программирование параллельных задач.

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

  • Декомпозиция задачи параллельных вычислений.
  • Параллельное чтение из файлов.
  • Разделенный ввод. 
  • Объединение вызовов. 
  • Файлы, отображенные в памяти. 
  • Рассмотрение parfor-циклов.
  • Приложения с параллельными данными и параллельными задачами.

Модуль 5. Работа с большими наборами данных.

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

  • Терминология параллельных вычислений.
  • Типы массивов.
  • Смешанные  массивы.
  • Распределенные массивы.
  •  Создание распределенных массивов.
  •  Использование распределенных массивов.
  • Индексация в распределенных массивах.
  • Запуск в пакетном режиме.

Модуль 6. Программирование параллельных данных.

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

  • Message Passing Interface (MPI). 
  • Отправка / получение данных.
  • Коллективное общение.
  • Глобальные операции.
  • Параллельные модели.
  • Тупики.
  • Синхронизация.
  • Параллельные топологии.
  • Систолические архитектуры.

Модуль 7. Увеличение масштаба с помощью множественных систем.

Этот модуль демонстрирует инструменты для объединения потенциала множественных систем в сети для выполнения кода. Уделяется внимание приемам работы с разнородными системами, а также специальным функциям, доступные в полной кластерной системе.

  • Компоненты системы.
  • Доступ к другим планировщикам.
  • Планировщики.
  • Динамическое лицензирование.
  • Зависимость файлов и путей.
  • Состояния работ и задач.
  • Функции вызовов.
  • Динамически распределенные приложения.
  • Разработка / отладка процесса.
  • Проблемы производительности.

Модуль 8. Установка и устранение неполадок (дополнительно).

Этот модуль ориентирован на системных администраторов и лиц, ответственных за установку и техническое обслуживание кластера. В этом модуле рассматривается установка продукта, а также рекомендации  по тестирования и устранению неполадок.

  • Варианты установки.
  • Установка и запуск MDCE сервисов.
  • Начало работы с Job Manager.
  • Запуск работников.
  • Выход из системы.
  • Дополнительные опции установки.
  • MDCE по умолчанию.
  • Пользовательские конфигурации.
  • Тестирование и поиск неисправностей.

Модуль 9. Планировщики (дополнительно)

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

  • Обзор планировщиков.
  •  Сторонние планировщики.
  •  Пользовательские конфигурации.
  •  Функция Submit.
  •  Функция Decode.
  •  Подтверждение работ.

 Курс подготовлен и читается специалистами Учебного центра Softline


Важная информация


Слушатели должны обладать базовыми навыками программирования в MATLAB.

Срок подачи заявлений на участие: до 11 апреля 2013г включительно.

Участие бесплатное.

Место проведения занятий: РЦВЦ,  Ст. Петергоф, ул. Ульяновская, дом 1 (Здание НИИ физики), первый этаж, помещение 116.

Контактное лицо: Николай Южанин yuzhanin@cc.spbu.ru ,+7(812)428-46-83