0 / 0 / 0
Регистрация: 28.06.2013
Сообщений: 90
1

Из данной задачи составить параллельную программу вычисления произведения элементов вектора

17.06.2014, 05:51. Показов 482. Ответов 0
Метки нет (Все метки)

Помогите, пожалуйста, из данной задачи составить параллельную программу вычисления произведения элементов вектора, используя функцию широковещательной рассылки


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
37
38
39
40
41
42
43
44
45
46
47
48
49
#include "mpi.h"
#include <time.h>
#include <stdio.h>
#include <stdlib.h>
 
 
int main (int argc, char *argv[]) 
    {
    srand(time(NULL));
    int Size, Rank, n, i;
    double t1, t2, ttime;
    t1=MPI_Wtime();
    MPI_Status Status; 
    MPI_Init (&argc, &argv);
    MPI_Comm_size (MPI_COMM_WORLD, &Size);
    MPI_Comm_rank (MPI_COMM_WORLD, &Rank);
    n=0;
    if(Rank==0)
    MPI_Send(&n, 1, MPI_INT, 1, 0, MPI_COMM_WORLD);
    for (i=1; i<Size; i++)
        { 
        if (Rank==i && Rank!=Size-1)
        {
            MPI_Recv(&n, 1, MPI_INT, i-1, 0, MPI_COMM_WORLD, &Status);
            n++;
            MPI_Send(&n, 1, MPI_INT, i+1, 0, MPI_COMM_WORLD);
        }
        if (Rank==Size-1 && i==Size-1)
            {
            MPI_Recv(&n, 1, MPI_INT, i-1,0, MPI_COMM_WORLD, &Status);
            n++;
            MPI_Send(&n, 1, MPI_INT, 0, 0, MPI_COMM_WORLD);
            }
        }
    if (Rank==0)
    {
        MPI_Recv(&n, 1, MPI_INT, Size-1, 0, MPI_COMM_WORLD, &Status);
        n++;
        printf("\n **************************************\n"); 
        printf("\n Rank: %d", Rank); 
        printf("\n chislo prosessoriv %d", Size); 
        printf("\n chislo N %d\n", n);
        t2=MPI_Wtime();
        ttime=t2-t1;
        printf("time: %f\n", ttime);
    }
    MPI_Finalize();
    return 0; 
    }
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.06.2014, 05:51
Ответы с готовыми решениями:

Как составить программу для вычисления произведения
Пожалуйста, помогите составить программу для вычисления произведения 1*3*5*...*(n-1) n-ввод. Сам...

Составить программу для вычисления произведения чисел из диапазона от а до b, кратных 6
Решить задачу с циклом For. Составить программу для вычисления произведения чисел из диапазона от...

Составить программу для вычисления произведения чисел из диапазона от а до b, кратных 5
Помогите пожалуйста написать программу для вычисления произведения чисел из диапазона от а до b,...

Составить главную программу и функцию. Для данного вектора А(М) найти количество неповторяющихся элементов вектора
Здравствуйте. Буду очень благодарен,если кто нибудь напишет два кода к этим задачам. Спасибо за...

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

Составить программу вычисления произведения элементов вектора
Составить программу вычисления произведения элементов вектора...

Составить программу вычисления в массиве A(N) произведения чётных элементов
1. Составить программу вычисления в массиве A(N) произведения чётных элементов. 2. Составить...

Составить программу вычисления произведения четных элементов массива
Составить программу вычисления произведения четных элементов массива А

Составить программу вычисления произведения элементов по строкам матрицы
Всем здравствуйте, помогите пожалуйста: 1.Составить программу вычисления суммы отрицательных...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru