Аннотация

Немнюгин Сергей Андреевич
Санкт-Петербургский государственный университет
Лабораторные работы ориентированы на книгу An Introduction to Parallel Computing: Design and Analysis of Algorithms, by Ananth Grama, George Karypis, Vipin Kumar, Anshul Gupta, Second Edition, 2003, а также другие книги, используемые в качестве учебников по основам высокопроизводительных вычислений в университетах Европы, США и Российской Федерации. Основной акцент делается на применение многоядерных систем, методы программирования для них, а также использование программных инструментов разработки высокопроизводительных вычислений.
Материал каждой лабораторной работы включает описание и постановку задач, шаблоны программ и примеры (там, где это необходимо), краткие комментарии к лабораторной работе (для преподавателя).
Лабораторные работы разработаны при поддержке корпорации Intel.

Лабораторные работы 1.1 и 1.2
«Распараллеливание основных векторных операций с использованием низкоуровневых интерфейсов. Windows API»
«Распараллеливание основных векторных операций с использованием низкоуровневых интерфейсов. POSIX Threads»

Основные цели лабораторной работы:
Знакомство с основами многопоточного программирования с использованием прикладного программного интерфейса Windows (лабораторная работа 1.1).
Знакомство с основами многопоточного программирования с использованием прикладного программного интерфейса POSIX threads (лабораторная работа 1.2).
Исследование влияния различных способов декомпозиции по данным на масштабируемость параллельного приложения;
Знакомство с некоторыми аспектами разработки параллельных приложений, оказывающих влияние на их масштабируемость.

Лабораторная работа 2
«Реализация параллельных алгоритмов основных векторных операций с использованием OpenMP и программных инструментов Intel»

Основные цели лабораторной работы 2:
Знакомство с основами многопоточного программирования с использованием OpenMP, а также основными проблемами разработки параллельных OpenMP приложений. Знакомство с основами использования Intel® Math Kernel Library. Сравнение различным методов оптимизации при компиляции: общей (On), векторизации с использованием расширений наборов инструкций SSE, автоматического распараллеливания и оптимизации на основе профилирования. Знакомство с основами использования Intel® Integrated Performance Primitives.

Лабораторная работа 3
«Параллельные алгоритмы основных матричных операций»

Основные цели лабораторной работы 3:
Распараллеливание программы умножения матриц с помощью OpenMP и исследование эффективности различных методов распараллеливания. Совершенствование навыков использования of Intel® Integrated Performance Primitives; Практическая работа с программными инструментами Intel (Intel® Thread Checker, Intel® Parallel Studio).

Лабораторная работа 4
«Численное решение спектральной задачи для матриц»
Задача вычисления собственных значений и собственных векторов матриц часто возникает в прикладных расчётах (в физике, биологии и т. д.). Численные методы решения этой задачи могут быть трудоёмкими. В данной лабораторной работе для увеличения эффективности вычисления собственных значений и собственных векторов используются методы оптимизации, основанные на параллельном программировании для многоядерных систем.

Основные цели лабораторной работы 3:
Знакомство с Intel® Integrated Performance Primitives как инструментом вычисления собственных значений и собственных векторов матриц. Знакомство и практическая работа с библиотекой Intel® Math Kernel Library (подмножество LAPACK) как инструментом вычисления собственных значений и собственных векторов матриц.

Лабораторная работа 5
«Параллельные алгоритмы вычислительной алгебры. Метод Монте-Карло»
Проблема численного решения систем линейных алгебраических уравнений часто возникает в прикладных расчётах (в физике, биологии и т. д.). Численные методы решения этой проблемы могут быть трудоёмкими. Данная работа посвящена методу Монте-Карло решения систем линейных алгебраических уравнений и его исследованию с точки зрения масштабируемости. Рассматривается применение как «стандартных», так и потоковых генераторов псевдослучайных чисел.

Основные цели лабораторной работы 5:
Знакомство с потоковыми генераторами псевдослучайных чисел в Intel® Math Kernel Library. Исследование параллельных реализаций метода с помощью OpenMP с использованием «стандартных» и потоковых генераторов псевдослучайных чисел из Intel® MKL с точки зрения масштабируемости и эффективности на многоядерных системах.

Лабораторная работа 6
«Параллельные алгоритмы численного решения дифференциальных уравнений»
Проблема численного решения дифференциальных уравнений часто возникает в прикладных расчётах (в физике, математике, механике и т. д.). Численные методы решения дифференциальных уравнений могут быть очень трудоёмкими. В данной работе рассматривается численное решение задачи Дирихле для уравнения Пуассона. Уравнения такого вида встречаются в гидродинамике, в теории упругости, при вычислении тепловых полей и т. д. На примере численного решения этого уравнения рассматриваются проблемы организации параллельных вычислений и возможные способы их решения.

Основные цели лабораторной работы 6:
Знакомство с последовательным алгоритмом Гаусса-Зейделя решения уравнения Пуассона. Знакомство с функциями синхронизации OpenMP. Показать, как избыточное использование синхронизации приводит к значительной потере эффективности параллельных OpenMP-программ. Показать, как различные способы организации вычислений могут влиять на эффективность и масштабируемость параллельных OpenMP-приложений. Знакомство с параллельными алгоритмами «волнового фронта».

Лабораторная работа 7
«Параллельные алгоритмы на графах. Декомпозиция по задачам в OpenMP 3.0»
В данной работе рассматриваются параллельные версии алгоритмов на графах. Первым из них является алгоритм Дейкстры поиска кратчайших путей между парами вершин. В его параллельной версии пути, имеющие один источник, распределяются между разными потоками. Второй алгоритм – алгоритм Флойда. В этой работе используется функциональность, появившаяся в OpenMP 3.0 – «задачи». Эта функциональность позволяет реализовать параллелизм с помощью OpenMP еще эффективнее.

Основные цели лабораторной работы:
Знакомство с последовательными алгоритмами на графах: Дейкстры и Флойда. Знакомство с использованием «задач» в OpenMP 3.0. Исследование масштабируемости параллельных алгоритмов поиска кратчайших путей на графе, реализованных, в том числе с использованием «задач» OpenMP 3.0.

Оставить комментарий.
Подпись
Код на картинке
© 2010-2016, ООО ПАРСЕР , Все права защищены.
Деловая сеть Санкт-Петербург и Ленинградская область. Жёлтые страницы, телефонный справочник и каталог компаний, товаров и услуг.
top.dp.ru