Опубликована: 29.03.2013 | Уровень: для всех | Стоимость: 490.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 часов 12 минут
              Умножение разреженных матриц
              В лекции рассматриваются типовые алгоритмы, применяемые в работе с плотными и разреженными матрицами. Рассказывается о некоторых форматах хранения этих матриц. Рассматриваются основные свойства матриц, методы решения СЛАУ, прямые и итерационные методы.
              Оглавление
                -
                Тест 6
                12 минут
                -
                Дополнительный материал 1
                30 минут
                Intel-VTune-Amplifier-XE-2013
                Оглавление
                  -
                  Дополнительный материал 2
                  24 минуты
                  -
                  Дополнительный материал 3
                  30 минут
                  -
                  Дополнительный материал 4
                  23 минуты
                  -
                  Дополнительный материал 5
                  17 минут
                  -
                  Дополнительный материал 6
                  27 минут
                  -
                  Дополнительный материал 7
                  24 минуты
                  -
                  Дополнительный материал 8
                  23 минуты
                  -
                  5 часов
                  -