Опубликована: 29.03.2013 | Уровень: для всех | Стоимость: 3000.00 руб. | Длительность: 14 дней
В рамках курса рассматриваются математические основы параллельных вычислений, архитектурные аспекты параллелизма, поддержка параллелизма в ОС, основные технологии параллельных вычислений. Рассматриваются основные ошибки, возникающие при разработке параллельных программ, приводятся способы их решения с помощью инструментов Intel. Рассматривается использование полученных знаний на примере классических разделов численных методов.
Решение огромного количества задач стало возможным благодаря повсеместному внедрению многоядерных архитектур, а также возрастанию числа вычислительных кластеров. Вычислительные мощности растут, одни задачи решаются, появляются другие, более сложные и трудоемкие. Для решения задач, в которых требуется грамотно использовать потенциал платформы, используемой для их решения, необходимы квалифицированные специалисты, которые обладали бы знаниями как в прикладных областях, так и в области параллельного программирования.
Цель: Цель курса состоит в изложении основных понятий параллельных вычислений, достаточных для сдачи сертификационного тестирования (http://nncc.unn.ru/) начала работы в области параллельного программирования.
Необходимые знания: Предварительные знания: При изложении учебного материала курса у обучаемых предполагается наличие общих (начальных) знаний в области параллельного программирования.

План занятий

ЗанятиеЗаголовок <<Дата изучения
-
Лекция 1
30 минут
Математические основы параллельных вычислений
В лекции рассматриваются графовые модели программ, понятия информационной зависимости и избыточности вычислений. Рассматриваются виды параллелизма в зависимости от параллельной структуры программы. Также затрагиваются вопросы эквивалентных преобразований программ.
Оглавление
-
Лекция 2
1 час 11 минут
Архитектурные аспекты параллелизма
В лекции приводится классификация архитектур ВС, рассказывается о конвейеризации и ее основных принципах. Освещаются некоторые вопросы статической конвейеризации и динамического планирования. Рассматривается архитектура векторного конвейера, модели многопоточных процессоров. Рассматриваются многопроцессорные системы с общей шиной памяти, массивно-параллельные, кластерные системы.
-
Тест 1
15 минут
-
Лекция 3
1 час 28 минут
Операционные системы - аспекты параллелизма
В лекции вводятся понятия "процесс" и "поток", рассказывается о дескрипторе потока, этапах создания и завершения процесса. Рассматриваются применяемые алгоритмы планирования (невытесняющие и вытесняющие), описываются критерии их оценки. Вводится понятие синхронизации, рассматривается аппаратная поддержка решения задачи взаимного исключения (ЗВИ): запрещение прерываний, использование разделяемых переменных (Алгоритм Петерсона), использование специальных команд ЦП. Вводятся понятия "семафор", "мьютекс", приводится их реализация в Win32.
Оглавление
-
Тест 2
24 минуты
-
Лекция 4
2 часа 9 минут
Введение в технологии параллельного программирования (OpenMP)
Лекция посвящена рассмотрению технологии OpenMP как стандарта параллельного программирования для систем с общей памятью. Рассматриваются основные принципы организации параллелизма, директивы компилятора, возможности распределения между потоками, синхронизации.
-
Тест 3
24 минуты
-
Лекция 5
2 часа 20 минут
Введение в технологии параллельного программирования (MPI)
Лекция посвящена рассмотрению технологии MPI как стандарта параллельного программирования для систем с распределенной памятью. Рассматриваются основные режимы передачи данных. Вводятся такие понятия, как группы процессов и коммуникаторы. Рассматриваются основные типы данных, операции "точка-точка", коллективные операции, операции синхронизации и измерения времени.
Оглавление
-
Тест 4
24 минуты
-
Лекция 6
1 час 54 минуты
Введение в использование инструментов для параллельного программирования на примере пакета Intel Parallel Studio
В лекции вводится понятие ошибки, рассматриваются основные типы ошибок в параллельных программах, проблемы поиска и устранения ошибок в параллельных программах. Характеризуются возможности инструментов отладки параллельных программ: Intel Thread Checker, Intel Parallel Inspector. Вводится понятие профилирования, критического пути, анализируются проблемы производительности, определяемые при помощи профилирования. Рассматриваются инструменты оценки эффективности параллельных программ: Intel Thread Profiler, Intel Parallel Amplifier.
Оглавление
-
Тест 5
24 минуты
-
Лекция 7
6 часов 10 минут
Умножение разреженных матриц
В лекции рассматриваются типовые алгоритмы, применяемые в работе с плотными и разреженными матрицами. Рассказывается о некоторых форматах хранения этих матриц. Рассматриваются основные свойства матриц, методы решения СЛАУ, прямые и итерационные методы.
Оглавление
-
Тест 6
12 минут
-
Дополнительный материал 1
30 минут
-
Дополнительный материал 2
24 минуты
-
Дополнительный материал 3
30 минут
-
Дополнительный материал 4
23 минуты
-
Дополнительный материал 5
17 минут
-
Дополнительный материал 6
27 минут
-
Дополнительный материал 7
24 минуты
-
Дополнительный материал 8
23 минуты
-
5 часов
-