Опубликована: 29.03.2013 | Уровень: для всех | Стоимость: 490.00 руб. | Длительность: 14 дней
В рамках курса рассматриваются математические основы параллельных вычислений, архитектурные аспекты параллелизма, поддержка параллелизма в ОС, основные технологии параллельных вычислений. Рассматриваются основные ошибки, возникающие при разработке параллельных программ, приводятся способы их решения с помощью инструментов Intel. Рассматривается использование полученных знаний на примере классических разделов численных методов.
Решение огромного количества задач стало возможным благодаря повсеместному внедрению многоядерных архитектур, а также возрастанию числа вычислительных кластеров. Вычислительные мощности растут, одни задачи решаются, появляются другие, более сложные и трудоемкие. Для решения задач, в которых требуется грамотно использовать потенциал платформы, используемой для их решения, необходимы квалифицированные специалисты, которые обладали бы знаниями как в прикладных областях, так и в области параллельного программирования.
Цель: Цель курса состоит в изложении основных понятий параллельных вычислений, достаточных для сдачи сертификационного тестирования (http://nncc.unn.ru/) начала работы в области параллельного программирования.
Необходимые знания: Предварительные знания:
При изложении учебного материала курса у обучаемых предполагается наличие общих (начальных) знаний в области параллельного программирования.
План занятий
Занятие | Заголовок << | Дата изучения |
---|---|---|
- | ||
Лекция 130 минут | Математические основы параллельных вычислений
В лекции рассматриваются графовые модели программ, понятия информационной зависимости и избыточности вычислений. Рассматриваются виды параллелизма в зависимости от параллельной структуры программы. Также затрагиваются вопросы эквивалентных преобразований программ.
Оглавление | - |
Лекция 21 час 11 минут | Архитектурные аспекты параллелизма
В лекции приводится классификация архитектур ВС, рассказывается о конвейеризации и ее основных принципах. Освещаются некоторые вопросы статической конвейеризации и динамического планирования. Рассматривается архитектура векторного конвейера, модели многопоточных процессоров. Рассматриваются многопроцессорные системы с общей шиной памяти, массивно-параллельные, кластерные системы.
Оглавление | - |
Тест 115 минут | - | |
Лекция 31 час 28 минут | Операционные системы - аспекты параллелизма
В лекции вводятся понятия "процесс" и "поток", рассказывается о дескрипторе потока, этапах создания и завершения процесса. Рассматриваются применяемые алгоритмы планирования (невытесняющие и вытесняющие), описываются критерии их оценки. Вводится понятие синхронизации, рассматривается аппаратная поддержка решения задачи взаимного исключения (ЗВИ): запрещение прерываний, использование разделяемых переменных (Алгоритм Петерсона), использование специальных команд ЦП. Вводятся понятия "семафор", "мьютекс", приводится их реализация в Win32.
Оглавление | - |
Тест 224 минуты | - | |
Лекция 42 часа 9 минут | Введение в технологии параллельного программирования (OpenMP)
Лекция посвящена рассмотрению технологии OpenMP как стандарта параллельного программирования для систем с общей памятью. Рассматриваются основные принципы организации параллелизма, директивы компилятора, возможности распределения между потоками, синхронизации.
Оглавление | - |
Тест 324 минуты | - | |
Лекция 52 часа 20 минут | Введение в технологии параллельного программирования (MPI)
Лекция посвящена рассмотрению технологии MPI как стандарта параллельного программирования для систем с распределенной памятью. Рассматриваются основные режимы передачи данных. Вводятся такие понятия, как группы процессов и коммуникаторы. Рассматриваются основные типы данных, операции "точка-точка", коллективные операции, операции синхронизации и измерения времени.
Оглавление | - |
Тест 424 минуты | - | |
Лекция 61 час 54 минуты | Введение в использование инструментов для параллельного программирования на примере пакета Intel Parallel Studio
В лекции вводится понятие ошибки, рассматриваются основные типы ошибок в параллельных программах, проблемы поиска и устранения ошибок в параллельных программах. Характеризуются возможности инструментов отладки параллельных программ: Intel Thread Checker, Intel Parallel Inspector. Вводится понятие профилирования, критического пути, анализируются проблемы производительности, определяемые при помощи профилирования. Рассматриваются инструменты оценки эффективности параллельных программ: Intel Thread Profiler, Intel Parallel Amplifier.
Оглавление | - |
Тест 524 минуты | - | |
Лекция 76 часов 12 минут | Умножение разреженных матриц
В лекции рассматриваются типовые алгоритмы, применяемые в работе с плотными и разреженными матрицами. Рассказывается о некоторых форматах хранения этих матриц. Рассматриваются основные свойства матриц, методы решения СЛАУ, прямые и итерационные методы.
Оглавление | - |
Тест 612 минут | - | |
Дополнительный материал 130 минут | Intel-VTune-Amplifier-XE-2013Оглавление | - |
Дополнительный материал 224 минуты | - | |
Дополнительный материал 330 минут | - | |
Дополнительный материал 423 минуты | - | |
Дополнительный материал 517 минут | - | |
Дополнительный материал 627 минут | Intel-Cluster-Studio-XE-2013SP1-PB-RU-082713Оглавление | - |
Дополнительный материал 724 минуты | - | |
Дополнительный материал 823 минуты | - | |
5 часов | - |