- •1.3.2. Прикладная математика и информатика
- •2. Проблемы, связанные с использованием параллельных алгоритмов
- •3. Примеры и описание технологий параллельного программирования
- •3.1. Технологии для разработки параллельных программ для систем с общей и распределенной памятью.
- •3.1.1. Модель передачи сообщений. Mpi.
- •3.2. Технологии разработки параллельных программ для графических процессоров
- •4. Средства анализа технологий параллельного программирования.
- •4.1. Комплексный подход к анализу эффективности программ для параллельных вычислительных систем
- •4.2. Типы анализа производительности
- •5.Анализ производительности технологий mpi и OpenMp
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
Федеральное государственное автономное образовательное учреждение высшего образования
«КРЫМСКИЙ ФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТ имени В. И. Вернадского»
Таврическая академия (структурное подразделение)
Факультет математики и информатики
Кафедра прикладной математики и информатики
ВЫПУСКНАЯ КВАЛИФИКАЦИОННАЯ РАБОТА
(пояснительная записка)
_______________бакалавра_______________
(образовательно-квалификационный уровень)
на тему Анализ производительности технологий параллельного программирования
Выполнил: студент (ка) 4 курса, группы 402
направление подготовки
1.3.2. Прикладная математика и информатика
Нусретов Э. Ш.
Руководитель Чудиновских А. И.
Рецензент
Симферополь – 2016 год
Содержание:
Введение.................................................................................................... 2
Проблемы, связанные с использованием параллельных
алгоритмов……………………………………………………………… 3
Примеры и описание технологий параллельного
программирования……………………………………………………... 4
3.1. Технологии для разработки параллельных программ
для систем с общей и распределенной памятью ................................ 4
3.1.1. Основы технологии MPI..................................................................... 5
3.1.2. Основы технологии OpenMP.............................................................. 7
3.2. Технологии разработки параллельных программ для
графических процессоров.................................................................... 11
3.2.1. Основы технологии CUDA............................................................... 11
3.2.2. Основы технологии OpenCL............................................................ 18
4. Средства анализа производительности программ для параллельных вычислительных систем ………………………………………………21
4. 1. Комплексный подход к анализу эффективности программ для параллельных вычислительных систем
4.2. Типы анализа производительности............................................... 21
4.3. Описание программ для анализа технологий............................... 21
5. Анализ производительности технологий MPI и Open MP….............. 26
6. Заключение............................................................................................... 31
7. Список использованной литературы..................................................... 32
Введение
.
Задачами работы является:
– Рассмотрение проблем, связанных с использованием параллельных алгоритмов.
– Ознакомление с характеристиками технологий параллельного программирования.
– Ознакомление с технологиями для разработки параллельных программ для систем с общей и распределенной памятью MPI и OpenMP. А также и знакомство с технологиями разработки параллельных программ для графических процессоров CUDA и OpenCL, их особенностями на уровне достаточном для осознанного выбора конкретной технологии, для дальнейшего детального освоения.
– В работе предоставлены примеры реализации кода для MPI и OpenMP.
Также мы рассмотрим типы и способы тестирования производительности технологий параллельного програмирования н а примере кластера.
В параллельном программирование действуют правила, такие что все алгоритмы, которые можно реализовать частями, необходимо разбивать по процессорам, а в последствии объединить полученные результаты. Выбор конкретной технологии – это нелегкая задача, так как обучение каждой, требует много времени. Данная работа должна предоставить краткий обзор работ технологий MPI, OpenMP и CUDA.
