Question: Write your own implementation of MPI_Alltoall. Your function should be named MY_Alltoall, and it should have the exact same signature as MPI_Alltoall, and it should

Write your own implementation of MPI_Alltoall. Your function should be named MY_Alltoall, and it should have the exact same signature as MPI_Alltoall, and it should behave the same way for all arguments. (Note: you do not need to implement the "in place" option.)

Your definition should use nonblocking communication to maximize overlap of communications.

This definition should go in a file named all2all.c.

In a separate file, driver.c, implement a main function that performs at least one test of MY_Alltoall. If you are smart, you will implement many tests, varying the datatype, the counts, and so on. This driver.c should contain a function prototype for MY_Alltoall (i.e., the declaration followed by a semi-colon without a definition) near the beginning of the file.

Create a Makefile that will compile all2all.c to yield the object file all2all.o when one types "make all2all". When one types "make test" it should compile and link the driver to form driver.exe and then execute it to run the test. Typing "make clean" should remove all generated files.

In summary, at least 3 files should be committed to all2all: all2all.c, driver.c, and Makefile

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!