Using valgrind with parallel VisIt #20053
markcmiller86
started this conversation in
Share cool stuff
Replies: 2 comments 2 replies
-
FYI...I happened to be looking at another test, I happened to see leeks and uninitialized values...
|
Beta Was this translation helpful? Give feedback.
1 reply
-
It would be good to have a valgrind hackathon. Maybe we should bring back hackathons in general. |
Beta Was this translation helpful? Give feedback.
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Did you know you can run valgrind with parallel VisIt. Its a bit combersome but does indeed work and can be very useful. It works by using valgrind's feature to specify the name of the file it sends its messages to. By including the process id in the valgrind file name (which is VisIt's default behavior when using valgrind on a parallel engine), we can ensure that each MPI rank's valgrind process gets its own file to write to.
For example, to debug a recent run on a salloc'd node of rzhound, here is what I did...
If you are looking for leaks, you must take care to compile VisIt with
-DDEBUG_MEMORY_LEAKS
. Otherwise, VisIt is not always nice about cleaning up after itself duringexit
(it doesn't need to be...its exiting and cleaning up just bogs down the speed of exiting).The first line in the leak output, above, is likely from the valgrind of MPI rank 0. Usually, that MPI rank does a lot more work to bootstrap everything. In this case, I didn't have
-DDEBUG_MEMORY_LEAKS
for all of VisIt...just the engine.If you are just looking for memory, errors, you can use this
grep
command...Beta Was this translation helpful? Give feedback.
All reactions