Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Diplom_konets.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
227.89 Кб
Скачать

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

Федеральное государственное автономное образовательное учреждение высшего образования

«КРЫМСКИЙ ФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТ имени В. И. Вернадского»

Таврическая академия (структурное подразделение)

Факультет математики и информатики

Кафедра прикладной математики и информатики

ВЫПУСКНАЯ КВАЛИФИКАЦИОННАЯ РАБОТА

(пояснительная записка)

_______________бакалавра_______________

(образовательно-квалификационный уровень)

на тему Анализ производительности технологий параллельного программирования

Выполнил: студент (ка) 4 курса, группы 402

направление подготовки

1.3.2. Прикладная математика и информатика

Нусретов Э. Ш.

Руководитель Чудиновских А. И.

Рецензент

Симферополь – 2016 год

Содержание:

  1. Введение.................................................................................................... 2

  2. Проблемы, связанные с использованием параллельных

алгоритмов……………………………………………………………… 3

  1. Примеры и описание технологий параллельного

программирования……………………………………………………... 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, их особенностями на уровне достаточном для осознанного выбора конкретной технологии, для дальнейшего детального освоения.

– Обзор программ, использующих данные технологии.

– Анализ тестов производительности вычислительного кластера на четырехъядерных процессорах.

Не так давно, быстродействие компьютера определялось тактовой частотой. Оно повышалась и программы работали быстрее. Но существовали «большие» задачи, которые не по силам одному компьютеру. Для их решения и были созданы параллельные вычисление системы. И теперь, параллельное программирование, стало технологией, которую должен освоить и уметь применять любой профессиональный разработчик ПО.

Параллельные программирование отличается от традиционного, последовательного программирования, тем, что оно включает в себя следующие этапы:

– Определение параллелизма: анализ задачи с целью выделить подзадачи, которые могут выполняться одновременно.

– Выявление параллелизма: изменение структуры задачи, чтобы можно было эффективно выполнить подзадачи.

– Выражение параллелизма: реализация параллельного алгоритма в исходном коде с использованием технологии параллельного программирования.

В параллельном программирование используются алгоритмы, которые могут быть реализованы по частям на множестве различных вычислительных устройств, с последующим объединением полученных результатов и получением конечного ответа. Выбор конкретной технологии может оказаться непростой задачей, так как обучение каждый, требует больших временных затрат. И чтобы выбрать подходящую не нужно осваивать несколько технологий.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]