Hardware Counter-based Performance Analysis of ANUGA Flood Simulator
Harshada A Jadhav, Nisha Agrawal, S. Joshi, V. Venkatesh Shenoi · 2023
ANUGA is a Python-based finite volume solver on the unstructured grid for shallow water model in two dimensions for flood modelling. This paper is an account of the hardware counter-based performance study to understand the impact of the memory hierarchy (due to the relative sizes of cache) in two different generations of Intel architecture on the performance of this application. A quantitative analysis of the memory access in the compute-intensive portion of the solver (the time evolution of the quantities associated with the fluid flow on the domain) is attempted by instrumenting with the PAPI library. The hit rates at different levels of cache/memory for various decomposition of the region of interest (computational domain) across processes bring out the impact of optimal sub-domain sizes. The size of the working set ensures temporal locality for iterative loop computations handled by the individual processes, leading to better parallel performance on distributed memory systems. Further, this study showcases the possibility of achieving better performance with larger data sets through suitable decomposition such that the working set fits into various levels of the cache hierarchy.