2 - Институт дополнительного профессионального образования

advertisement
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ
РОССИЙСКОЙ ФЕДЕРАЦИИ
Государственное образовательное учреждение
высшего профессионального образования
Самарский государственный аэрокосмический университет
имени академика С.П. Королева
(национальный исследовательский университет)
СГАУ
«СОГЛАСОВАНО»
«УТВЕРЖДАЮ»
Начальник управления
образовательных программ
____________________ (Дорошин А.В.)
Ректор
________________ (Шахматов Е.В.)
Директор Института дополнительного
профессионального образования
________________________ (Ишков С.А.)
«____»________________2010 г.
ПАРАЛЛЕЛЬНЫЕ ВЫЧИСЛЕНИЯ
НА СУПЕРКОМПЬЮТЕРЕ
Разработчики программы повышения квалификации:
Белоусов А.И., д.т.н., профессор и Маслова А.Г., методист ИДПО СГАУ – модуль 1
«Государственная образовательная политика в области образования»
Фурсов В.А., д.т.н., профессор –модуль 2 «Параллельные вычисления»;
Попов С.Б., к.т.н., доцент – модуль – 3 «Параллельное программирование»;
Никоноров А.В., к.т.н., доцент – модуль 4 «Программирование для гетерогенных
вычислительных структур».
Составители учебно-тематического плана программы повышения квалификации:
Фурсов В.А., д.т.н., профессор,
Попов С.Б., к.т.н., доцент,
Никоноров А.В., к.т.н., доцент.
Белоусов А.И., д.т.н., профессор
Маслова А.Г., методист ИДПО СГАУ
Самара
2010
1. ОБЛАСТЬ ПРИМЕНЕНИЯ
1.1. Категории слушателей, на обучение которых рассчитана программа
повышения квалификации (далее – программа):
преподаватели
образовательных
учреждений
высшего
профессионального образования, инженеры и лаборанты УВП и аспиранты
кафедр, участвующие в учебном процессе по направлению «Информатика».
1.2. Сфера применения слушателями полученных профессиональных
компетенций, умений и знаний:
проведение
использованием
учебных
занятий
и
научные
высокопроизводительных
исследования
с
многопроцессорных
вычислительных систем, постановка курсов по высокопроизводительным
вычислениям
и
суперкомпьютерным
технологиям
для
инженерно-
технических специальностей университета.
2. ХАРАКТЕРИСТИКА ПОДГОТОВКИ ПО ПРОГРАММЕ
2.1. Нормативный срок освоения программы – 72 часа.
2.2. Режим обучения 36 часов в неделю
2.3. Форма обучения - с полным отрывом от работы
3. ТРЕБОВАНИЯ К РЕЗУЛЬТАТАМ ОСВОЕНИЯ ПРОГРАММЫ
Слушатель, освоивший программу, должен:
3.1 - обладать профессиональными компетенциями, включающими
в себя способность:
ПК
1
–
формировать
методические
разработки
с
учетом
психологических аспектов педагогики, направленные на реализацию задач
модернизации системы профессионального образования;
ПК 2 – проводить анализ параллельной структуры алгоритма,
осуществлять декомпозицию задач на подзадачи;
2
ПК 3- строить ожидаемые теоретические оценки ускорения и
эффективности параллельных программ;
ПК 4 – писать параллельные программы с использованием библиотеки
MPI и в среде OpenMP;
ПК 5 – запускать и отлаживать программы на многопроцессорной
вычислительной системе;
ПК 6 - ставить и решать сложные в вычислительном отношении задачи
из своей предметной области на многопроцессорной вычислительной
системе;
ПК 7 – иметь представление об основных принципах организации
распределенных вычислений на гетерогенных многопроцессорных системах;
ПК 8 - использовать имеющиеся в открытом доступе в сети интернет
библиотеки параллельных программных модулей для решения типовых задач
(решение систем линейных уравнений, сеточные методы и др.).
3.2 - владеть:
- методами анализа моделей алгоритмов с целью выявления взаимно
независимых вычислительных потоков;
- методиками подготовки инженерно-технических задач к решению на
суперкоомпьютере;
-
технологиями удаленного доступа к вычислительным ресурсам
суперкомпьютера;
- методами отладки и запуска на решение задач на суперкомпьютере;
- современными технологиями анализа эффективности реализации
параллельых программ на суперкомпьютере;
- методиками использования параллельных пакетов программ для
решения инженерно-техничесих задач на суперкомпьютере;
3.3 - уметь:
-
формулировать
математическую
постановку
сложной
в
вычислительном отношении инженерно-технической задачи;
- осуществлять декомпозицию задач на подзадачи;
3
-
составлять
граф
алгоритма
и
матрицу
следования
задачи,
осуществлять преобразования матрицы следования;
- выявлять множества взаимно-независимых операторов, рассчитывать
достижимые временные характеристики решения задачи;
- определять количество процессоров, необходимых для решения
задачи за заданное время;
- составлять расписание выполнения
параллельного алгоритма на
многопроцессороной системе;
- составлять соотношения для расчета ускорения и эффективности
реализации параллельной программы.
3.4 - знать:
- историю, современную структуру и перспективы развития системы
ВПО в условиях перехода на ФГОС третьего поколения, основные
направления государственной образовательной и молодёжной политики и
зарубежный опыт в этой области;
- основные инженерно-технические задачи, требующие масштабных
вычислений, основные методы и стандартные параллельные пакеты
прикладных программ для их реализации;
- типы архитектур современных многопроцессорных вычислительных
систем вообще и архитектуру кластеров СГАУ, в частности;
-
основные
использования
правила
доступа
суперкомпьютерных
и
организационные
ресурсов
процедуры
СГАУ
для
высокопроизводительных вычислений;
- основные понятия и современные принципы работы в гетерогенных
распределенных вычислительных системах, а также иметь представление о
корпоративных информационных системах и базах данных.
4
4. СТРУКТУРА ПРОГРАММЫ
№
пп
Наименование
модулей
Всего,
час.
В том числе:
Лекции
1
1
2
3
2
Модуль 1
Государственная
политика в области
образования
Модуль 2
Параллельные
вычисления
3
10
4
8
Практические
занятия
(семинары),
лабораторные
работы
5
2
14
4
10
4
20
4
20
20
52
Модуль 3
24
Параллельное
программирование
Модуль 4
4
24
Программирование
для гетерогенных
вычислительных
структур
Итоговая аттестация
Итого
72 часа
Выездные
занятия
6
5
5. СОДЕРЖАНИЕ ПРОГРАММЫ
5.1. УЧЕБНО-ТЕМАТИЧЕСКИЙ ПЛАН ПРОГРАММЫ
№
пп
1.
1.
Наименование
разделов и тем
модулей, Всего,
час.
2.
Модуль 1 Государственная
политика в области образования
1.1 Раздел 1.1
Особенности современного
образовательного пространства
Тема 1.1.1
Глобализация в сфере
образования
Тема 1.1. 2
Болонский процесс и актуальные
вопросы модернизации
профессионального образования
России
1.2 Раздел 1.2
Реализация задач модернизации
системы профессионального
образования
Тема 1.2.1
Новые стандарты
профессионального образования:
методологический аспект
Тема 1.2.2
Проектирование содержания
образования по учебной
дисциплине с учётом ФГОС
третьего поколения
1.3 Раздел 1.3 Государственная
молодёжная политика и
проблемы социализации
современной студенческой
молодёжи
В том числе:
Лекции
Практичес
кие
занятия
(семинар),
лаборатор
ные
работы
Выездные
занятия
3.
10
4.
8
5.
2
6.
4
4
2
2
2
2
4
4
2
2
2
2
2
2
6
2
2.1
2.2
2.3
Тема 1.3.1
Система социальной защиты
молодёжи и студенчества
Тема 1.3.2
Особенности социализации
студенческой молодёжи в
современных условиях
Модуль 2. Параллельные
вычисления
Раздел 2.1. Общие принципы
построения и характеристика
развития вычислительных
систем
Тема 2.1.1. История развития
вычислительной техники в
России и за рубежом
Тема 2.1.2. Архитектуры
параллельных вычислительных
систем
Тема 2.1.3. Производительность
параллельных вычислительных
систем
Тема 2.1.4. Инструментальные
средства анализа и построения
параллельных алгоритмов и
программ
Раздел 2.2. Математические
модели и анализа и построения
параллельных алгоритмов
Тема 2.2.1. Модели
параллельных вычислительных
процессов
Тема 2.2.2. Преобразования
графов
Тема 2.2.3. Принципы
распараллеливания алгоритмов
Раздел 2.3. Построение
параллельных алгоритмов
решения типовых инженернотехнических задач
Тема 2.3.1. Простейшие
параллельные алгоритмы.
Тема 2.3.2. Параллельные
алгоритмы умножения матриц
Тема 2.3.3. Алгоритмы
параллельного решения систем
линейных уравнений
Тема 2.3.4. Параллельные
алгоритмы решения ДУ в
частных производных
Тема 2.3.5. Метод конечных
элементов и его
1
1
1
1
14
4
10
4
2
2
1
1
1
1
1
1
1
1
5
2
3
2
1
1
2
1
1
1
1
5
5
1
1
1
1
1
1
1
1
1
1
7
3
3.1
3.2
3.3
4
4.1
распараллеливание
Модуль 3. Параллельное
программирование
Раздел 3.1. Модели и технологии
параллельного
программирования
Тема 3.1.1. Модели
параллельного
программирования
Тема 3.1.2. Методология
проектирования параллельных
приложений
Тема 3.1.3. Основные принципы
технологии параллельного
программирования
Раздел 3.2. Программирование в
среде MPI
Тема 3.2.1. Особенности
технологии программирования в
среде MPI
Тема 3.2.2. Библиотека MPI:
Коллективные операции,
производные типы данных и
передача упакованных данных
Тема 3.2.3. Библиотека MPI:
Работа с группами и
коммуникаторами, виртуальные
топологии процессов
Раздел 3.3. Программирование
для вычислительных систем с
общей памятью
Тема 3.3.1. Параллельное
программирование в рамках
модели общей памяти
Тема 3.3.2. Основные принципы
и методология технологии
OpenMP
Тема 3.3.3. Организация
параллелизма в среде OpenMP
Модуль 4. Программирование
для гетерогенных
вычислительных структур
Раздел 4.1. Многопоточное
программирование
Тема 4.1.1. Поддержка
многопоточности в ядре ОС
Windows и Linux
Тема 4.1.2. Программирование
на основе thread-ов
Тема 4.1.3. Разработка
кроссплатформенных Open MP
программ.
24
4
20
8
4
4
2
2
2
2
2
2
2
10
10
2
4
4
6
6
2
2
2
24
4
20
6
2
4
2
2
2
8
Раздел 4.2. Программирование
на основе технологии CUDA и
OpenGL
Тема 4.2.1. Модель
программирования и основные
возможности CUDA.
Тема 4.2.2. Архитектура GPU,
иерархия памяти, работа с
глобальной памятью
Тема 4.2.3. Сравнение MPI и
CUDA на примере алгоритмов
обработки изображений
4.3 Раздел 4.3.Высоконагруженные и
гетерогенные системы
Тема 4.3.1. Высоконагруженные
системы. Организация
кеширования, memcashed.
Тема 4.3.2. Распределенные не
реляционные СУБД:
memcashedDB, redis.
Оптимизация hiload систем, load
balancing
Тема 4.3.3. Принципы
программирования сокетов,
асинхронный ввод/вывод.
Тема 4.3.4. Параллельное
программирование в скриптовых
языках на примере Perl.
Параллельное программирование
на основе событий. Perl::POE,
Perl::POE::RPC.
Итоговая аттестация
Итого
4.2
8
2
2
2
6
4
4
2
2
10
10
4
4
2
2
2
2
2
2
72
20
52
9
5.2. УЧЕБНАЯ ПРОГРАММА ПО МОДУЛЯМ
№ Наименование модуля, Содержание обучения (по темам в дидактических единицах),
п/п разделов и тем
наименование и тематика лабораторных работ, практических
занятий (семинаров), самостоятельной работы, используемых
образовательных технологий и рекомендуемой литературы
1. 2.
3.
Модуль 1
Государственная
политика в области
образования
Раздел 1.1
Особенности
современного
образовательного
пространства
Тема 1.1.1
Общемировые тенденции образовательных процессов в
Глобализация в сфере
изменяющейся социокультурной среде. Профессиональное
образования
образование в условиях глобализации.
Тема 1.1. 2
Болонский процесс и
актуальные вопросы
модернизации
профессионального
Предпосылки Болонского процесса в России. Болонский
процесс с точки зрения организации учебной работы. Влияние
Болонского процесса на функции и структуру подразделений
профессионального образовательного учреждения.
образования России
Раздел 1.2
Реализация задач
модернизации системы
начального и среднего
профессионального
образования
Тема 1.2.1 Новые
Эволюция ГОС ВПО первого – третьего поколений. Общая
стандарты
характеристика направлений подготовки. Компетентностный
профессионального
подход при проектировании ФГОС ВПО.
образования:
методологический
аспект
Тема 1.2.2
Проектирование
содержания
Требования к структуре и содержанию ООП. Проектирование
ООП, реализующих ФГОС 3-го поколения. Оценка
трудоёмкости ООП в зачётных единицах. Требования к
10
образования по учебной
условиям реализации и оценки качества освоения ООП.
дисциплине с учётом
ФГОС третьего
поколения
Раздел 1.3
Государственная
молодёжная политика и
проблемы социализации
современной
студенческой молодёжи
Тема 1.3.1
Система социальной
защиты молодёжи и
Федеральный закон о государственной молодёжной политике
в Российской Федерации. Социальные гарантии молодёжи.
Система социальной защиты студентов .
студенчества
Тема 1.3.2
Особенности
Социализация студенческой молодёжи как педагогическая
проблема. Профессиональная социализация студентов.
социализации
Взаимосвязь профессиональной социализации с
студенческой молодёжи
в современных
профессиональной компетентностью и профессиональным
самоопределением. Социальная и профессиональная
условиях
конкурентоспособность выпускника профессионального
образовательного учреждения как показатель его успешной
профессиональной социализации.
Лабораторные работы
Практические занятия
(семинары)
Семинар «Проектирование содержания образования по
предмету»
Самостоятельная работа Проект «Модель профессиональной социализации
студенческой молодёжи»
Используемые
Лекции, дискуссии, метод проекта.
образовательные
технологии
Перечень
рекомендуемых
учебных
изданий,
Интернет-ресурсов,
дополнительной
1. Байденко В.И. Болонский процесс: проблемы, опыт,
решения. Изд. 2-е испр. И доп. М.: Исследовательский
центр проблем качества подготовки специалистов,
2006. – 111с.
2. Байденко В.И. Выявление состава компетенций
выпускников вузов как необходимый этап
11
литературы
проектирования ГОС ВПО нового поколения: Метод.
пособие. М.: Исследовательский центр проблем
качества подготовки специалистов, 2006. – 72 с.
3. Иванов Д.А. О ключевых компетенциях и
компетентностном подходе в образовании // Школьные
технологии, №5, 2007. с.51-61.
4. Сазонов Б.А. Болонский процесс: актуальные вопросы
модернизации российского высшего образования:
Учебное пособие. М.: МГУ ПБ, 2006.- 186 с.
5. Проблемы социализации современной студенческой
молодёжи. Изд. 3-е, исправленное и дополненное.
Монография. – Санкт – Петербург, 2008. – 336 с.
Модуль 2.
Параллельные
вычисления
Раздел 2.1. Общие
принципы построения и
характеристика
развития
вычислительных систем
Тема 2.1.1. История
Озор развития вычислительной техники. Роль информатики и
развития
вычислительных наук в современном мире. Основные
вычислительной
тенденции и перспективы.
техники в России и за
рубежом
Тема 2.1.2.
Классификация параллельных компьютерных систем.
Архитектуры
Векторно-конвейерные компьютеры. Вычислительные
параллельных
системы с распределенной памятью. Параллельные
вычислительных систем компьютеры с общей памятью (мультипроцессоры).
Кластеры. Концепция GRID и метакомпьютинг.
Тема 2.1.3.
Основные понятия и предположения. Построение
Производительность
соотношений для оценки производительности. Законы
параллельных
Амдала. Производительность конвейерных систем.
вычислительных систем Масштабируемость параллельных вычислений. Факторы,
влияющие на производительность и пути ее повышения.
12
Тема 2.1.4.
Системы DVM, V-Ray-System, Норма, Т-система. Языки,
Инструментальные
расширения языков и специализированные библиотеки для
средства анализа и
параллельного программирования.
построения
параллельных
алгоритмов и программ
Раздел 2.2.
Математические
модели и анализа и
построения
параллельных
алгоритмов
Тема 2.2.1. Модели
Понятие графа алгоритма и его свойства. Проблема
параллельных
отображения. Топологии вычислительных систем. Модель
вычислительных
параллельных вычислений. Сети Петри.
процессов
Тема 2.2.2.
Построение взвешенного направленного графа и матрицы
Преобразования графов
следования. Правила преобразования матрицы следования.
Выявление множеств взаимно независимых операторов
(ВНО).
Тема 2.2.3. Принципы
Классификация алгоритмов. Общая схема и этапы разработки
распараллеливания
параллельных алгоритмов. Декомпозиция задач на подзадачи.
алгоритмов
Масштабирование параллельных вычислений. Распределение
задач между процессорами.
Раздел 2.3. Построение
параллельных
алгоритмов решения
типовых инженернотехнических задач
Тема 2.3.1. Простейшие
Суммирование чисел. Сложение векторов. Скалярное
параллельные
умножение векторов. Умножение матрицы на вектор.
алгоритмы.
Тема 2.3.2.
Ленточная и блочная декомпозиция. Масштабирование и
Параллельные
распределение задач. Анализ эффективности.
13
алгоритмы умножения
матриц
Тема 2.3.3. Алгоритмы
Параллельные алгоритмы решения СЛАУ методом Гаусса,
параллельного решения
методом простой итерации и методом сопряженных
систем линейных
градиентов.
уравнений
Тема 2.3.4.
Волновые схемы вычислений. Балансировка загрузки
Параллельные
процессоров. Организация параллельных вычислений в
алгоритмы решения ДУ
системах с распределенной памятью.
в частных производных
Тема 2.3.5. Метод
Постановка задачи. Алгоритм движения по времени.
конечных элементов и
Алгоритмы численного дифференцирования на границах
его распараллеливание
области.
Лабораторные работы
Удаленный доступ к ресурсам суперкомпьютера.
Практические занятия
Семинар «Ускорение и эффективность параллельных
(семинары)
алгоритмов».
Самостоятельная работа Выполнение индивидуальных проектов по решению
инженерно-технических задач
Используемые
Лекции, практические занятия, выполнение индивидуальных
образовательные
проектов.
технологии
Перечень

