Complete the program 'Bcast-Reduce-Assignment.c' (Refer to 'Bcast-Reduce-Example.c') to make the program have the output as follows if we run the program using 2 processes.           The input sequence is:              0 1 2 3                     The output sequence is:             0 2 6 12 The code below must be used, please

C++ for Engineers and Scientists
4th Edition
ISBN:9781133187844
Author:Bronson, Gary J.
Publisher:Bronson, Gary J.
Chapter7: Arrays
Section: Chapter Questions
Problem 8PP: (Statistical) In many statistical analysis programs, data values considerably outside the range of...
icon
Related questions
Question
100%

Complete the program 'Bcast-Reduce-Assignment.c' (Refer to 'Bcast-Reduce-Example.c') to make the program have the output as follows if we run the program using 2 processes.

          The input sequence is:   

          0 1 2 3          

          The output sequence is:  

          0 2 6 12

The code below must be used, please

 

#include <stdio.h>
#include <stdlib.h>
#include <mpi.h>

int main(void)
 
{
    int my_rank, comm_sz;
    int i;
    int Count = 4;
    int Number[4];
    int Result[4];
    

    MPI_Init(NULL, NULL);

    MPI_Comm_size(MPI_COMM_WORLD, &comm_sz);
    MPI_Comm_rank(MPI_COMM_WORLD, &my_rank);


    if(my_rank == 0)
    {
        printf("The input sequence is: \n");

        for (i = 0; i < Count; i++)
        {
            Number[i] = i;
            printf("%d ", Number[i]);
        }

        printf("\n");
    }

    // Process 0 sends data to all of the processes
    MPI_Bcast(Number, Count, MPI_INT, 0, MPI_COMM_WORLD);

    for (i = 0; i < Count; i++)
    
      Number[i] += my_rank;
        

    MPI_Reduce(       , Result,       , MPI_INT, MPI_PROD, 0, MPI_COMM_WORLD);

    // Print out the result
    if (my_rank == 0)
    {
        printf("The output sequence is: \n");

        

 

        printf("\n");
    }

    MPI_Finalize();

    return 0;
}

Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 2 steps

Blurred answer
Knowledge Booster
ADT and Class
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
C++ for Engineers and Scientists
C++ for Engineers and Scientists
Computer Science
ISBN:
9781133187844
Author:
Bronson, Gary J.
Publisher:
Course Technology Ptr