Параллельное программирование в стандарте MPI. Баканов В.М - 48 стр.

UptoLike

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

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

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