Скачать 233.52 Kb.
|
Правительство Российской Федерации Государственное образовательное бюджетное учреждение высшего профессионального образования Национальный исследовательский университет «Высшая школа экономики»
Программа дисциплины Высокопроизводительные вычисления для направления 080500.62 «Бизнес-информатика» подготовки бакалавра Автор – к.ф.-м.н. В.А. Самодуров
Москва, 2012 Область применения и нормативные ссылки Настоящая программа учебной дисциплины устанавливает минимальные требования к знаниям и умениям студента и определяет содержание и виды учебных занятий и отчетности. Программа предназначена для преподавателей, ведущих данную дисциплину, учебных ассистентов и студентов направления подготовки 080500.62 «Бизнес-информатика», обучающихся по программе подготовки бакалавров, изучающих дисциплину «Высокопроизводительные вычисления». Программа разработана в соответствии с Рабочим учебным планом университета по направлению подготовки 080500.62 «Бизнес-информатика», утвержденным в 2012г. Цели освоения дисциплиныДисциплина «Высокопроизводительные вычисления» предназначена для того, чтобы дать знания, умения и основные навыки, позволяющие создавать высокопроизводительные реализации известных методов вычислительной математики, анализа и обработки данных. Целью освоения дисциплины является – освоение базовых знаний в области архитектуры современных многопроцессорных вычислительных систем, параллельной обработки информации, технологий организации параллельных вычислений на многопроцессорных вычислительных комплексах с распределенной или общей оперативной памятью. Компетенции обучающегося, формируемые в результате освоения дисциплиныВ результате освоения дисциплины студент должен:
- основные направления развития высокопроизводительных компьютеров; - основные классификации многопроцессорных вычислительных систем; - основные подходы к разработке параллельных программ - основные технологии и модели параллельного программирования. - методы параллельных вычислений для задач вычислительной математики (мат- ричные вычисления, решение систем линейных уравнений, сортировка, обработ- ка графов, уравнения в частных производных, многоэкстремальная оптимизация);
- создавать параллельные программы для вычислительных систем с распределенной, общей оперативной памятью; - проводить распараллеливание вычислительных алгоритмов; - строить модель выполнения параллельных программ; - оценивать эффективности параллельных вычислений; - анализировать сложность вычислений и возможность распараллеливания разраба- тываемых алгоритмов; - применять общие схемы разработки параллельных программ для реализаций собственных алгоритмов; - оценивать основные параметры получаемых параллельных программ, таких как ускорение, эффективность и масштабируемость.
- создания параллельные программы для вычислительных систем с распределенной, общей оперативной памятью; - построения параллельных аналогов вычислительных алгоритмов. Место дисциплины в структуре образовательной программыНастоящая дисциплина относится к циклу дисциплин программы "Бизнес-информатика", являясь дисциплиной по выбору. Курс рассчитан на студентов, имеющих подготовку по предшествующим курсам, касающихся основам программирования с использованием алгоритмических языков Си, вычислительным методам. В течение преподавания курса предполагается, что студенты знакомы с основными понятиями алгебры, комбинаторики, логики, информатики, которые читаются на факультете перед изучением данной дисциплины. Тематический план учебной дисциплины
Формы контроля знаний студентов
Критерии оценки знаний, навыковИтоговая оценка по учебной дисциплине складывается из следующих элементов:
Структура экзаменационной оценки по учебной дисциплине:
В конце 4-го модуля на зачетной неделе состоится итоговый контроль в форме зачета. Содержание дисциплиныЦель курса. Цель курса состоит в изложении основных понятий параллельных вычислений, необходимых для последующего изучения моделей, методов и технологий параллельного программирования. В рамках курса проводится изучение следующих набора тем:
Тема 1. Введение в понятия высокопроизводительных вычислений . Основные направления развития высокопроизводительных компьютеров. Важность проблематики параллельных вычислений. Пути достижения параллелизма: независимость функционирования отдельных функциональных устройств, избыточность элементов вычислительной системы, дублирование устройств. Векторная и конвейерная обработка данных. Многопроцессорная и многомашинная, параллельная обработка данных. Закон Мура, сдерживающие факторы наращивания количества транзисторов на кристалле и частоты процессоров. Привлекательность подхода параллельной обработки данных. Сдерживающие факторы повсеместного внедрения параллельных вычислений. Ведомственные, национальные и другие программы, направленные на развитие параллельных вычислений в России. Необходимость изучения дисциплины параллельного программирования. Перечень критических задач, решение которых без использования параллельных вычислений затруднено или вовсе невозможно. Содержание курса параллельного программирования – характеристика основных составляющих блоков лекционного курса, практических занятий. Контрольные вопросы по теме:
Тема 2. Классификация многопроцессорных вычислительных систем Системы с распределенной, общей памятью, примеры систем. Массивно-параллельные системы (MPP). Симметричные мультипроцессорные системы (SMP). Параллельные векторные системы (PVP). Системы с неоднородным доступом к памяти (Numa), примеры систем. Компьютерные кластеры – специализированные и полнофункциональные. История возникновения компьютерных кластеров – проект Beowulf. Мета-компьютинг – примеры действующих проектов. Классификация Флинна, Шора и т.д. Организация межпроцессорных связей – коммуникационные топологии. Примеры сетевых решений для создания кластерных систем. Контрольные вопросы по теме:
Тема 3. Основные принципы организации параллельной обработки данных: модели, методы и технологии параллельного программированияФункциональный параллелизм, параллелизм по данным. Парадигма master-slave. Парадигма SPMD. Парадигма конвейеризации. Парадигма “разделяй и властвуй”. Спекулятивный параллелизм. Важность выбора технологии для реализации алгоритма. Модель обмена сообщениями – MPI. Модель общей памяти – OpenMP. Концепция виртуальной, разделяемой памяти – Linda. Российские разработки – Т-система, система DVM. Проблемы создания средства автоматического распараллеливания программ. Контрольные вопросы по теме:
Тема 4. Параллельное программирование с использованием интерфейса передачи сообщений MPI. Библиотека MPI. Модель SIMD. Инициализация и завершение MPI-приложения. Точечные обмены данными между процессами MPI-программы. Режимы буферизации. Проблема deadlock’ов. Коллективные взаимодействия процессов в MPI. Управление группами и коммуникаторами в MPI. Контрольные вопросы по теме:
Тема 5. Параллельное программирование на системах с общей памятью (OpenMP) Введение в OpenMP. Стандарты программирования для систем с разделяемой памятью. Создание многопоточных приложений. Использование многопоточности при программировании для многоядерных платформ. Синхронизация данных между ветвями в параллельной программе. Директивы языка OpenMP. Контрольные вопросы по теме:
Тема 6. Параллельное программирование многоядерных GPU. Кластеры из GPU и суперкомпьютеры на гибридной схеме. Существующие многоядерные системы. GPU как массивно-параллельный процессор. Архитектура GPU и модель программирования CUDA. Иерархия памяти CUDA. Глобальная, константная, текстурная, локальная, разделяемая и регистровая память. Особенности использования каждого типа памяти. Размещение различных данных в различной памяти. Когерентное общение с глобальной памятью. Программирование многоядерных GPU. Кластеры из GPU. Кластеры и суперкомпьютеры на гибридной схеме. Использование OpenMP и MPI технологий совместно с CUDA. Вопросы оптимизации приложений на CUDA. Контрольные вопросы по теме:
Тема 7. Параллельные численные алгоритмы для решения типовых задач вычислительной математики. Степень параллелизма численного алгоритма. Средняя степень параллелизма численного алгоритма. Зернистость алгоритма. Ускорение и эффективность. Закон Амдала. Алгоритм исследования свойств параллельного алгоритма. Определение параллелизма: анализ задачи с целью выделить подзадачи, которые могут выполняться одновременно. Выявление параллелизма: изменение структуры задачи таким образом, чтобы можно было эффективно выполнять подзадачи. Для этого часто требуется найти зависимости между подзадачами и организовать исходный код так, чтобы ими можно было эффективно управлять. Выражение параллелизма: реализация параллельного алгоритма в исходном коде с помощью системы обозначений параллельного программирования. Матричные вычисления (матрично-векторное умножение, умножение матриц, решение систем линейных уравнений). Параллельный алгоритм умножения матрицы на вектор и его ускорение по сравнению с последовательным алгоритмом. Параллельный алгоритм умножения матрицы на матрицу и его ускорение по сравнению с последовательным алгоритмом. Параллельный алгоритм решения СЛАУ прямым методом Гаусса и его ускорение по сравнению с последовательным алгоритмом. Параллельный алгоритм решения СЛАУ итерационными методами Якоби, Гаусса - Зейделя и их ускорение по сравнению с последовательным алгоритмом. Параллельная сортировка (алгоритмы пузырьковой сортировки, сортировки Шелла и быстрой сортировки). Задачи обработки графов (построение минимального охватывающего дерева, поиск кратчайших путей). Контрольные вопросы по теме:
Образовательные технологииМетодические рекомендации преподавателюВ рамках дисциплины проводится изучение основных понятий параллельных вычислений, необходимых для последующего изучения моделей, методов и технологий параллельного программирования. В курсе приводятся примеры современных высокопроизводительных вычислительных систем, рассматриваются способы анализа сложности вычислений и оценки возможности их параллельного выполнения, даются основы разработки параллельных методов. Дисциплина изучается на лекциях и семинарских, практических занятиях. На лекциях рассматриваются основополагающие теоретические вопросы и способы решения задач прикладного и системного характера. Лекции строятся на последовательном систематическом устном изложении преподавателем учебного материала, представляющего логически законченное целое. Каждая лекция сопровождается презентацией, содержащей краткий теоретический материал и иллюстративный материал. Каждая презентация построена по следующему шаблону: название лекционного занятия, цель и задачи лекции, краткое содержание предыдущей лекции (при необходимости), теоретический материал, в конце приведены итоги лекционного занятия, обозначена тема следующей лекции, а также вопросы и задания для самостоятельного изучения. Презентации по лекционному курсу разбиты по темам, по отдельно взятой теме может быть несколько лекций. Домашние и контрольные работы направлена на самостоятельную работу по созданию параллельных программ и исследования эффективности проведенного распараллеливания. Семинарские занятия проводятся с целью освоения методов и способов параллельного программирования на конкретных примерах и алгоритмах. Студенты привлекаются к разбору и сравнительному анализу предлагаемых вариантов программных реализаций решаемых задач. В процессе самостоятельной работы студенты отрабатывают теоретические положения, изложенные на лекциях, и изучают примеры, рассмотренные на семинарских занятиях. В ходе самостоятельной работы студенты выполняют контрольные домашние задания. Задания носят индивидуальный характер. На каждое контрольное домашнее задание выносится несколько задач в зависимости от сложности темы. Методические указания студентамУспешное освоение дисциплины основывается на систематической повседневной работе студентов. В процессе самостоятельной работы студенты в течение одного – двух дней прорабатывают материалы лекционных и практических занятий по конспектам и рекомендованной основной литературе. Конспекты дополняются материалами, полученными при проработке дополнительной литературы. При подготовке к письменной контрольной работе необходимо самостоятельно проработать задания из соответствующих глав рекомендуемой литературы. Тема и направленность контрольной работы объявляется преподавателем заранее. Контрольная работа составляется из типовых заданий, рассмотренных на практических занятиях. При выполнении контрольной работы студенты должны выполнить задания, показав при этом понимание теоретического материала и навыки решения практических задач. При выполнении домашних заданий студенты должны кроме основной и дополнительной рекомендованной литературы использовать и другие источники. Написание реферата является одной из форм обучения студентов. Данная форма обучения направлена на организацию и повышение уровня самостоятельной работы студентов. Реферат, как форма обучения студентов - это краткий обзор максимального количества доступных публикаций по заданной теме, подготовка самого реферативного обзора и презентации по нему. При проведении обзора должна проводиться и исследовательская работа, но объем ее ограничен, так как анализируется уже сделанные выводы и в связи с небольшим объемом данной формы работы. Преподавателю предоставляется сам реферат и презентация к нему. ЗаСдача реферата происходит в форме защиты-доклада с использованием подготовленной презентации. Оценочные средства для текущего контроля и аттестации студентаВопросы для оценки качества освоения дисциплины
Учебно-методическое и информационное обеспечение дисциплиныОсновная литература
Дополнительная литература
Материально-техническое обеспечение дисциплиныЛекционные занятия проходят в мультимедийной аудитории, оснащенной компьютером и проектором. Семинарские и практические занятия проходят в компьютерном классе. Первая часть занятия посвящена разбору нового материала. Вторая часть – выполнению практических заданий с целью закрепления материала. Для практических занятий необходимы:
|
Правительство Российской Федерации Государственное образовательное... В соответствии со статьей 179 Бюджетного кодекса Российской Федерации Правительство Челябинской области | Правительство Российской Федерации Государственное образовательное... Федеральное государственное автономное образовательное учреждение высшего профессионального образования | ||
Правительство Российской Федерации Государственное образовательное... | Правительство Российской Федерации Государственное образовательное... | ||
Программа Правительство Российской Федерации Государственное образовательное... Государственное образовательное бюджетное учреждение высшего профессионального образования | Правительство Российской Федерации Проект Государственное образовательное... Государственное образовательное бюджетное учреждение высшего профессионального образования | ||
Правительство Российской Федерации Государственное образовательное... Государственное образовательное бюджетное учреждение высшего профессионального образования | Правительство Российской Федерации Государственное образовательное... Государственное образовательное бюджетное учреждение высшего профессионального образования | ||
Правительство Российской Федерации Государственное образовательное... Государственное образовательное бюджетное учреждение высшего профессионального образования | Правительство Российской Федерации Государственное образовательное... Государственное образовательное бюджетное учреждение высшего профессионального образования | ||
Правительство Российской Федерации Государственное образовательное... Государственное образовательное бюджетное учреждение высшего профессионального образования | Правительство Российской Федерации Государственное образовательное... Государственное образовательное бюджетное учреждение высшего профессионального образования | ||
Правительство Российской Федерации Государственное образовательное... Государственное образовательное бюджетное учреждение высшего профессионального образования | Правительство Российской Федерации Государственное образовательное... Государственное образовательное бюджетное учреждение высшего профессионального образования | ||
Правительство Российской Федерации Государственное образовательное... Государственное образовательное бюджетное учреждение высшего профессионального образования | Правительство Российской Федерации Государственное образовательное... Государственное образовательное бюджетное учреждение высшего профессионального образования |