Курсовая работа (т): Технология OpenMP

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Рассмотрение средств отладки

Для отладки трех программ применялись встроенные средства Microsoft Visual2013. Основным же средством отладки являлась Intel Parallel Studio XE 2015 Professional. Для работы использовались Intel Inspector XE 2015 и Intel VTune Amplifier XE 2015. Intel Inspector XE 2015 это утилита для тестирования программы на наличие утечек памяти, проверки потоков на состояние гонки и взаимных блокировок. Intel VTune Amplifier XE 2015 применяется для анализа производительности программ, т.е. для оценки временных затрат участков кода и тем самым позволяет находить узкие по производительности места.

Отладка программ, осуществлялась с использованием утилиты Intel Inspector XE 2015. Проверялись: неинициализированные переменные, конфликт доступа к данным, утечка памяти. В результате отладки во всех 3 программах, во второй был найден конфликт доступа к данным, проблема была решена после применением параметров shared() и private(), в двух других ошибок не было выявлено.

Анализ эффективности

Тестирование проводилось на примерах сортировки матриц и их умножения, так же использовались данные от NAS Division и NASA Arms Research Center. Ниже приведена таблица для первого и второго примера.

Таблица 2, для примера 1

 Количество ядер

2

4

6

8

Быстрая сортировка

0,031

0,030

0,016

0,020

Пузырьковая

47,299

28,487

28,405

30,210


Как видно по таблице 2 с увеличением количества ядер, время работы на выполнение сортировок уменьшается.

Таблица 3, для примера 2


1024х1024

1680х1680

1800х1800

С технологией OpenMP

54,5235

59,8104

69,7429

Без OpenMP

118,071

128,584

137,494


Таблица 3 дает понимание того, как влияет технология OpenMP на скорость вычислений.

Далее приведём некоторые пояснения:

Таблица 4

Обозначение

BT

3D Навье-Стокс, метод переменных направлений

CG

Оценка наибольшего собственного значения симметричной разреженной матрицы

EP

Генерация пар случайных чисел Гаусса

FT

Быстрое преобразование Фурье, 3D спектральный метод

IS

Параллельная сортировка

LU

3D Навье-Стокс, метод верхней релаксации

MG

3D уравнение Пуассона, метод Multigrid

SP

3D Навье-Стокс, Beam-Warning approximate factorization


Рисунок 5. Analyzing the Effect of Different Programming Models Upon Performance and Memory Usage on Cray XT5 Platforms [10]

Рисунок 6. Analyzing the Effect of Different Programming Models Upon Performance and Memory Usage on Cray XT5 Platforms [10]

Как видно OpenMP является хорошим инструментом распараллеливания, это достигается за счет того, что реализовано инкрементное распараллеливание, имеет очень гибкий механизм для контроля разработчику над параллельной программой, так же в OpenMP простой набор директив для изучения и применения, которые, могут в случаи ненадобности, игнорироваться компилятором без вреда для работы программы.

Заключение

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

Проведён сравнительный анализ из полученных тестовых данных.

Список литературы

1)      Антонов А.С. Параллельное программирование с использованием технологии OpenMp. - М.: Изд-во МГУ, 2009. - 77 с

2)         Малышкин В.Э. Параллельное программирование мультикомпьютеров, Новосибирск, 2006. - 452 с

3)         Бахтин А.В. Технология параллельного программирования OpenMP, Москва, 2012. - 125 с

4)         Воеводин В.В., Воеводин Вл.В. Параллельные вычисления. - СПб.:

БХВ-Петербург, 2002.

5)      Chandra, R., Dagum, L., Kohr, D., Maydan, D., McDonald, J., and Melon, R.(2000). Parallell Programming in OpenMP. San-Francisco, CA: Morgan Kaufmann Publishers.

6)         Quinn, M. J. (2004). Parallel Programming in C with MPI and OpenMP. - New York, NY: McGraw-Hill.

7)         Гергель В.П. Параллельное программирование с использованием

OpenMP, Новосибирск, 2007. - 33с

8)      Параллельные заметки. URL: http://habrahabr.ru/company/intel/blog/82486

9)         Лабораторная работа. Компиляция и запуск программ. URL:http://gigabaza.ru/doc/106635.html

10)       OpenMP Compilers. - URL: http://openmp.org/wp/openmp-compilers/

11)       Analyzing the Effect of Different Programming Models Upon Performance and Memory Usage on Cray XT5 Platforms

12)       URL: https://www.nersc.gov/assets/NERSC-Staff-Publications/2010/Cug2010Shan.pdf

13)       Дистрибутив Intel Parallel Studio XE 2015. URL: https://software.intel.com/en-us/intel-parallel-studio-xe

Источник: https://www.bibliofond.ru/detail.aspx?id=872012