numaprof
numaprof copied to clipboard
NUMAPROF is a NUMA memory profliler based on Pintool to track your remote memory accesses.
When run the example: get the coredump ```` OMP_PROC_BIND=TRUE numaprof ./omp-loop C: [tid:4173805] Tool (or Pin) caused signal 11 at PC 0x7f7fb6ba1ad4 /root/loushuai/numaprof-1.1.3/build/install/bin/numaprof: line 78: 4173805 Segmentation fault (core dumped)...
Does the tool work for MPI programs? If yes, can it be used as `mpirun [options] numprof `
https://github.com/capstone-engine/capstone Could be nice to have it but it is a non trivial work.
To be explored if we can track access to nvdimm memory like it is done for mcdram. Maybe by tracking if the file is a mapping of a devdax of...
hello will support other platform such as ARM?
Make the glue to run on top of DynamoRIO in addition to PIN. http://www.dynamorio.org/
Would you like to [wrap any pointer data members](https://github.com/memtt/numaprof/blob/6edaaf2b4cfdd8e8830111305345c352146154e1/src/lib/caches/CpuSimpleFlatCache.cpp#L22 "Update candidate: CpuSimpleFlatCache class") with the class template “[std::unique_ptr](https://en.wikipedia.org/wiki/Smart_pointer#unique_ptr "Description for the usage of smart pointers")”?
[An extra null pointer check is not needed](https://isocpp.org/wiki/faq/freestore-mgmt#delete-handles-null "Do I need to check for null before delete p?") in [the destructor for the class “PageTableLevel”](https://github.com/memtt/numaprof/blob/f8696a27b7bda13e133965cedfadf1ad64426327/src/lib/core/PageTable.hpp#L213 "Destructor for PageTableLevel").
Simulate cache accesses to not account cache hits. Make it optional and not enabled by default. Should use the same parameters than LLC real cache.
Detect when concurent accesses append on a cache line and move it from one NUMA node to another, for example when there is contention on a spinlock. This might be...