valgrind4hpc#
valgrind4hpc is used to find memory related issues in parallel applications with multiple MPI ranks.
The tool can be run as follows:
$ module load valgrind4hpc
$ export CTI_SLURM_OVERRIDE_MC=1
$ valgrind4hpc --valgrind-args="--vgdb=no" -n8 --launcher-args="-N2" --outputfile=vout.txt <binary>
The output of valgrind4hpc will be stored in vout.txt
. Errors for ranks are shown for collectively or separately depending on which ranks cause those errors:
RANKS: <0,2,4,6>
Conditional jump or move depends on uninitialised value(s)
at MPIC_Waitall (in ./oob)
by MPIR_CRAY_Bcast_Tree (in ./oob)
by MPIR_CRAY_Bcast (in ./oob)
by MPIR_Bcast_impl (in ./oob)
by PMPI_Bcast (in ./oob)
by darshan_core_shutdown (in ./oob)
by PMPI_Finalize (in ./oob)
by main (in oob.c:35)
RANKS: <0..7>
HEAP SUMMARY:
in use at exit: 32 bytes in 1 blocks
LEAK SUMMARY:
definitely lost: 32 bytes in 1 blocks
indirectly lost: 0 bytes in 0 blocks
possibly lost: 0 bytes in 0 blocks
still reachable: 0 bytes in 0 blocks
ERROR SUMMARY: 6 errors from 103 contexts (suppressed 170)