Devoir
8. Parallel Wave
Conditions d'achèvement
Ouvert le : lundi 28 mars 2022, 00:00
À remettre : dimanche 3 avril 2022, 23:59
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 mars 2022, 00:50
- 28 mars 2022, 00:50