Высокопроизводительные вычисления(бакл)

advertisement
Правительство Российской Федерации
Государственное образовательное бюджетное учреждение
высшего профессионального образования
Национальный исследовательский университет
«Высшая школа экономики»
Факультет бизнес-информатики
Программа дисциплины
Высокопроизводительные вычисления
для направления 080500.62 «Бизнес-информатика» подготовки бакалавра
Автор – к.ф.-м.н. В.А. Самодуров
Рекомендована секцией УМС
по бизнес-информатике
Председатель Ю.В. Таратухина
_______________________________
«_____» __________________ 2012 г.
Одобрена на заседании базовой
кафедры группы компаний «Стек»
Зав. кафедрой Е.А. Исаев
________________________________
«____»_____________________ 2012г.
Утверждена Ученым Советом
факультета Бизнес-информатики
Ученый секретарь В.А. Фомичев
_______________________________
«_____» __________________ 2012 г.
Москва, 2012
Область применения и нормативные ссылки
Настоящая программа учебной дисциплины устанавливает минимальные требования к знаниям и умениям
студента и определяет содержание и виды учебных занятий и отчетности.
Программа предназначена для преподавателей, ведущих данную дисциплину, учебных ассистентов и студентов
направления подготовки 080500.62 «Бизнес-информатика», обучающихся по программе подготовки
бакалавров, изучающих дисциплину «Высокопроизводительные вычисления».
Программа разработана в соответствии с Рабочим учебным планом университета по направлению подготовки
080500.62 «Бизнес-информатика», утвержденным в 2012г.
Цели освоения дисциплины
Дисциплина «Высокопроизводительные вычисления» предназначена для того, чтобы дать знания,
умения и основные навыки, позволяющие создавать высокопроизводительные реализации известных методов
вычислительной математики, анализа и обработки данных. Целью освоения дисциплины является – освоение
базовых знаний в области архитектуры современных многопроцессорных вычислительных систем,
параллельной
обработки
информации,
технологий
организации параллельных
вычислений
на
многопроцессорных вычислительных комплексах с распределенной или общей оперативной памятью.
Компетенции обучающегося, формируемые в результате освоения дисциплины
В результате освоения дисциплины студент должен:

Знать:
- основные направления развития высокопроизводительных компьютеров;
- основные классификации многопроцессорных вычислительных систем;
- основные подходы к разработке параллельных программ
- основные технологии и модели параллельного программирования.
- методы параллельных вычислений для задач вычислительной математики (матричные вычисления, решение систем линейных уравнений, сортировка, обработка графов, уравнения в частных производных, многоэкстремальная оптимизация);

Уметь:
- создавать параллельные программы для вычислительных систем с
распределенной, общей оперативной памятью;
- проводить распараллеливание вычислительных алгоритмов;
- строить модель выполнения параллельных программ;
- оценивать эффективности параллельных вычислений;
- анализировать сложность вычислений и возможность распараллеливания разрабатываемых алгоритмов;
- применять общие схемы разработки параллельных программ для реализаций
собственных алгоритмов;
- оценивать основные параметры получаемых параллельных программ, таких как
ускорение, эффективность и масштабируемость.

