Национальный исследовательский ядерный университет «МИФИ» (Московский Инженерно–Физический Институт) Кафедра №42 «Криптология и кибербезопасность»
2. Описание используемой рабочей среды: модель процессора, объём и тип оперативной памяти, версия и разрядность операционной системы, используемая среда разработки, поддерживаемая ею версия OpenMP;
Для лабораторной работы использовалась среда Jetbrains CLion IDE
Сборка происходит в помощью bash, mpicc и mpirun
Версия MPI
Характеристики компьютера:
- Операционная система: Linux Ubuntu 20.04 x64
- Оперативная память: 16гб
- Процессор: AMD Ryzen 5 4600H with Radeon Graphics 86x
- Количество ядер: 6, обрабатывает в 12 потоков
- Для ознакомления с технологией MPI прочитал учебник "А.С.Антонов Параллельное программирование с использованием технологии MPI
- Скомпилировал исходную программу, посмотрел как работает
- Добавил код, которые автоматизирует прогон на 10 массивах, замеряет время
- Сгенерировал массивы размером 100млн элементов
- Проверил, что программа работает корректно
- Сделал скрипт для общей автоматизации
- Прогнал программу на 1млн, 10млн, 100млн элементов, результаты залогировал
- Построил графики
- Написал вывод
Графики и таблица приведены для миллиона элементов
- Времня работы в зависимости от количества потоков
- Ускорение
- Эффективность
В этой лабораторной работе я познакомился с технологией MPI. Если сравнивать с openMP, то сразу же хочется отметить, что MPI более комплексная технология
Если сравнивать openMP и MPI с точки зрения бенчмарка, можно сказать:
- MPI лушче себя показывает при работe с маленьким количеством потоков
- MPI имеет более не приятный оверхед связанный с операциями распарралеливания, чем openMP
Количество потоков -> | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
---|---|---|---|---|---|---|---|---|---|---|---|---|
Среднее время для 10 разный массивов мс | 19,7 | 10.2 | 7.3 | 5.8 | 7.0 | 7.1 | 6.3 | 5.2 | 4.7 | 5.3 | 9.1 | 11.3 |
Ускорение | 1 | 1,93 | 2,7 | 3,4 | 2,81 | 2,77 | 3,13 | 3,78 | 4,19 | 3,72 | 2,17 | 1,74 |
Эффективность | 1 | 0,97 | 0,9 | 0,85 | 0,56 | 0,46 | 0,44 | 0,47 | 0,46 | 0,37 | 0,2 | 0,15 |