Учебно-экспериментальный вычислительный кластер. Ч. 2. Примеры решения задач - page 19

Таблица 2
№ п/п Тема занятия
Содержание
1 Введение в па-
раллельные вы-
числения
Актуальные вопросы параллельных вычислений, исто-
рия и перспективы развития суперкомпьютерной техни-
ки, современные технологии разработки масштабируе-
мых приложений, актуальные вычислительно сложные
задачи и методы их решения.
2, 3 Особенности
языка програм-
мирования С++
Обзор языка, базовые и производные типы данных, мас-
сивы и указатели, адресация данных в памяти и работа
с динамической памятью. Специфика ввода-вывода дан-
ных. Функции и аргументы функций. Подходы к разра-
ботке переносимых приложений.
4 Архитектура
вычислитель-
ных комплексов
(ВК)
Классификация ВК, аппаратная и логическая структура
ВК кластерного типа. Классификация Флинна, паралле-
лизм данных и инструкций. Обзор типов вычислителей,
многоядерные CPU, видеоускорители GPU. Типы вычи-
слительных сетей, применяемых в ВК. Кластерные опе-
рационные системы, оценка производительности класте-
ра.
5, 6 Технология
параллельного
программирова-
ния OpenMP для
систем с общей
памятью
Обзор технологий параллельного программирования.
Многопоточная архитектура параллельной программы.
Вычислительный модуль как несколько вычислительных
ядер. Основные инструкции библиотеки OpenMP, спе-
цификаторы переменных, видимость данных и коррект-
ность доступа к ним. Методы распараллеливания циклов
и контроля распределения загрузки ядер. Примеры па-
раллельных программ: вычисление интеграла, перемно-
жение матриц, решение двумерной нестационарной за-
дачи теплопроводности.
7–9 Технология
параллельного
программи-
рования MPI
для систем с
распределенной
памятью
Структура и логика MPI-программы. Основные возмож-
ности библиотеки MPI. Типы данных, используемые
в MPI, коммуникаторы, группы процессов. Синтаксис
основных команд. Обмены данными и синхронизация
процессов. Примеры параллельных программ: вычисле-
ние интеграла, решение двумерной нестационарной за-
дачи теплопроводности, решение задачи
N
тел.
10, 11 Технология
параллельного
программирова-
ния CUDA для
систем с видео-
ускорителями
nVidia
Использование графических ускорителей для вычисле-
ний. Особенности архитектуры GPU, специфика разра-
ботки алгоритма и организации данных для расчетов
на GPU. Библиотека nVidia CUDA, структура CUDA-
программы. Синтаксис основных команд, компиляция
исходных кодов. Выделение и разработка функции-ядра,
исполняемой на GPU, особенности работы с различны-
ми типами памяти. Примеры CUDA-программ: различ-
ные реализации алгоритма перемножения матриц, реше-
ние двумерной нестационарной задачи теплопроводно-
сти.
Указанный курс является одним из элементов подготовки специ-
алистов в области математического моделирования, владеющих ап-
паратом высокопроизводительных вычислений. Дальнейшее развитие
100
ISSN 1812-3368. Вестник МГТУ им. Н.Э. Баумана. Сер. “Естественные науки”. 2012. № 4
1...,9,10,11,12,13,14,15,16,17,18 20,21
Powered by FlippingBook