Введение в практику разработки параллельных программ в стандарте MPI. Баканов В.М - 42 стр.

UptoLike

Составители: 

- 42 -
Возможно точное (double при данной разрядной сетке ЭВМ) значение
π
определяется как 4.0*(atanl(1.0)-atanl(0.0)) и сравнивается с численно вычис-
ленным (относительная ошибка rel.error выдается в процентах).
Образец в
ыдачи программы приведен ниже (запуск на процессорах кла-
стера кафедры ИТ-4 МГАПИ):
LAM 7.0.6/MPI 2 C++ - Indiana University
Calculation of PI by numerical Integration with 10000 intervals
Master: Sending # of intervals to MPI-Processes
Master: Has collected sum from MPI-Processes
Pi estimation: 3.141592654423 (rel.error= -0.00001 %)
5 tasks used - Execution time: 0.017 sec
Statistics:
Master: startup: 4243 msec
Master: time to send # of intervals: 0.000 sec
Master: waiting time for sincro after calculation: 0.00 sec
Master: time to collect: 0.000 sec
Master: calculation time: 0.017 sec
process 1: calculation time: 0.016 sec, waiting time for sincro.: 0.001 sec
process 2: calculation time: 0.017 sec, waiting time for sincro.: 0.000 sec
process 3: calculation time: 0.016 sec, waiting time for sincro.: 0.001 sec
process 4: calculation time: 0.015 sec , waiting time for sincro.: 0.002 sec
Индивидуальные задания включает определение числа интервалов интег-
рирования, необходимое для представления числа
π
с заданной относитель-
ной точностью (линейка 10
-2
, 10
-3
, 10
-4
, 10
-5
, 10
-6
), что реализуется методом
повторных расчетов при увеличивающемся intervals).
Дополнительные задания (самостоятельная работа студентов):
Обеспечить автоматический выбор оптимального числа интервалов вычис-
ления интеграла (методом удвоения начального значения intervals до мо-
мента непревышения точности вычислений точности представления dou-
ble-вещественного числа).
Оценить возможное ускорение вычислений при увеличении числа процес-
соров (‘прогнатьпрограмму на числе процессоров N=2,3,4,5,6,7,8… c
одинаковым числом intervals), при этом оценить точность вычисления чис-
ла
π
.
Изменить программу вычисления определенного интеграла путем замены
функций обменаточка-точка’, коллективными функциями MPI_Bcast (пе-
редачаодин-всем из ветви 0, функция передает число интервалов всем
параллельным ветвям) и MPI_Reduce (получение данных от всех ветвей и
суммирования их в ветви 0).
  Возможно точное (double при данной разрядной сетке ЭВМ) значение π
определяется как 4.0*(atanl(1.0)-atanl(0.0)) и сравнивается с численно вычис-
ленным (относительная ошибка rel.error выдается в процентах).
  Образец выдачи программы приведен ниже (запуск на процессорах кла-
стера кафедры ИТ-4 МГАПИ):

LAM 7.0.6/MPI 2 C++ - Indiana University

    Calculation of PI by numerical Integration with 10000 intervals
    Master: Sending # of intervals to MPI-Processes
    Master: Has collected sum from MPI-Processes

    Pi estimation: 3.141592654423 (rel.error= -0.00001 %)
    5 tasks used - Execution time: 0.017 sec

    Statistics:
    Master: startup: 4243 msec
    Master: time to send # of intervals: 0.000 sec
    Master: waiting time for sincro after calculation: 0.00 sec
    Master: time to collect: 0.000 sec
    Master: calculation time: 0.017 sec
    process 1: calculation time: 0.016 sec, waiting time for sincro.: 0.001 sec
    process 2: calculation time: 0.017 sec, waiting time for sincro.: 0.000 sec
    process 3: calculation time: 0.016 sec, waiting time for sincro.: 0.001 sec
    process 4: calculation time: 0.015 sec , waiting time for sincro.: 0.002 sec

  Индивидуальные задания включает определение числа интервалов интег-
рирования, необходимое для представления числа π с заданной относитель-
                          -2  -3   -4   -5   -6
ной точностью (линейка 10 , 10 , 10 , 10 , 10 ), что реализуется методом
повторных расчетов при увеличивающемся intervals).

    Дополнительные задания (самостоятельная работа студентов):

•   Обеспечить автоматический выбор оптимального числа интервалов вычис-
    ления интеграла (методом удвоения начального значения intervals до мо-
    мента непревышения точности вычислений точности представления dou-
    ble-вещественного числа).
•   Оценить возможное ускорение вычислений при увеличении числа процес-
    соров (‘прогнать’ программу на числе процессоров N=2,3,4,5,6,7,8… c
    одинаковым числом intervals), при этом оценить точность вычисления чис-
    ла π .
•   Изменить программу вычисления определенного интеграла путем замены
    функций обмена ‘точка-точка’, коллективными функциями MPI_Bcast (пе-
    редача ‘один-всем’ из ветви 0, функция передает число интервалов всем
    параллельным ветвям) и MPI_Reduce (получение данных от всех ветвей и
    суммирования их в ветви 0).

                                              - 42 -