Воеводин В.В., Воеводин Вл.В. Параллельные
вычисления. / Санкт-Петербург: «БХВ-Петербург», 2002. –
608 с.

Гергель В.П. Теория и практика параллельных
вычислений, 2003. (11 экз., + стереотип. издания др. лет –
5 экз.).

Гергель В.П., Фурсов В.А. Лекции по параллельным
вычислениям. Изд-во СГАУ, 2008, 164 с.
рекомендуемых
учебных
изданий,
Интернет-ресурсов,
дополнительной
литературы
Модуль 3.
Параллельное
программирование
Раздел 3.1. Модели и
технологии
параллельного
14
программирования
Тема 3.1.1. Модели
Основные свойства параллельных алгоритмов. Модель
параллельного
задача-канал. Основные свойства модели "задача/канал".
программирования
Модель передачи сообщений. Модель параллелизма данных.
Модель разделяемой памяти. Основные составляющие
модели, используемой для оценки времени выполнения
параллельных программ. Методы оценки основных
параметров модели.
Тема 3.1.2.
Основные этапы разработки параллельной программы.
Методология
Декомпозиция. Цели. Виды декомпозиции. Коммуникация.
проектирования
Виды коммуникаций: локальные, глобальные, динамические,
параллельных
асинхронные. Распределенные коммуникации и вычисления.
приложений
Интеграция. Цели интеграции. Укрупнение детализации.
Репликация вычислений. Отображение. Цели отображения.
Основные стратегии.
Разработка параллельной программы решения краевой задачи
методом Якоби.
Тема 3.1.3. Основные
Понятие о детерминизме программы. Модульность. Виды
принципы технологии
композиции модулей и/или программ.
параллельного
Создание параллельных приложений для оценки
программирования
производительности используемой вычислительной системы.
Разработка параллельной программы поискового алгоритма.
Пример параллельного алгоритма: конечные разности.
Раздел 3.2.
Программирование в
среде MPI
Тема 3.2.1.
Программирование на MPI. Обеспечение модульности.
Особенности
Коммуникаторы, группы и области связи. Проблемы
технологии
использования различных типов данных. Пользовательские
программирования в
типы данных.
среде MPI
Программное обеспечение параллельного программирования.
Основные виды.
Тема 3.2.2. Библиотека
Краткая характеристика библиотеки MPI. Основные функции
MPI: Коллективные
библиотеки MPI (минимальный набор). Организация
операции, производные
приема/передачи данных между отдельными процессами.
15
типы данных и
Коллективные функции.
передача упакованных
данных
Тема 3.2.3. Библиотека
Работа с пакетом mpi-test-suite. Разработка программы
MPI: Работа с группами
перемножения матриц.
и коммуникаторами,
Удаленный доступ к высокопроизводительным системам.
виртуальные топологии
Использование SSH для подключения к кластеру. Разработка
процессов
и запуск простой MPI программы.
Раздел 3.3.
Программирование для
вычислительных систем
с общей памятью
Тема 3.3.1.
Стратегия подхода. Программирование в среде OpenMP.
Параллельное
Структура OpenMP.
программирование в
рамках модели общей
памяти
Тема 3.3.2. Основные
Директивы OpenMP. Библиотека функций OpenMP.
принципы и
Переменные среды. Реализации OpenMP.
методология
технологии OpenMP
Тема 3.3.3. Организация Принципы организации параллелизма. Создание
параллелизма в среде
параллельной программы с использованием среды OpenMP.
OpenMP
Лабораторные работы
Удаленный доступ к ресурсам суперкомпьютера.
Практические занятия
Семинар «Парадигмы параллельного программирования».
(семинары)
Самостоятельная работа Выполнение индивидуальных проектов по решению
инженерно-технических задач
Используемые
Лекции, практические занятия, выполнение индивидуальных
образовательные
проектов.
технологии
Перечень
рекомендуемых