Иметь навыки:
- создания параллельные программы для вычислительных систем с
распределенной, общей оперативной памятью;
-
Место дисциплины в структуре образовательной программы
Настоящая дисциплина относится к циклу дисциплин программы "Бизнес-информатика", являясь дисциплиной
по выбору. Курс рассчитан на студентов, имеющих подготовку по
предшествующим курсам, касающихся основам программирования с использованием алгоритмических
языков Си, вычислительным методам. В течение преподавания курса предполагается, что студенты
знакомы с основными понятиями алгебры, комбинаторики, логики, информатики, которые читаются на
факультете перед изучением данной дисциплины.
Тематический план учебной дисциплины
Аудиторные часы
№
Название тем
Всего
часов
Лекции
6
2
4
6
2
4
22
4
8
10
22
6
6
10
22
6
6
10
22
6
6
10
70
10
10
50
180
36
36
108
Введение в понятия высокопроизводительных
вычислений . Основные направления
развития высокопроизводительных
компьютеров
Классификация многопроцессорных
вычислительных систем
Основные принципы организации
параллельной обработки данных: модели,
методы и технологии параллельного
программирования
Параллельное программирование с
использованием интерфейса передачи
сообщений MPI.
Параллельное программирование на системах
с общей памятью (OpenMP).
Параллельное программирование
многоядерных GPU. Кластеры из GPU и
суперкомпьютеры на гибридной схеме.
Параллельные численные алгоритмы для
решения типовых задач вычислительной
математики.
Итого:
1
2
3
4
5
6
7
Самос
тояСемина Практическ тельна
я
ры
ие занятия
работа
Формы контроля знаний студентов
Тип
контроля
Текущий
Форма
контроля
Посещение
лекций
Посещение
семинаров
Домашнее
задание
Кафедра
Параметры
Тесты по материалам лекций
18
базовая кафедра Группы
компаний Стек
базовая кафедра Группы
компаний Стек
базовая кафедра Группы
компаний Стек
Контрольна
я работа
1
базовая кафедра Группы
компаний Стек
Рубежный
Реферат
1
базовая кафедра Группы
компаний Стек
Итоговый
Зачет
4
базовая кафедра Группы
компаний Стек
1 2
3 курс
3
18
4
18
18
1
Задания на семинарах и
практических занятиях
Разработка примера
параллельной программы для
вычислительных систем
Письменная работа 60 минут:
решение типовых задач
вычислительной математики
параллельными численные
алгоритмами
10-15 страниц,
Защита реферата методом
доклада с презентацией
письменная работа 60 минут:
ответы на теоретические
вопросы.
Критерии оценки знаний, навыков
Итоговая оценка по учебной дисциплине складывается из следующих элементов:
 тесты по материалам лекций (теория)
 работа на семинарских и практических занятиях (решение задач с использованием компьютеров,
доклады, обсуждения);
 домашнее задание и контрольная работа;

реферат;

