Question: Problem 1. Write either a single program or two separate C/C++ programs that use(s) MPI blocking and non-blocking commands MPI_Send, MPI_Rcvd, MPI_Isend and MPI_Ircvd to

Problem 1. Write either a single program or two separate C/C++ programs that use(s) MPI blocking and non-blocking commands MPI_Send, MPI_Rcvd, MPI_Isend and MPI_Ircvd to exchange one float value between process with rank 0 and process with rank 1. Calculate the execution time using MPI_Wtime to compute the execution time and write it down in the table below as follows:

Execution Time

A single transmission using blocking communication

A single transmission using non blocking communication

Two transmissions (round trip) using blocking communication

Two transmissions (round trip) using non blocking communication

Problem 2. Modify the ring example given in class to calculate the execution time using MPI_Wtime of the transmission of the value 7 from process with rank 0 to process with rank 1, etc. until the value is received back at the process with rank 0. Use only blocking communication. Launch the execution of the program with a varied number of parallel processes (mpirun -n 10 ./a.out to launch the executable a.out for 10 processes) and write down the execution time of the ring example as follows:

Execution Time

Ring with 4 nodes

Ring with 8 nodes

Ring with 10 nodes

Ring with 12 nodes

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!