Высокопроизводительные вычисления на кластерах. Беликов Д.А - 70 стр.

UptoLike

70
каждого процесса в общем массиве на нулевом процессе. Результат
распечатать.
9. Каждый инициализированный процесс с помощью датчика
случайных чисел задает переменную (rand())=temp
+rank 1
cos .Найти
наибольшее и наименьшее значение temp на всех процессах. Распе-
чатать их на нулевом процессе. Заменить на четных процессах
temp<-max(temp), а на нечетных temp<-min(temp).
10. На каждом из size процессов компоненты массива
m
y,,y,y ...
21
вычисляются по формуле 8...1,2 =mm,,=k,x=y
k
k
,
значение
x
на процессе с номером 1-...size0,1,=rank определяется
с помощью датчика случайных чисел: rand()))+((rank=x 1cos .
Вычислить
110
...
size
R++R+R , где
1210
1
1
1
1
,...,size-,,i=,
+y
=R
m
k
i
, и
выдать полученный результат на всех процессах.
11. На нулевом процессе ввести из файла значение целого типа в
переменную temp. Для инициализированных процессов организо-
вать передачу этого значения по схеме 0→1, 0→2, ... 0→size-1 с
помощью функции Bcast. Затем каждый процесс умножает temp на
свой номер, и полученный результат возвращается на нулевой про-
цесс, где он суммируется с результатами, полученными с остальных
процессов. Сумма выдается на экран.
12. На каждом процессе определить значение переменной temp.
Затем с использованием процедур Send и Recv организовать
m-кратный сдвиг значений temp по кольцу 0→1→2→…→size-1.
Значение m определено заранее и известно каждому процессу. Ре-
зультат сдвига данных распечатать.
13. На каждом процессе определить значение переменной temp.
Затем с использованием функций Send и Recv организовать переда-
чу значения temp от каждого процесса остальным и замену значения
temp наибольшим. Результат распечатать.
14. Сравнить эффективность передачи данных между двумя про-
цессами без блокировки и с блокировкой.
15. Вычислить скалярное произведение векторов, компоненты
которых равномерно распределены между инициализированными
процессами. Результат распечатать на «0»-м процессе.
16. Сравнить эффективность коллективной операции Bcast с реа-
лизацией процедуры рассылки значения на остальные процессы с
помощью функций MPI Send и Recv.