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

UptoLike

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

- 48 -
if (taskid == MASTER)
{
pi = pisum/numtasks;
avepi = ((avepi * i) + pi)/(i + 1);
t2=MPI_Wtime(); // store end time calculated
printf("%9d throws aver.value of PI= %.12lf (rel.error= %.5lf %%, time= %.3lf sec)\n",
(DARTS * (i+1)), avepi, 1.0e2*(pi_prec-avepi)/pi_prec, t2-t1);
}
} // end for (i=0; i<ROUNDS; i++)
MPI_Finalize();
return 0;
} // end of MAIN function
// end of PI_03 program
При выполнении второй части работы следует скомпилировать варианты
PI_SER (на кластере кафедры ИТ-4 МГАПИ команда компиляции и разреше-
ния ссылок icc –o pi_ser pi_ser.c, запуска на исполнение с выдачей данных в
файл pi_ser.out – pi_ser > pi_ser.out), PI_02 и PI_03 программы вычисления зна-
чения
π
, ‘прогнать их в режиме выполнения на одном и нескольких про-
цессорах, проанализировать выдачу.
Индивидуальные задания включает определение числа интервалов интег-
рирования, необходимое для представления числа
π
с заданной относитель-
ной точностью (линейка 10
-2
, 10
-3
, 10
-4
, 10
-5
, 10
-6
), что реализуется путем по-
вторных расчетов при увеличении числавыстрелов’.
Дополнительные задания (самостоятельная работа студентов):
Оценить снижение времени вычисления
π
параллельной версией про-
граммы по отношению к последовательной (файл PI_SER.C) при различных
числахвыстрелов’.
Оценить возможное ускорение вычислений при увеличении числа процес-
соров (‘прогнатьпрограмму на числе процессоров N=3,4,5,6,7,8… c оди-
наковым числомвыстрелов).
Вопросы для самопроверки:
1. Привести примеры априори хорошо распараллеливающихся алгоритмов. В
чем заключается условие близкой к идеальной распараллеливаемости?
2. Будет ли результат численного интегрирования (программа
PI_01.C) моно-
тонно стремиться к точному значению соответствующего определенного
интеграла при неограниченном увеличении числа интервалов интегриро-
вания?
3. Каким образом и от каких параметров датчика случайных чисел при мето-
дестрельбызависит точность вычисления определенного интеграла? Ка-
кой оценки числа
π
следует ожидать при статистически неравномерном
распределении
координат точеквыстрелов’: a) в случае расположения
if (taskid == MASTER)
{
  pi = pisum/numtasks;
  avepi = ((avepi * i) + pi)/(i + 1);
  t2=MPI_Wtime(); // store end time calculated
  printf("%9d throws aver.value of PI= %.12lf (rel.error= %.5lf %%, time= %.3lf sec)\n",
         (DARTS * (i+1)), avepi, 1.0e2*(pi_prec-avepi)/pi_prec, t2-t1);
}
} // end for (i=0; i pi_ser.out), PI_02 и PI_03 программы вычисления зна-
чения π , ‘прогнать’ их в режиме выполнения на одном и нескольких про-
цессорах, проанализировать выдачу.
  Индивидуальные задания включает определение числа интервалов интег-
рирования, необходимое для представления числа π с заданной относитель-
                              -2   -3     -4   -5   -6
ной точностью (линейка 10 , 10 , 10 , 10 , 10 ), что реализуется путем по-
вторных расчетов при увеличении числа ‘выстрелов’.

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

•   Оценить снижение времени вычисления π параллельной версией про-
    граммы по отношению к последовательной (файл PI_SER.C) при различных
    числах ‘выстрелов’.
•   Оценить возможное ускорение вычислений при увеличении числа процес-
    соров (‘прогнать’ программу на числе процессоров N=3,4,5,6,7,8… c оди-
    наковым числом ‘выстрелов).

    Вопросы для самопроверки:

1. Привести примеры априори хорошо распараллеливающихся алгоритмов. В
   чем заключается условие близкой к идеальной распараллеливаемости?
2. Будет ли результат численного интегрирования (программа PI_01.C) моно-
   тонно стремиться к точному значению соответствующего определенного
   интеграла при неограниченном увеличении числа интервалов интегриро-
   вания?
3. Каким образом и от каких параметров датчика случайных чисел при мето-
   де ‘стрельбы’ зависит точность вычисления определенного интеграла? Ка-
   кой оценки числа π следует ожидать при статистически неравномерном
   распределении координат точек ‘выстрелов’: a) в случае расположения

                                            - 48 -