Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

The purpose of this assignment is for you to learn more about implementing a sta

ID: 3774927 • Letter: T

Question

The purpose of this assignment is for you to learn more about implementing a static workload partitioning scheme in MPI, implementing a dynamic workload partitioning scheme in MPI (here Master-Worker). As usual all time measurements are to be performed on the cluster. To be able to compile and run an MPI program on mamba, you need to add the line module load openmpi at the end of the file. basic located in the home directory of your account on mamba. To compile an MPI application, use the mpicc compiler in C and the mpicxx compiler in C++. They also serve as linker. To run an MPI application using 19 processes, just run mpirun -n 19 ./myprogram. But you will need to have a proper node allocation first. To queue an MPI job on mamba, you will need to specify how many nodes and how many cores per node you plan on using. You could use qsub -1 nodes=2:ppn=16 to request two nodes with 16 cores each, or qsub -1 procs=32 if you only care about having 32 cores independently of where they are. You can also use qsub -1 nodes=4:ppn=4, to have 4 cores from 4 different nodes. There is currently a cap on mamba that prevents you from requiring more than 32 processes in total. Write a simple MPI program that start 32 MPI processes (split on two and then on four nodes), and where each program report its MPI rank ID and the name of the machine it is running on (use gethostname). Run it on mamba and verify it runs on two different machines. Adapt the numerical integration application to make it use MPI in a simple way. The first MPI process should take the first N/P iterations of the loop, the second should take the next N/P iterations of the loop, etc.. The partial integration should be accumulated on rank 0 so that it can print the correct answer. Run and time that program on mamba using 1, 2, 4, 8, 16, 32 cores. Use the parameters (intensity, number of points) from the OpenMP-loop assignment. And plot speedup charts.

Explanation / Answer

Prototypes variety from rough paper sketches to interactive simulations that appearance and function like the final product. The keys to successful fast prototyping are revising speedy based on remarks and using an appropriate prototyping approach. fast prototyping facilitates teams test with multiple procedures and ideas, it facilitates discussion via visuals rather than phrases, it guarantees that everybody shares a common knowledge, and it reduces danger and avoids overlooked necessities, main to a better layout faster.