Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
женя610
3 / 3 / 0
Регистрация: 18.09.2011
Сообщений: 61
#1

что выведется (MPI) - C++

26.03.2013, 16:17. Просмотров 273. Ответов 1
Метки нет (Все метки)

сразу создал тему не там..сорри)
что выведется на печать в результате работы фрагмента параллельной программы, которая выполняется
на 2-х процессорах и содержит код:

C++
1
2
3
4
5
6
7
int x[]={1,2,3,4,5,6}, y[3]; int i,j;
......
MPI_Comm_rank(MPI_COMM_WORLD, &i);
MPI_Scatter (x, 3, MPI_INT, y, 3, MPI_INT, 0, MPI_COMM_WORLD);
for (j=0;j<3;j++) y[j]=y[j] * (i+1);
MPI_Reduce (y, x, 3, MPI_INT, MPI_SUM, 0, MPI_COMM_WORLD);
if(i==0) printf("%d %d %d", x[0], x[1], x[2]);
за ранее благодарен за ответ...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.03.2013, 16:17     что выведется (MPI)
Посмотрите здесь:

Что выведется на экран в результате выполнения фрагмента кода? - C++
Помогите пожалуйста, сделать 5 небольших задач , спасибо всем кто откликнется! 1.Что выведется на экран в результате выполнения...

Установка MPI - C++
Ребята помогите с установкой MPI на VS 2012, уже куча всего по устанавливал, прописал все пути в проекте, всё равно не видит....

MPI и возведение в степень - C++
Уважаемые коллеги, я зашел в тупик. Необходимо написать алгоритм возведения числа 2 в степень, подразумеваются &quot;длинные&quot; числа....

Неразрешенный символ MPI - C++
#include &lt;mpi.h&gt; int main(int argc, char **argv) { MPI_Init(&amp;argc, &amp;argv); int rank, size; MPI_Comm_rank(MPI_COMM_WORLD,...

MPI зависает на Recv - C++
Вот код: int _tmain(int argc, char* argv ) { int myrank, ranksize, i; MPI_Status status; MPI_Init(&amp;argc,...

[MPI] Ошибки линковки - C++
Надо было написать проект который складывает числа в массиве. И выводит сумму. Одно из требований использование MPI. Но при компиляции...

принцип геометрического параллелизма на MPI - C++
не знаю, в какой отдел обращаться с этим вопросом, решила сюда. необходимо распараллелить такую задачку: y1=a + a*x1 + a*x2 + a*x3; ...

Создание нового типа MPI - C++
Задача следующая: в каждом процессе дано три числа(одно вещественное, два целых), используя произвольный тип, переслать числа из...

Японский кроссворд с использованием MPI - C++
Нужно создать японский кроссворд на C++, наподобие такого , только с использованием MPI команд, помогите пожалуйста.

Датчика случайных чисел MPI - C++
Всем доброго утра. Нужна помощь, у самого ничего не выходит. Дано вот такое задание; На каждом процессе с помощью датчика...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
myid01
4 / 4 / 1
Регистрация: 13.08.2012
Сообщений: 18
12.04.2013, 22:22     что выведется (MPI) #2
Полньій код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
  #include "mpi.h"
  #include <stdio.h>
  #include <string.h>
int main (int argc, char *argv[])
{
    int x[]={1,2,3,4,5,6}, y[3]; int i,j;
    
    MPI_Init(&argc, &argv);
    MPI_Comm_rank(MPI_COMM_WORLD, &i);
    MPI_Scatter (x, 3, MPI_INT, y, 3, MPI_INT, 0, MPI_COMM_WORLD);
      for (j=0;j<3;j++) y[j]=y[j] * (i+1);
      MPI_Reduce (y, x, 3, MPI_INT, MPI_SUM, 0, MPI_COMM_WORLD);
      
      if(i==0) 
         printf("%d %d %d", x[0], x[1], x[2]);
 
    MPI_Finalize();
    return 0;
}
Компиляция:
~$ mpicc pro4.c -o file.c

Запуск:
~$ mpirun -np 2 ./file

Вьівод:
9 12 15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru