ЛР3. Вычисление числа PI
.docxБыла написана программа для вычисления числа PI. Слагаемые ряда делятся между всеми параллельными процессами примерно поровну. Итоговый результат каждый процесс рассылает корневому в результирующий буфер при помощи функции MPI_Reduce().
Подключение заголовков, инициализация параллельной части программы, сбор начальных сведений о процессах группы.
На скриншоте ниже изображен главный цикл программы с вычислением числа PI. Кол-во слагаемых в ряде для вычисления определяет пользователь.
Получившиеся суммы каждого отдельного процесса передаются в виде сообщений корневому процессу в его буфер приёма. Этот результат и будет итоговым.
Вывод:
С увеличением количества слагаемых расхождение с эталонным вариантом числа PI становится всё меньше, но из-за увеличивающихся количеств вычислений время затраченное на них увеличивается.
Задачи способные к распараллеливанию можно решать, разделяя основной алгоритм на идентичные части, которые будут выполняться параллельно в программе. Итоговый результат можно собирать с применением функций рассылки сообщений, как это реализовано в библиотеке MPI.