$24
1 description
Figure below shows a room has four walls and a fireplace. The temperature of the wall is 20ºC, and the temperature of the fireplace is 100ºC. Write MPI, Pthread, CUDA program and OpenMP programs using Jacobi iteration to compute the temperature inside the room and plot (preferably in color) temperature contours at 5ºC intervals using Xlib or other GUI systems on your computers in each iteration.
Bounus(10 points): Write an MPI + OpenMP program for the problem described above
2 requirement
• You need to implement five versions of the tasks, which are Sequential version, openMP version, MPI version, CUDA version and Pthread version. And hand in the codes for these five versions in five seperated code files.
• In your submit code, it should display an video with size of 800 × 800, running for a fixed iteration. And
different color should represents different temperature, for example, higher temperature corresponds to red color while cold tempoerature coorespodns to blue color.
• For the openMP program, you should evaluate it like Pthread with specific number of threads.
• Include the results in your report by capturing a picture on your screen.
• Record a video of your result.
• You need to specify the command line about how to compile and run your program.
• You need to compare the performance of different implementation and configurations in your report.
– The number of processes or threads used in the program (up to at least 33 processes and threads (over-spawn))
– MPI vs Sequential vs Pthread vs CUDA vs openMP
– Compare under three different sizes of the output images.
– More if you have
• You need to include three figures describing the structure of your MPI program, Pthread program, openmp and CUDA program.
• The report should be written in appropriate format.
3 Tips
• When measuring the running time of the program, make sure only measure the computation time. (Because Imgui’s or xlib's drawing are time consuming.)
• You should start your homework as soon as possible, do not try to finish it in the last two days before the deadline.
• Debug your program on the VM that is built on the image centos. Make sure the program is
OK, only after then measure the running time of the program on the server.
• Make sure use ‘sbatch’ command to submit your jobs onto the master machine, do not directly run your program on the master machine.
• Try to limit your program running time within 60 seconds. If your program is running slow, try
to improve your code or reduce the image’s size.
4 Where and What to Turn in Your Homework
• Please turn in a zip file includes
– Report
– Codes
– video demonstrating your program results
• zip your source codes, result video, paper in a zip file, and name it studentID.zip, then submit it on Blackboard.
• No late submission.
5 Due: 23:59,DEC,6,2020