NUMAPROF is a memory access profiling tool based on pintool. It helps to detect remote NUMA and un-pinned memory accesses. On Intel KNL it also tracks accesses to the MCDRAM. The tool profide a nice web interface to explore the extracted profile by annotating the source code.
MALT is developped to support C, C++, Fortran, Rust.
It is the first published version. Of course there are plenty of things to fix. Thank you for your understanding and to report bugs. Feel free to contribute to improving it.
NUMAPROF provides code annotations to map allocation metrics directly onto your source code.
You get some statistics about memory accesses over threads.
Track all the thread pinning history and statistics to better understand your profile.
Provide a global and per thread access matrix to better understand the global balancing over your nodes.
Report remote/local accesses on access site and on allocation site to quickly find segments generating remote accesses.
When you put your mouse on access line you get all the details on this line with charts.
numaprof-pintool ./my_program numaprof-webview \ ./numaprof-my_program-1588.json browser http://localhost:8080
NUMAPROF is now OpenSource on GitHub and was developed in 2017 at CERN by Fellow Sébastien Valat after some exchanges with a research engineer (Othman Bouizi) from the Exascale Computing Research Lab. A significant part of the code came directly from MALT which is hosted side to this project.
Valat, S., Bouizi, O. (2019). NUMAPROF, A NUMA Memory Profiler. In: Mencagli, G., et al. Euro-Par 2018: Parallel Processing Workshops. Euro-Par 2018. Lecture Notes in Computer Science(), vol 11339. Springer, Cham.
https://doi.org/10.1007/978-3-030-10549-5_13
If you encounter some troubles, have feedbacks, needs or ideas, please contact me at memtt@progranet.ovh. I will be pleased to answer.