Question: Complete the MPI program to make the program have the output as follows if we run the program using 2 processes: The input sequence is:

Complete the MPI program 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

#include #include #include

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: ");

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

printf(" "); }

// 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: ");

printf(" "); }

MPI_Finalize();

return 0; }

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!