зачет.
Структура экзаменационной оценки по учебной дисциплине:
Форма работы
Тесты по материалам лекций (теория)
Задания на семинарах и практических занятиях
Реферат
Домашнее задание и контрольная работа
Зачет
Вклад в итоговую оценку (%)
10
25
25
15
25
В конце 4-го модуля на зачетной неделе состоится итоговый контроль в форме зачета.
Содержание дисциплины
Цель курса.
Цель курса состоит в изложении основных понятий параллельных вычислений, необходимых для
последующего изучения моделей, методов и технологий параллельного программирования.
В рамках курса проводится изучение следующих набора тем:
 Краткий обзор параллельных вычислительных систем и их классификация,
 Общая характеристика многопроцессорных вычислительных систем,
 Оценка эффективности параллельных вычислений,
 Анализ сложности вычислений и оценка возможности распараллеливания,
 Параллельное программирование с использованием MPI
 Изложение технологии OpenMP,
 Общая схема разработки параллельных методов,
 Методы параллельных вычислений для задач вычислительной математики (матричные
вычисления, решение систем линейных уравнений, сортировка, обработка графов,
уравнения в частных производных, многоэкстремальная оптимизация)
Тема 1. Введение в понятия высокопроизводительных вычислений . Основные направления
развития высокопроизводительных компьютеров.
Важность проблематики параллельных вычислений. Пути достижения параллелизма: независимость
функционирования отдельных функциональных устройств, избыточность элементов вычислительной
системы, дублирование устройств. Векторная и конвейерная обработка данных. Многопроцессорная и
многомашинная, параллельная обработка данных. Закон Мура, сдерживающие факторы наращивания
количества транзисторов на кристалле и частоты процессоров. Привлекательность подхода параллельной
обработки данных. Сдерживающие факторы повсеместного внедрения параллельных вычислений.
Ведомственные, национальные и другие программы, направленные на развитие параллельных вычислений в
России. Необходимость изучения дисциплины параллельного программирования.
Перечень критических задач, решение которых без использования параллельных вычислений
затруднено или вовсе невозможно.
Содержание курса параллельного программирования – характеристика основных составляющих
блоков лекционного курса, практических занятий.
1.
2.
3.
4.
5.
Контрольные вопросы по теме:
Основные направления развития высокопроизводительных компьютеров. Пути достижения
параллелизма:
независимость функционирования
отдельных
функциональных
устройств,
избыточность элементов вычислительной системы, дублирование устройств.
Векторная и конвейерная обработка данных.
Многопроцессорная и многомашинная, параллельная обработка данных.
Закон Мура, сдерживающие факторы наращивания количества транзисторов на кристалле и
частоты процессоров. Сдерживающие факторы повсеместного внедрения параллельных вычислений.
Перечень критических задач, решение которых без использования параллельных вычислений
затруднено или вовсе невозможно.
Тема 2. Классификация многопроцессорных вычислительных систем
Системы с распределенной, общей памятью, примеры систем. Массивно-параллельные системы
(MPP). Симметричные мультипроцессорные системы (SMP). Параллельные векторные системы (PVP).
Системы с неоднородным доступом к памяти (Numa), примеры систем. Компьютерные кластеры –
специализированные и полнофункциональные. История возникновения компьютерных кластеров – проект
Beowulf. Мета-компьютинг – примеры действующих проектов. Классификация Флинна, Шора и т.д.
Организация межпроцессорных связей – коммуникационные топологии. Примеры сетевых решений для
создания кластерных систем.
Контрольные вопросы по теме:
Поясните понятие суперкомпьютера
Возможно ли увеличение производительности суперкомпьютера прямо пропорционально увеличению
количества процессорных элементов?
3. В чем заключаются основные способы достижения параллелизма?
4. В чем могут состоять различия параллельных вычислительных систем?
5. Что положено в основу классификация Флинна?
6. Какие классы систем известны для мультикомпьютеров?
7. Что такое массивно-параллельный компьютер?
8. Что такое векторно-конвейерный компьютер?
9. В чем состоят положительные и отрицательные стороны кластерных систем?
10. Каковы причины появления концепции метакомпютинга?
11. Каковы причины появления Grid проектов?
12. Сравните метакомпьютинг и Grid технологии.
1.
2.
Тема 3. Основные принципы организации параллельной
обработки данных: модели, методы и технологии параллельного
программирования
Функциональный параллелизм, параллелизм по данным. Парадигма master-slave. Парадигма SPMD.
Парадигма конвейеризации. Парадигма “разделяй и властвуй”. Спекулятивный параллелизм. Важность
выбора технологии для реализации алгоритма. Модель обмена сообщениями – MPI. Модель общей памяти –
OpenMP. Концепция виртуальной, разделяемой памяти – Linda. Российские разработки – Т-система, система
DVM. Проблемы создания средства автоматического распараллеливания программ.
1.
2.
3.
Контрольные вопросы по теме:
Что общего и в чем различия между традиционной общей памятью в SMP-компьютерах и
пространством кортежей в системе Linda?
Необходимо написать программу для компьютера с общей памятью. Чему отдать предпочтение:
OpenMP или Linda? Сравните технологии с различных точек зрения.
В распоряжении программистов есть, с одной стороны, MPI и OpenMP, а с другой стороны,
компьбютеры с общей и распределенной памятью. Какая технология программирования какой
архитектуре лучше соотвествует?
Тема 4. Параллельное программирование с использованием интерфейса передачи сообщений
MPI.
Библиотека MPI. Модель SIMD. Инициализация и завершение MPI-приложения. Точечные обмены
данными между процессами MPI-программы. Режимы буферизации. Проблема deadlock’ов. Коллективные
взаимодействия процессов в MPI. Управление группами и коммуникаторами в MPI.
1.
2.
3.
4.
5.
6.
7.
8.
Контрольные вопросы по теме:
Каковы преимущества программирования на MPI?
Какой минимальный набор средств является достаточным для организации параллельных
вычислений в системах с распределенной памятью?
В чем различие понятий процесса и процессора?
Как описываются в MPI передаваемые сообщения?
В чем различие парных и коллективных операций передачи данных?
Какая функция MPI обеспечивает передачу данных от одного процесса всем процессам?
Какие режимы передачи данных поддерживаются в MPI?
Как организуется неблокирующий обмен данными в MPI?
Тема 5. Параллельное программирование на системах с общей памятью (OpenMP)
Введение в OpenMP. Стандарты программирования для систем с разделяемой памятью. Создание
многопоточных приложений. Использование многопоточности при программировании для многоядерных
платформ. Синхронизация данных между ветвями в параллельной программе. Директивы языка OpenMP.
1.
2.
3.
4.
5.
6.
7.
Контрольные вопросы по теме:
Каковы преимущества программирования с использованием OpenMP?
В чем состоит концепция нитей?
Как достигается балансировка нагрузки в OpenMP?
Какие особенности организации параллельного цикла в OpenMP?
Какие похожие операции есть в MPI и OpenMP?
OpenMP: Директивы OpenMP, Переменные окружения.
OpenMP: Библиотечные функции. Средства синхронизации.
Тема 6. Параллельное программирование многоядерных GPU. Кластеры из GPU и
суперкомпьютеры на гибридной схеме.
Существующие многоядерные системы. GPU как массивно-параллельный процессор. Архитектура
GPU и модель программирования CUDA.
Иерархия памяти CUDA. Глобальная, константная, текстурная, локальная, разделяемая и
регистровая память. Особенности использования каждого типа памяти. Размещение различных данных в
различной памяти. Когерентное общение с глобальной памятью.
Программирование многоядерных GPU. Кластеры из GPU. Кластеры и суперкомпьютеры на
гибридной схеме. Использование OpenMP и MPI технологий совместно с CUDA. Вопросы оптимизации
приложений на CUDA.
1.
2.
3.
4.
5.
Контрольные вопросы по теме:
Поясните понятие суперкомпьютера
Возможно ли увеличение производительности суперкомпьютера прямо пропорционально увеличению
количества процессорных элементов?
Дайте определение вычислительного кластера.
Опишите виды кластеров, их особенности.
В чем состоят положительные и отрицательные стороны кластерных систем?
Тема 7. Параллельные численные алгоритмы для решения типовых задач вычислительной
математики.
Степень параллелизма численного алгоритма. Средняя степень параллелизма численного алгоритма.
Зернистость алгоритма. Ускорение и эффективность. Закон Амдала. Алгоритм исследования свойств
параллельного алгоритма. Определение параллелизма: анализ задачи с целью выделить подзадачи, которые
могут выполняться одновременно.
Выявление параллелизма: изменение структуры задачи таким образом, чтобы можно было
эффективно выполнять подзадачи. Для этого часто требуется найти зависимости между подзадачами и
организовать исходный код так, чтобы ими можно было эффективно управлять. Выражение параллелизма:
реализация параллельного алгоритма в исходном коде с помощью системы обозначений параллельного
программирования.
Матричные вычисления (матрично-векторное умножение, умножение матриц, решение систем
линейных уравнений). Параллельный алгоритм умножения матрицы на вектор и его ускорение по сравнению
с последовательным алгоритмом. Параллельный алгоритм умножения матрицы на матрицу и его
ускорение по сравнению с последовательным алгоритмом. Параллельный алгоритм решения СЛАУ прямым
методом Гаусса и его ускорение по сравнению с последовательным алгоритмом. Параллельный алгоритм
решения СЛАУ итерационными методами Якоби, Гаусса - Зейделя и их ускорение по сравнению с
последовательным алгоритмом.
Параллельная сортировка (алгоритмы пузырьковой сортировки, сортировки Шелла и быстрой
сортировки). Задачи обработки графов (построение минимального охватывающего дерева, поиск
кратчайших путей).
1.
2.
3.
4.
5.
Контрольные вопросы по теме:
Каковы этапы численного эксперимента?
Как можно определить требуемую производительность для решения конкретной задачи?
Как определяется расписание для распределения вычислений между процессорами?
Как определяется время выполнения параллельного алгоритма?
Как определить минимально возможное время решения задачи?
Какие оценки следует использовать в качестве характеристики времени последовательного решения
задачи?
7. Какие зависимости могут быть получены для времени параллельного решения задачи при
увеличении или уменьшения числа используемых процессоров?
8. Как определяются понятия ускорения и эффективности?
9. Как определяется понятие стоимости вычислений?
10. Как формулируется закон Амдала? Какой аспект параллельных вычислений позволяет учесть данный
закон?
11. Представьте перспективы реализации высокопроизводительных вычислений на основе использования
облачных вычислений.
6.
Образовательные технологии
Методические рекомендации преподавателю
В рамках дисциплины проводится изучение основных понятий параллельных вычислений,
необходимых для последующего изучения моделей, методов и технологий параллельного программирования. В
курсе приводятся примеры современных высокопроизводительных вычислительных систем, рассматриваются
способы анализа сложности вычислений и оценки возможности их параллельного выполнения, даются основы
разработки параллельных методов.
Дисциплина изучается на лекциях и семинарских, практических занятиях.
На лекциях рассматриваются основополагающие теоретические вопросы и способы решения задач
прикладного и системного характера. Лекции строятся на последовательном систематическом устном
изложении преподавателем учебного материала, представляющего логически законченное целое. Каждая
лекция сопровождается презентацией, содержащей краткий теоретический материал и иллюстративный
материал.
Каждая презентация построена по следующему шаблону: название лекционного занятия, цель и задачи
лекции, краткое содержание предыдущей лекции (при необходимости), теоретический материал, в конце
приведены итоги лекционного занятия, обозначена тема следующей лекции, а также вопросы и задания
для самостоятельного изучения.
Презентации по лекционному курсу разбиты по темам, по отдельно взятой теме может быть несколько лекций.
Домашние и контрольные работы направлена на самостоятельную работу по созданию параллельных
программ и исследования эффективности проведенного распараллеливания.
Семинарские занятия проводятся с целью освоения методов и способов параллельного программирования на
конкретных примерах и алгоритмах. Студенты привлекаются к разбору и сравнительному анализу
предлагаемых вариантов программных реализаций решаемых задач.
В процессе самостоятельной работы студенты отрабатывают теоретические положения, изложенные на
лекциях, и изучают примеры, рассмотренные на семинарских занятиях. В ходе самостоятельной работы
студенты выполняют контрольные домашние задания. Задания носят индивидуальный характер. На каждое
контрольное домашнее задание выносится несколько задач в зависимости от сложности темы.
Методические указания студентам
Успешное освоение дисциплины основывается на систематической повседневной работе студентов. В процессе
самостоятельной работы студенты в течение одного – двух дней прорабатывают материалы лекционных и
практических занятий по конспектам и рекомендованной основной литературе.
Конспекты дополняются материалами, полученными при проработке дополнительной литературы. При
подготовке к письменной контрольной
работе необходимо самостоятельно проработать задания из
соответствующих глав рекомендуемой литературы.
Тема и направленность контрольной работы объявляется преподавателем заранее. Контрольная работа
составляется из типовых заданий, рассмотренных на практических занятиях. При выполнении контрольной
работы студенты должны выполнить задания, показав при этом понимание теоретического материала и навыки
решения практических задач.
При выполнении домашних заданий студенты должны кроме основной и дополнительной рекомендованной
литературы использовать и другие источники.
Написание реферата является одной из форм обучения студентов. Данная форма обучения направлена на
организацию и повышение уровня самостоятельной работы студентов.
Реферат, как форма обучения студентов - это краткий обзор максимального количества доступных публикаций
по заданной теме, подготовка самого реферативного обзора и презентации по нему. При проведении обзора
должна проводиться и исследовательская работа, но объем ее ограничен, так как анализируется уже сделанные
выводы и в связи с небольшим объемом данной формы работы. Преподавателю предоставляется сам реферат и
презентация к нему. ЗаСдача реферата происходит в форме защиты-доклада с использованием подготовленной
презентации.
Оценочные средства для текущего контроля и аттестации студента
Вопросы для оценки качества освоения дисциплины
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
Основные направления развития высокопроизводительных компьютеров. Пути достижения
параллелизма:
независимость функционирования
отдельных
функциональных
устройств,
избыточность элементов вычислительной системы, дублирование устройств.
Векторная и конвейерная обработка данных.
Многопроцессорная и многомашинная, параллельная обработка данных.
Закон Мура, сдерживающие факторы наращивания количества транзисторов на кристалле и
частоты процессоров. Сдерживающие факторы повсеместного внедрения параллельных вычислений.
Перечень критических задач, решение которых без использования параллельных вычислений
затруднено или вовсе невозможно.
Однопроцессорная оптимизация. Архитектурно-зависимая оптимизация; отличия развертывания
циклов для векторных и кэш-ориентированных архитектур. Конвейерная обработка данных.
Зависимость производительности процессора от способа описания и хранения данных.
Стандартные методики измерения производительности MIPS, MFLOPS и т.д.
Классификация многопроцессорных вычислительных систем
Парадигмы, модели и технологии параллельного программирования
Параллельное программирование с использованием интерфейса передачи сообщений MPI
Параллельное программирование на системах с общей памятью (OpenMP)
Параллельное программирование на системах смешанного типа.
Классификация ошибок параллельных программ (сильные, слабые ошибки ...). Особенности
отладки параллельных приложений. Трассировка.
Степень параллелизма численного алгоритма. Средняя степень параллелизма численного
алгоритма. Зернистость алгоритма. Ускорение и эффективность. Закон Амдала.
Определение параллелизма: анализ задачи с целью выделить подзадачи, которые могут
выполняться одновременно. Выявление параллелизма: изменение структуры задачи таким образом,
чтобы можно было эффективно выполнять подзадачи. Выражение параллелизма: реализация
параллельного алгоритма в исходном коде с помощью системы обозначений параллельного
программирования.
Параллельный алгоритм умножения матрицы на вектор и его ускорение по сравнению с
последовательным алгоритмом.
Параллельный алгоритм умножения матрицы на матрицу и его ускорение по сравнению с
последовательным алгоритмом.
Параллельный алгоритм решения СЛАУ прямым методом Гаусса и его ускорение по сравнению с
последовательным алгоритмом.
Параллельный алгоритм решения СЛАУ итерационными методами Якоби, Гаусса - Зейделя и их
ускорение по сравнению с последовательным алгоритмом.
Параллельная сортировка (алгоритмы пузырьковой сортировки, сортировки Шелла и быстрой
сортировки).
Задачи обработки графов (построение минимального охватывающего дерева, поиск кратчайших
путей).
Учебно-методическое и информационное обеспечение дисциплины
Основная литература
1.
2.
3.
4.
5.
Баденко В. Л. Высокопроизводительные вычисления: учеб. пособие – СПб.: Изд-во Политехн. ун-та, 2010.
– 180 с.
Гергель В.П. Теория и практика параллельных вычислений. – М.:Интернет-Университет, БИНОМ.
Лаборатория знаний, 2007.
Букатов А.А., Дацюк В.Н., Жегуло А.И. Программирование многопроцессорных вычислительных
систем.
Ростов-на-Дону.
Издательство
ООО
«ЦВВР»,
2003,
208
с.
(http://rsusu1.rnd.runnet.ru/tutor/method/index.html)
Воеводин В.В., Воеводин Вл.В. Параллельные вычисления. – СПб.:БХВ-Петербург, 2002.
Немнюгин С., Стесик О. Параллельное программирование для многопроцессорных вычислительных
систем. – СПб.: БХВ-Петербург, 2002, 400 с.
6.
7.
8.
9.
10.
11.
12.
13.
Антонов А.С. "Параллельное программирование с использованием технологии OpenMP: Учебное
пособие".- М.: Изд-во МГУ, 2009
Ортега Дж. Введение в параллельные и векторные методы решения линейных систем: Пер. с англ. М.:
Мир, 1991. 367с.
Эндрюс Г.Р. Основы многопоточного, параллельного программирования. Пер. с англ. М.: Издательский
дом “Вильямс”, 2003. 512с.
Tutorial on MPI: The Message-Passing Interface William Gropp Mathematics and Computer Science
Division Argonne National Laboratory Argonne, IL
Chandra, R., Dagum, L., Kohr, D., Maydan, D., McDonald, J., and Melon, R.. Parallel Programming in OpenMP.
San-Francisco, CA: Morgan Kaufmann Publishers., 2000
Quinn M.J. Parallel Programming in C with MPI and OpenMP. – New York, NY: McGraw-Hill, 2004
Kumar V., Grama A., Gupta A., Karypis G. Introduction to Parallel Computing , Inc. 1994 (2th edition, 2003)
Wilkinson B., Allen M. Parallel programming. – Prentice Hall, 1999
Дополнительная литература
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Антонов А.С. Параллельное программирование с использованием технологии MPI: Учебное пособие.
// http://rsusu1.rnd.runnet.ru/tutor/antonov/
Афанасьев К.Е., Стуколов С.В. КМГЭ для решения плоских задач гидродинамики и его реализация на
параллельных компьютерах: Учебное пособие / Кемерово: КемГУ, 2001. 208 с.
Бахвалов Н.С. Численные методы. М.: Наука, 1975.
Березин И.С. Методы вычислений / Березин И.С., Жидков Н.П. М.: Физматгиз, 1966. Т.1.
Богданов А., Мареев В., Станнова Е., Корхов В. Архитектуры и топологии многопроцессорных
вычислительных систем // электронный учебник http://www.informika.ru/text/teach/topolog/index.htm
Валях Е. Последовательно-параллельные вычисления / Пер. с англ. М.: Мир, 1985. 456с. 24
Голуб Дж., Ван Лоун Ч. Матричные вычисления: Пер. с англ. – М.: Мир, 1999. - 548 с.
Корнеев В.В. Параллельные вычислительные системы. М: ”Нолидж”, 1999. 320 с.
Материалы информационно-аналитического центра НИВЦ МГУ – www.parallel.ru
Старченко А.В. Параллельные вычисления на многопроцессорных вычислительных системах /
Старченко А.В., Есаулов А.О. Томск: ТГУ, 2002. 56 с.
Таненбаум Э. Архитектура компьютера // СПб, Изд-во «Питер», 2002 г
Шнитман В. Современные высокопроизводительные компьютеры. 1996.
http://www.citforum.ru/hardware/svk/contents.shtml
Форсайт Дж. Машинные методы математических вычислений / Форсайт Дж., Малькольм М., Моулер К.
М.: Мир, 1980.
Материально-техническое обеспечение дисциплины
Лекционные занятия проходят в мультимедийной аудитории, оснащенной компьютером и проектором.
Семинарские и практические занятия проходят в компьютерном классе. Первая часть занятия посвящена
разбору нового материала. Вторая часть – выполнению практических заданий с целью закрепления материала.
Для практических занятий необходимы:
 Компьютерные классы, оснащенные ПЭВМ Intel Pentium 4.
 Программное обеспечение: Microsoft Windows XP/2000, Windows 7.
Download