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
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