Question
Complete the program to compute the product of all elements in a given array. #include #include #include int main(void) { int comm_sz, my_rank; MPI_Init(NULL, NULL);
Complete the program to compute the product of all elements in a given array. #include
int main(void) { int comm_sz, my_rank; MPI_Init(NULL, NULL); MPI_Comm_size(MPI_COMM_WORLD, &comm_sz); MPI_Comm_rank(MPI_COMM_WORLD, &my_rank); int token = 1; MPI_Send(&token, 1, MPI_INT, (my_rank + 1) % comm_sz, 0, MPI_COMM_WORLD);
if (my_rank == 0) { MPI_Recv(&token, 1, MPI_INT, comm_sz - 1, 0, MPI_COMM_WORLD, MPI_STATUS_IGNORE); /* print out the message */ printf("Process %d received token value < %d > from process %d ", my_rank, token, comm_sz - 1); }
else { MPI_Recv(&token, 1, MPI_INT, my_rank - 1, 0, MPI_COMM_WORLD, MPI_STATUS_IGNORE);
/* print out the message */ printf("Process %d received token value < %d > from process %d ", my_rank, token, my_rank - 1);
}
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