Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [ptp-user] ptp-user Digest, Vol 107, Issue 2

On Wednesday, October 07, 2015 12:00:20 PM Hossein Aghakhani wrote
> I thought here I can get the answer to my question, do you know where is
> the best place to ask ptp related questions?
> 
> Can anyone please introduce me a step-by-step tutorial about debugging a
> parallel code on a local computer using ptp debugger.
> 
> Regards,
> Hossein

Hossein, (et all,)

the general documentation for parallel debugging can be found 
in the following place
http://help.eclipse.org/mars/index.jsp?topic=%2Forg.eclipse.ptp.doc.user%2Fhtml%2Ftoc.html

Please note the following prerequisites.
1. Eclipse parallel debugging uses gdb under the hood, so gdb and gdbserver 
need to be installed on the remote host.
2. You should compile with '-g' and no optimization, otherwise you might 
find yourself in a mirror cabinet debugging a Fata Morgana. Typically the
debugger is looking at a memory location while actual value of the
variable might be kept in a CPU register.
3. You should make sure that the effect you want to debug is still 
reproducible after recompilation with '-g' and no optimization.
Some errors disappear when lowering the optimization level.
4. For every Eclipse debug configuration there is a corresponding run
configuration (same name, same menus except for the debug tab).
Make sure the application runs in the run configuration (at least past
MPI_Init()) and still reproduces the effect you want to debug.
If it doesn't run without debugger, than it surely won't run
in the debugger.

Given all these prerequisites, compiling with GNU compiler and OpenMPI,
and using the Target System Configuration "Generic OpenMPI Interactive"
with connection type "local", I was just able to fire up the debugger and
stop at the first statement of main() - out of the box.

This was for Mars, and it is the first time since Luna, Kepler,
Juno, Indigo, ... that it worked at all.

That said, I didn't touch the Debug tab and used the built-in SDM.
In particular I kept the box with label "Use built-in..." ticked.
No meddling with BUILD.sh.

That said, I couldn't repeat the same success with Intel Compiler
and Intel MPI, using the Generic MPICH2 Interactive - assuming
that Intel MPI looks like MPICH2 on the surface.

...And eventually I would need parallel debugging with Intel
compiler, Intel MPI and "Generic Slurm Batch" - which is 
not in the list of supported TSCs. Do I have to give up, or is there
any way to sneak through ? Perhaps if I use "Generic Remote 
Interactive" and do all the Slurm+gdbserver plumbing myself ? 
What plumbing would be needed ?
-- 

Mit freundlichen Grüßen / Kind regards

Dr. Christoph Pospiech
High Performance & Parallel Computing
Phone: +49-351 86269826
Mobile: +49-171-765 5871
E-Mail: cpospiech@xxxxxxxxxx

Lenovo (Deutschland) GmbH
Meitnerstr. 9
D-70563 Stuttgart

Geschäftsführung: Bernhard Fauser
Sitz der Gesellschaft: Stuttgart
HRB-Nr.: 25189, AG Stuttgart
WEEE-Reg.-Nr.: DE79679404

Back to the top