Введение в программирование для параллельных ЭВМ и
кластеров: Учебн. пособие/ Авторы-сост.: Кравчук В.В.,
16
учебных
изданий,
Попов С.Б., Привалов А.Ю., Фурсов В.А., Шустов В.А.;
Интернет-ресурсов,
Под ред. В.А. Фурсова. Самар. научный центр РАН,
дополнительной
Самар. гос. аэрокосм. ун-т. Самара. 2000. 87 с.
литературы

Начальные сведения для работы на вычислительном
кластере: Метод. Указания для курс. и дипл. проектир. и
учеб.-исслед. работы студентов / СГАУ; Авт.-сост.: С.Б.
Попов, С.А. Скуратов, В.А. Фурсов – Самара, 2004. 20с.

В.Н. Дацюк, А.А. Букатов, А.И. Жегуло Методическое
пособие по курсу "Многопроцессорные системы и
параллельное программирование"
http://rsusu1.rnd.runnet.ru/ncube/koi8/method/index.html
Модуль 4.
Программирование для
гетерогенных
вычислительных
структур
Раздел 4.1.
Многопоточное
программирование
Тема 4.1.1. Поддержка
Особенности псевдомногозадачных и многозадачных систем
многопоточности в ядре и систем реального времени. Поддержка многозадачности на
ОС Windows и Linux
аппаратном уровне: переключение контекста процессора,
многоядерные системы, быстрые коммуникационные среды и
кластерные системы.
Поддержка многозадачности на уровне ОС. Планировщик
задач ОС, средства блокировки и средства синхронизации в
ядре ОС и на прикладном уровне. Ситуация гонки за ресурсы.
Тема 4.1.2.
Процессы, потоки и волокна. Особенности многопоточной
Программирование на
парадигмы в системах Windows, Linux и Unix. Библиотека
основе thread-ов
потоков стандарта POSIX – pthread. Программирование
потоков в Linux. Программирование для windows на основе
CreateThread.
Особенности компиляторов GCC и MsVC и Intel C++.
Разработка многопоточной программы на основе одно из
17
рассмотренных технологий.
Тема 4.1.3. Разработка
Расширение языка C для комфортного программирования
кроссплатформенных
многопоточных приложений - OpenMP.
Open MP программ.
Использование основных конструкций OpеnMP –
параллельные блоки и циклы. Операция редукции.
Разработка многопоточной программы на основе OpenMP.
Раздел 4.2.
Программирование на
основе технологии
CUDA и OpenGL
Тема 4.2.1. Модель
История возникновения архитектурной парадигмы CUDA.
программирования и
Концепция GPGPU, преимущества и недостатки.
основные возможности
Особенности технологии как надстройки над C.
CUDA.
Компилятор nvcc, расширение языка C, новые типы данных.
Kernel – функции и логическая структура исполнения потоков
на GPU
Тема 4.2.2. Архитектура
Типы памяти CUDA. Обмен с CPU памятью.
GPU, иерархия памяти,
Выравнивание, транзакционная модель памяти.
работа с глобальной
Основные принципы оптимизации работы с разделяемой
памятью
памятью.
Тема 4.2.3. Сравнение
Разработка алгоритмов обработки в кластерной архитектуре и
MPI и CUDA на
GPGPU архитектуре.
примере алгоритмов
обработки изображений
Раздел
4.3.Высоконагруженные
и гетерогенные системы
Тема 4.3.1.
Принципы организации высоконагруженных систем. HA, HL
Высоконагруженные
и HPC системы. Уровни кеширования. Распределенные
системы. Организация
системы кеширования.
кеширования,
Оптимизация hiload систем, load balancing
memcashed.
Тема 4.3.2.
Проблемы SQL СУБД. Высокая нагрузка на СУБД.
Распределенные
Индексированные списки в качестве БД. Принципы
18
нереляционные СУБД:
нерерляционных подходов к организации БД.
memcashedDB, redis.
Системы memcashedDB, redis.
Тема 4.3.3. Принципы
Система сокетов Berkley. Программирование сокетов,
программирования
асинхронный ввод/вывод на уровне ядра.
сокетов, асинхронный
ввод/вывод.
Тема 4.3.4.
Параллельное программирование на основе событий.
Параллельное
Perl::POE, Perl::POE::RPC.
программирование в
скриптовых языках на
примере Perl.
Лабораторные работы
Удаленный доступ к ресурсам суперкомпьютера.
Практические занятия
Семинар «Технология многопоточного программирования».
(семинары)
Самостоятельная работа Выполнение индивидуальных проектов по решению
инженерно-технических задач с использованием CUDAтехнологии.
Используемые
Лекции, практические занятия, выполнение индивидуальных
образовательные
проектов.
технологии
Перечень

