MemAxes
MemAxes is a tool for interactive analysis and visualisation of data movements within a node. It uses Mitos output (or possibly output of other tools) as input, and processes the data. MemAxes offers an interactive graphical user interface showing how many and how costly data load operations of each CPU core were, at which memory level they were satisfied, and where they originate in code, which enables users to find and mitigate (data movement-related) bottlenecks of their applications. Moreover, there are other views available, showing the sample distribution in time, processes, addresses, or core IDs, to name a few examples.
Goals within DEEP-SEA
In the range of the DEEP-SEA project, we plan on extending MemAxes functionality to provide a whole node view (multi-socket CPU, GPUs, interconnect) compared to the original single-socket view. Moreover, we plan to add what-if-based functionality, enabling the users to model the behaviour of their applications on system with different parameters, such as memory sizes or number of CPU cores.
Website: https://github.com/caps-tum/MemAxes