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