Nickolls J., Buck I., Skadron K., Scalable Parallel
Programming with CUDA, // ACM Queue, VOL 6, No. 2
(March/April 2008) pp. 40-53 http:// mags.acm.org/ queue/
20080304/ ?u1=texterity.

NVIDIA CUDA Programming Guide, 2010, 130p. http://
developer.download.nvidia.com/compute/cuda/ 3_0/toolkit/
docs/ NVIDIA_CUDA_ProgrammingGuide.pdf.
рекомендуемых
учебных
изданий,
Интернет-ресурсов,
дополнительной
литературы


Итоговая аттестация
NVIDIA CUDA Best Practices Guide, 2009, 68p.
Harris M., Parallel Prefix Sum (Scan) with CUDA, 2008,
21p., http:// developer.download.nvidia.com/compute/cuda/
sdk/website/ projects/ scan/ doc/ scan.pdf.
Защита индивидуальных проектов
19
6. ОЦЕНКА КАЧЕСТВА ОСВОЕНИЯ ПРОГРАММ
Наименование
модулей
Основные показатели оценки
Формы и методы контроля
и оценки
Модуль 1
Государственная
политика в области
образования
Оценка «Отлично»
точно
определены
область
проектной деятельности (или
приоритетные
направления
проектирования),
аудитория
проекта (носители проблемы) с
учётом реальной ситуации;
разработана содержательная часть
проекта, т.е. сформулирована
цель, задачи, определены виды
деятельности, которые в рамках
проекта
рассматриваются
в
качестве
средства
решения
проблемы;
определены социальные силы,
заинтересованные в реализации
проекта
(силы
поддержки,
потенциальных
и
реальных
партнеров,
источники
финансирования).
Оценка «Хорошо»
область проектной деятельности
определена, но без учёта реальной
ситуации;
содержательная часть проекта
разработана,
но
абстрактно
ориентирована
на
решение
проблемы;
определены социальные силы, но
их
ресурс
используется
неэффективно.
Оценка «Удовлетворительно»
область проектной деятельности
определена абстрактно;
нелогично
и
абстрактно
поставлены цели и задачи;
неконкретно разработаны средства
решения проблемы;
привлечены не все социальные
ресурсы.
Защита проекта
Модуль 2
Параллельные
Оценка «Отлично»
найдено точное математическое
решение задачи выбора числа
Промежуточный контроль.
Оценка
по
итогам
20
вычисления
Модуль 3
Параллельное
программирование
процессоров для решения задачи
за заданное время;
получены точные временные
оценки выполнения программы
при заданном числе процессоров;
получены теоретические оценки
ускорения и эффективности
параллельного алгоритма решения
заданной прикладной задачи.
Оценка «Хорошо»
декомпозиция прикладной задачи
выполнена на основе инженерного
подхода правильно, но без точного
математического анализа взаимно
независимых операторов;
модель параллельных вычислений
построена правильно, но без
точного учета всех накладных
расходов, связанных с передачей
сообщений между процессорами;
теоретические оценки ускорения и
эффективности параллельного
алгоритма выполнен правильно,
но приближенно, без учета всех
накладных расходов, связанных с
передачей сообщений.
Оценка «Удовлетворительно»
декомпозиция прикладной задачи
выполнена приближенно без
полного учета всех факторов;
модель параллельных вычислений
построена без точного учета
временных затрат на реализацию
независимых операторов;
теретические оценки ускорения и
эффективности не построены.
Оценка «Отлично»
найдено точное математическое
решение задачи отображения
графа параллельного алгоритма на
граф вычислительной системы;
написанный код параллельной
программы показывает
достижение плученных
теоретических временных оценок;
экспериментально выявленные
показатели ускорения и
эффективности параллельного
кода соответствуют достижимым
оценкам, полученным на этапе
теоретического анализа.
выполнения первого этапа
(Построение
и
анализ
эффективности
параллельного алгоритма
решения
прикладной
задачи)
индивидуальногопроекта.«»
Промежуточный контроль.
Оценка по итогам
выполнения второго этапа
(Написание кода
параллельной программы
для решения прикладной
задачи) индивидуального
проекта.
21
Модуль 4
Программирование
для гетерогенных
вычислительных
структур
Оценка «Хорошо»
декомпозиция параллельного кода
выполнена на основе инженерного
подхода правильно, но без точного
решения задачи отображения
графа алгоритмов на граф
вычислительной системы;
паралельная программа построена
правильно, но без точного учета
всех накладных расходов,
связанных с передачей сообщений
между процессорами;
показатели ускорения и
эффективности параллельной
программы недостаточно высокие
вследствие неполного учета
накладных расходов, связанных с
передачей сообщений.
Оценка «Удовлетворительно»
параллельная программа написана
на основе декомпозиция,
выполненной приближенно без
полного учета всех факторов;
параллельный код построен без
точного учета временных затрат
на реализацию независимых
операторов;
экспериментальная проверка
ускорения и эффективности не
выполнена в полном объеме.
Оценка «Отлично»
найдено точное математическое
решение задачи параллельного
алгоритма на граф распределенной
вычислительной системы;
написанный с использованием
CUDA-технологии код
параллельной программы
показывает достижение
теоретически возможных
временных оценок;
экспериментально выявленные
показатели ускорения и
эффективности параллельного
кода соответствуют теоретическим
оценкам.
Оценка «Хорошо»
параллельный код, реализованный
на графических процессорах,
построен корректно, но без
точного решения задачи
отображения графа алгоритмов на
Промежуточный контроль.
Оценка по итогам
выполнения третьего этапа
(Отладка и
экспериментальная
проверка показателей
эффективности
параллельной программы)
индивидуального проекта.
22
граф вычислительной системы;
паралельная CUDA-программа
построена правильно, но без
точного учета накладных
расходов, связанных с передачей
сообщений между процессорами;
показатели ускорения и
эффективности параллельной
CUDA-программы недостаточно
высокие вследствие неполного
учета накладных расходов,
связанных с передачей сообщений.
Оценка «Удовлетворительно»
параллельная CUDA-программа
написана на основе декомпозиция,
выполненной приближенно без
полного учета всех факторов;
параллельная CUDA-программа
построена без точного учета
временных затрат на реализацию
независимых операторов;
экспериментальная проверка
ускорения и эффективности
CUDA-программы не выполнена в
полном объеме.
Итоговая аттестация
Комплексная оценка проекта
Защита проекта
Разработчики программы:
д.т.н., профессор
Фурсов В.А.
к.т.н., доцент
Попов С.Б.
к.т.н., доцент
Никоноров А.В.
д.т.н., профессор
Белоусов А.И.
методист ИДПО СГАУ
Маслова А.Г.
№ экз.
23
Download