Assignment
8. Parallel Wave
Completion requirements
Opened: Monday, 28 March 2022, 12:00 AM
Due: Sunday, 3 April 2022, 11:59 PM
We're returning once more to the damped 1d wave equation, this time, to parallelize it. Take the initial code from assignment 5 (so without blas), and take a new version of longwaveparams.txt below (chosen such that the calculation takes a bit longer).
Your task:
- Parallelize the time-evolution part of this code (advance_wave) with OpenMP. Adjust the Makefile accordingly.
- Perform a scaling analysis of the parallelized code on a compute node, with the number of threads ranging from 1 to 16. Do so by writing either one or 16 job scripts.
- Timing can be done in the job script using the linux 'time' command.
- From the timings, compute the speed-up and plot the speed-up as a function of the number of threads.
- Fit the speed-up results to Amdahl's law and deduce the serial fraction of the code.
Next:
- Parallelize the conversion of binary numbers to text in the output_snapshot function with OpenMP.
- Perform the above scaling analysis again, produce a new speed-up vs. number of threads plot, and determine the new serial fraction.
Submit your code, Makefile, job script(s), git log, timing data and scaling plots for both cases.
- 28 March 2022, 12:50 AM
- 28 March 2022, 12:50 AM