Материал: Технология параллельного программирования OpenMP

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

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

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

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

2

4

6

8

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

0,031

0,030

0,016

0,020

Пузырьковая

47,299

28,487

28,405

30,210

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

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


1024х1024

1680х1680

1800х1800

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

54,5235

59,8104

69,7429

Без OpenMP

118,071

128,584

137,494

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

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

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

Аббревиатура

Обозначение

BT

CG

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

EP

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

FT

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

IS

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

LU

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

MG

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

SP

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

Таблица 4.

Рисунок 5.

the Effect of Different Programming Models Upon Performance and Memory Usage on Cray XT5 Platforms [10]

Рисунок 6.

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)         Гергель В.П. Параллельное программирование с использованием, Новосибирск, 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