N.I. Lobachevsky State University of Niznhi Novgorod

Новости
О Центре
Кластер
Обучение
Основной курс по параллельному программированию
Учебные курсы
Магистратура
Дополнительное образование
Работы студентов
Библиотека
Исследования
Конференции
Полезные ссылки
NVIDIA
Контакты
О сайте
Имя:
Пароль:
запомнить:
Забыли пароль? Регистрация

Учебные курсы

Инструменты параллельного программирования в системах с общей памятью

Данный курс модернизирован для использования в вариативной части профессионального цикла для студентов 4 курса (седьмой семестр) бакалавриата. Длительность курса 52 часа. Итоговая аттестация производится по результатам выполнения практических заданий. При проведении занятий используются компьютерные презентации и материалы для лабораторного практикума.

В курсе изучаются методы и инструментальные средства для разработки, отладки и профилировки параллельных программ, ориентированных на работу в системах с общей памятью. Рассматриваются программные пакеты Intel Thread Checker, Intel Thread Profiler, Intel Parallel Studio (Intel C/C++ Compiler, Intel Parallel Inspector, Intel Parallel Amplifier, Intel Threading Building Blocks, Intel Math Kernel Library). Демонстрируется весь цикл работ, начиная от создания последовательной реализации в качестве базы для сравнения, подготовки параллельной версии, ее отладки, профилировки и оптимизации. Изучение проводится на модельных задачах, не требующих наличия специфических знаний из конкретных предметных областей, за исключением информации, присутствующей в работе.

Курс рассчитан на преподавателей и научных сотрудников, а также аспирантов и студентов высших учебных заведений. Курс предполагает наличие у читателя базовых знаний и навыков структурного, модульного и (в разделе по использованию Intel Threading Building Blocks) объектно-ориентированного программирования. В качестве базового языка рассматривается С/С++. Многие идеи могут быть с успехом перенесены на другой язык, поддерживающий многопоточное программирование, в частности Fortran. Некоторые задачи требуют сведения из высшей математики.

Курс разработан и модернизирован в лаборатории «Информационные технологии» (ITLab) факультета Вычислительной математики и кибернетики Нижегородского государственного университета им. Н.И. Лобачевского с использованием материалов, подготовленных в рамках Приоритетного национального проекта «Образование», в рамках программы развития ННГУ как Национального исследовательского университета, а также при поддержке компании Интел. По итогам разработки первой версии курса издано учебное пособие.

Авторы курса

Сысоев Александр Владимирович

Мееров Иосиф Борисович

Сиднев Алексей Александрович

Шишков Александр Валерьевич

Корняков Кирилл Владимирович

Кустикова Валентина Дмитриевна

Материалы курса

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

Раздел 1. Введение в отладку параллельных программ в системах с общей памятью

1. Лекция. Введение в отладку параллельных программ в системах с общей памятью (doc)

1. Лекция. Введение в отладку параллельных программ в системах с общей памятью (ppt)

2. Лабораторная работа 1. Intel Thread Checker (doc)

2. Лабораторная работа 1. Intel Thread Checker (ppt)

Раздел 2. Введение в профилировку и оптимизацию по скорости параллельных программ в системах с общей памятью

3. Лекция. Введение в профилировку и оптимизацию (doc)

3. Лекция. Введение в профилировку и оптимизацию (ppt1) (ppt2)

4. Лабораторная работа 2. Intel Thread Profiler. Балансировка нагрузки (doc)

4. Лабораторная работа 2. Intel Thread Profiler. Балансировка нагрузки (ppt)

5. Лабораторная работа 3. Intel Thread Profiler. Синхронизация (doc)

5. Лабораторная работа 3. Intel Thread Profiler. Синхронизация (ppt)

Раздел 3. Разработка параллельных программ в системах с общей памятью с использованием инструментов Intel Parallel Studio и библиотек Intel Threading Building Blocks и Intel Math Kernel Library

6. Лекция. TBB (doc)

6. Лекция. TBB (ppt)

7. Лабораторная работа 4. TBB - матрично-векторное умножение (doc)

7. Лабораторная работа 4. TBB - матрично-векторное умножение (ppt)

8. Лабораторная работа 5. TBB - БПФ (doc)

8. Лабораторная работа 5. TBB - БПФ (ppt)

9. Лабораторная работа 6. IPS - Отладка, профилировка (doc)

9. Лабораторная работа 6. IPS - Отладка, профилировка (ppt)

10. Лабораторная работа 7. MKL, IPS - Монте-Карло (doc)

10. Лабораторная работа 7. MKL, IPS - Монте-Карло (ppt)

Разрабатываемые материалы

В настоящий момент разрабатываются новые лабораторные работы для включения в третий раздел курса по следующим темам:

- Вычисление определенного интеграла

- Линейные сортировки

- Оптимизация вычислений на примере вычисления БПФ

- Численное решение дифференциальных уравнений в частных производных

- Параллельные алгоритмы поиска пути на графе с использованием Intel TBB

- Алгоритмическая оптимизация и балансировка нагрузки в параллельных алгоритмах умножения разреженных матриц

- Параллельное матрично-векторное умножение с использованием Intel Array Building Blocks


<< вернуться  |   Документ от: 21.12.2010 19:04

Новости

22.10.2012
04.09.2012
05.04.2012
06.03.2012
02.03.2012