поддерживаю выше заданые вопросы
|
Авторы: Константин Баркалов, Владимир Воеводин, Виктор Гергель, Евгений Козинов, Александр Кудин, Валентина Кустикова, Алексей Линев, Иосиф Мееров, Алексей Сиднев, Александр Сысоев | Нижегородский государственный университет им. Н.И.Лобачевского
Форма обучения:
дистанционная
Стоимость самостоятельного обучения:
бесплатно
Доступ:
свободный
Документ об окончании:
Вам нравится? Нравится 148 студентам
Уровень:
Специалист
Длительность:
21:05:00
Студентов:
1754
Выпускников:
197
В рамках курса рассматриваются математические основы параллельных вычислений, архитектурные аспекты параллелизма, поддержка параллелизма в ОС, основные технологии параллельных вычислений. Рассматриваются основные ошибки, возникающие при разработке параллельных программ, приводятся способы их решения с помощью инструментов Intel. Рассматривается использование полученных знаний на примере классических разделов численных методов.
Решение огромного количества задач стало возможным благодаря повсеместному внедрению многоядерных архитектур, а также возрастанию числа вычислительных кластеров. Вычислительные мощности растут, одни задачи решаются, появляются другие, более сложные и трудоемкие. Для решения задач, в которых требуется грамотно использовать потенциал платформы, используемой для их решения, необходимы квалифицированные специалисты, которые обладали бы знаниями как в прикладных областях, так и в области параллельного программирования.
Специальности: Программист
Теги: Intel Parallel Studio, высокопроизводительные вычисления, кластеры, многозадачность, распараллеливание
План занятий
Занятие
Заголовок <<
Дата изучения
Лекция 1
30 минут
Математические основы параллельных вычислений
В лекции рассматриваются графовые модели программ, понятия информационной зависимости и избыточности вычислений. Рассматриваются виды параллелизма в зависимости от параллельной структуры программы. Также затрагиваются вопросы эквивалентных преобразований программ.
Оглавление
-
Лекция 2
1 час 11 минут
Архитектурные аспекты параллелизма
В лекции приводится классификация архитектур ВС, рассказывается о конвейеризации и ее основных принципах. Освещаются некоторые вопросы статической конвейеризации и динамического планирования. Рассматривается архитектура векторного конвейера, модели многопоточных процессоров. Рассматриваются многопроцессорные системы с общей шиной памяти, массивно-параллельные, кластерные системы.
Оглавление
-
Лекция 3
1 час 28 минут
Операционные системы - аспекты параллелизма
В лекции вводятся понятия "процесс" и "поток", рассказывается о дескрипторе потока, этапах создания и завершения процесса. Рассматриваются применяемые алгоритмы планирования (невытесняющие и вытесняющие), описываются критерии их оценки. Вводится понятие синхронизации, рассматривается аппаратная поддержка решения задачи взаимного исключения (ЗВИ): запрещение прерываний, использование разделяемых переменных (Алгоритм Петерсона), использование специальных команд ЦП. Вводятся понятия "семафор", "мьютекс", приводится их реализация в Win32.
Оглавление
-
Лекция 4
2 часа 9 минут
Введение в технологии параллельного программирования (OpenMP)
Лекция посвящена рассмотрению технологии OpenMP как стандарта параллельного программирования для систем с общей памятью. Рассматриваются основные принципы организации параллелизма, директивы компилятора, возможности распределения между потоками, синхронизации.
Оглавление
-
Лекция 5
2 часа 20 минут
Введение в технологии параллельного программирования (MPI)
Лекция посвящена рассмотрению технологии MPI как стандарта параллельного программирования для систем с распределенной памятью. Рассматриваются основные режимы передачи данных. Вводятся такие понятия, как группы процессов и коммуникаторы. Рассматриваются основные типы данных, операции "точка-точка", коллективные операции, операции синхронизации и измерения времени.
Оглавление
-
Лекция 6
1 час 54 минуты
Введение в использование инструментов для параллельного программирования на примере пакета Intel Parallel Studio
В лекции вводится понятие ошибки, рассматриваются основные типы ошибок в параллельных программах, проблемы поиска и устранения ошибок в параллельных программах. Характеризуются возможности инструментов отладки параллельных программ: Intel Thread Checker, Intel Parallel Inspector. Вводится понятие профилирования, критического пути, анализируются проблемы производительности, определяемые при помощи профилирования. Рассматриваются инструменты оценки эффективности параллельных программ: Intel Thread Profiler, Intel Parallel Amplifier.
Оглавление
-
Лекция 7
6 часов 12 минут
Умножение разреженных матриц
В лекции рассматриваются типовые алгоритмы, применяемые в работе с плотными и разреженными матрицами. Рассказывается о некоторых форматах хранения этих матриц. Рассматриваются основные свойства матриц, методы решения СЛАУ, прямые и итерационные методы.
Оглавление
-