A new memory checking tool named MemPin was developed based on the
Intel Pin framework. It uses a callback mechanism to do the
similar tasks as Valgrind Memcheck. The new tool is tiny and
flexible, and user may implement his own callback function for
The basic idea here for Open MPI is to watch over the
communication buffers. Every access to the buffers will be
detected, and for specific memory operation (read/write), a memory
check callback will be triggered.
required memory will be taken care of, so the shadow memory can be
kept to be as small as possible. The implemented shadow memory for Open MPI is
handled in bit-wise, i.e. every byte of memory has 2 bits of
shadow (4 different states. This doesn't provide bit-wise validity
of the memory like Valgirnd, where every byte of memory has 9 bits
of shadow. However, the shadow memory for this new tool is
Several predefined macros that may be used in user application and
Checks whether the user application is running under MemPin
Registers the memory entry for specific memory operation
Updates the memory entry parameters for specific memory
Unregisters one memory entry
Unregisters all the memory entries
Returns the memory entry index from the memory address storage
Prints the current callstack to standard output or a file
The new component mempin will have the same memchecker API as
This new implementation has similar functionalities as Valgrind
Memcheck, but it is lightweight, faster, extensible and flexible.
It also supports for Windows platforms.
ompi/include/ompi/memchecker.h or another header file.
ompi/mca/pml/ob1 several memchecker macro need to be
If everything is fine, probably some time next week or later
We probably can also discuss it in the next teleconf.
High Performance Computing Center Stuttgart (HLRS)
Tel: ++49(0)711-685-87234 Nobelstrasse 19
Fax: ++49(0)711-685-65832 70569 Stuttgart