MetOffice / Vernier

A calliper based profiler for scientific code on HPC platforms.
https://MetOffice.github.io/Vernier
BSD 3-Clause "New" or "Revised" License
4 stars 3 forks source link

Post Processing Vernier #144

Open Dylan13591 opened 2 months ago

Dylan13591 commented 2 months ago

Work on the post processing scripts for Vernier.

Script ideas/examples: Merge script - Merge several Vernier files together into one (combining sub region times from each MPI rank). Diff script - Compares 2 merged files and works out the difference for each code region. Scaling script - Compares 2 merged files, one ran on N MPI ranks and one on 2N MPI ranks, the compute a scaling score and sort the output file based on that. Plot script - Takes a merged file, or maybe several, and plots the data in a bar chart or graph to see how the data looks/compares to other merged files. Could be useful to help visualise the Scaling script output well.

Dylan13591 commented 1 month ago

There are 2 scripts located in the etc/post_processing directory on my branch.

Merge.py - The job of this script is to merge all the timings of the different MPI ranks and output one file with the merged timings. I did not complete this script and only got as far as getting the timings from the different MPI ranks into one file, however the timings were not merged. My plan was to convert the file to a pandas data frame and then merge the data that way.

Plot.py - This script plots the data of a Vernier output file/merged file into a bar chart. The name of the timed region is on the x-axis and the self time is on the y-axis. This script is not finished but has the basic idea of how the plotting could be done, I used matplotlib.pyplot. This is a good way of visualizing the data we get from Vernier.