Hi all,
I am trying to use Valgrind to debug an MPI application, but things don't seem
to work. I understand that Valgrind explicitly implements wrapper functions
for MPI calls and uses the PMPI interface. To the best of my understanding,
when called in the context of MPI, valgrind should somehow check MPI calls,
avoid giving "garbage" output from the underlying mpi libraries, and suppress
the printing of a separate output for each node. It currently does none of
those things. Can someone help?? Feel free to redistribute this message as
needed.
Sincerely,
~Josh
Some things that may help:
--Configure script says:
$ cat ~/valgrind/config_out | grep MPI
checking primary target for usable MPI2-compliant C compiler and
mpi.h... yes, mpicc
checking secondary target for usable MPI2-compliant C compiler and
mpi.h... yes, mpicc
--Invocation on compute notes under mvapich2:
export \
LD_PRELOAD=/home/jtepper/valgrind/lib/valgrind/libmpiwrap-amd64-linux.so
${MPI_BIN}/mpdboot -f mpd.hosts -n $NUMHOST -r ssh
${MPI_BIN}/mpiexec -genv I_MPI_DEVICE rdssm:OpenIB-cma \
-machinefile $PBS_NODEFILE -n $NUMPROC valgrind $EXE $PARAM
${MPI_BIN}/mpdallexit
--mvapich2 relies on icc on our system.
--As reflected by the "-genv I_MPI_..." and the fact that we use mVApich, our
nodes are connected with infiniband.
--these commands are executed in a directory that is part of a filesystem that
is shared by all nodes.
------------------------------------------------------------------------------
_______________________________________________
Valgrind-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/valgrind-users