Parallel Debugging with a Serial Debugger
Parallel Debuggers are important tools when trying to eliminate bugs in parallel programs. Commercial parallel debuggers are expensive.
In this blog post I will show you a free and open source alternative which is good enough for education purposes and for small codes.
Suppose you want to debug the famous cpi.c code which computes an approximation to pi by a parallel numerical integration. This demo uses the free Data Display Debugger (ddd) which is based on gdb but has a nice GUI.
Step 1, compile:
mpicc -g -o cpi ./cpi.c
Step 2, run (without a debugger):
mpirun -np 2 ./cpi
Step 3, run with the free Data Display Debugger (ddd):
mpirun -np 2 ddd ./cpi
The last command will open two MPI processes (instances) of ddd each running cpi,
see screen capture:
Finally, I enclose here a short video which I hope is convincing:
hi-res version: https://youtu.be/N_J4NKJkuMs
Happy (Free) MPI debugging!
In this blog post I will show you a free and open source alternative which is good enough for education purposes and for small codes.
Suppose you want to debug the famous cpi.c code which computes an approximation to pi by a parallel numerical integration. This demo uses the free Data Display Debugger (ddd) which is based on gdb but has a nice GUI.
Step 1, compile:
mpicc -g -o cpi ./cpi.c
Step 2, run (without a debugger):
mpirun -np 2 ./cpi
Step 3, run with the free Data Display Debugger (ddd):
mpirun -np 2 ddd ./cpi
The last command will open two MPI processes (instances) of ddd each running cpi,
see screen capture:
Finally, I enclose here a short video which I hope is convincing:
hi-res version: https://youtu.be/N_J4NKJkuMs
Happy (Free) MPI debugging!
Comments