Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 10.10.2018
Сообщений: 20
1

Коллективные взаимодействия процессов

14.12.2018, 12:59. Показов 620. Ответов 0

Author24 — интернет-сервис помощи студентам
всем доброго времени суток. имеется следующая программа:
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
/*
 * Рассылка строк массива с использованием функции MPI_Scatter
 */
 
#include <mpi.h>
#include <stdio.h>
#define N 4
 
int main(int argc, char **argv)
{
    int i,size, rank, sendcount, recvcount, source;
    float sendbuf[N][N] = {
      {1.0, 2.0, 3.0, 4.0},
      {5.0, 6.0, 7.0, 8.0},
      {9.0, 10.0, 11.0, 12.0},
      {13.0, 14.0, 15.0, 16.0}  };
    float recvbuf[N];
 
    MPI_Init(&argc,&argv);
    MPI_Comm_rank(MPI_COMM_WORLD, &rank);
    MPI_Comm_size(MPI_COMM_WORLD, &size);
    
    if (size == N) {
      source = 1;
      sendcount = N;
      recvcount = N;
    MPI_Scatter(sendbuf,sendcount,MPI_FLOAT,recvbuf,recvcount, MPI_FLOAT,source,MPI_COMM_WORLD);
      printf("rank= %d  Results: %f %f %f %f\n",rank,recvbuf[0],
             recvbuf[1],recvbuf[2],recvbuf[3]);
    }
    else
      printf("Must specify %d processors. Terminating.\n",N);
 
 
    MPI_Finalize();
}

нужно выполнить задания 1 и 2, 1- используя MPI_Gather; 2- используя MPI_Bcast
1) необходимо модифицировать программу таким образом, чтобы все
процессы отправляли по одной строке массива нулевому процессу, который
выводил бы массив построчно.
2)модифицировать программу таким образом, чтобы нулевой
процесс разослал всем процессам коммуникатора первые 6 элементов массива.
После получения сообщения все процессы должны вывести свой номер и
полученные элементы в формате:
Кликните здесь для просмотра всего текста
I am <Номер процесса> process. I received elements: <Элемент 1>, … ,
< Элемент 6>.

заранее благодарен за помощь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.12.2018, 12:59
Ответы с готовыми решениями:

Модель взаимодействия процессов типа клиент-сервер
РЕбятки, дали сделать курсак, а как его реализовать ну совсем что-то в голову не приходит....

Организация взаимодействия двух процессов через общую область данных
Почему не правильно передаются значения? #include &lt;Windows.h&gt; #include &lt;iostream&gt; #include...

Нахождение среди выполняющихся процессов имён процессов с наименьшим значением BasePriority
Разработать командлет для нахождения среди выполняющихся процессов имен процессов с наименьшим...

Найти среди выполняющихся процессов имена процессов, имеющих одинаковые ProductVersion
нахождения среди выполняющихся процессов имен процессов, имеющих одинаковые ProductVersion. ...

0
14.12.2018, 12:59
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.12.2018, 12:59
Помогаю со студенческими работами здесь

Нахождение среди выполняющихся процессов имён 3-х процессов, использовавших более всего процессорного времени
Помогите выполнить задание! Нахождения среди выполняющихся процессов имен трех процессов,...

Нахождение среди выполняющихся процессов имён процессов, у которых значения параметра WorkingSet одинаковы
Необходимо создать командлет, который находит среди выполняющихся процессов имена процессов, у...

Завершение всех запущенных процессов из находящегося в текстовом файле списка запрещенных к запуску процессов
пожалуйста помогите написать батник. Задать в текстовом файле список процессов, запрещенных к...

Создание задания, добавление процессов, удаление процессов
Здравствуйте. Уже который день бьюсь со своей лабораторной работой - не получается, и все. Идея...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru