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
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
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started