Open MPI logo

Open MPI User's Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Open MPI User's mailing list

From: Jeff Squyres (jsquyres_at_[hidden])
Date: 2005-11-20 11:23:03

To follow up on this thread --

Now that 1.0 is out the door, I went back and implemented this prior
suggestion (about making it easier to launch Open MPI under debuggers
other than TotalView -- see original text below). This is only
implemented on the trunk, meaning that it will be in the 1.1 series; it
will not be in any 1.0.x release.

The MCA parameter that contains the list of debuggers to search is
orte_base_user_debugger. It currently defaults to:

        totalview @mpirun@ -a @mpirun_args@ : fx2 @mpirun@ -a @mpirun_args@

where @mpirun@ and @mpirun_args@ are substituted at run-time. We can
certainly add more debuggers to the default value, if desired. Local
users can, of course, override the default with any of the usual MCA
parameter-setting mechanisms (files, environment variables,
command-line parameters).

The mpirun option -tv is hereby deprecated and is now simply a synonym
for --debug (i.e., it won't go away because of the precedent set in the
1.0.x series).

On Oct 20, 2005, at 4:26 PM, Jeff Squyres wrote:

> You and Chris G. raise a good point -- another parallel debugger vendor
> has contacted me about the same issue (their debugger does not have an
> executable named "totalview"). In off-list iterations with him, we
> decided on some kind of format like:
> mpirun [--debugger <name>] --debug ..
> The intent here is to make the common case easy for the user, but also
> allow flexibility in which back-end debugger is invoked.
> First -- the common case:
> mpirun --debug -np 4 a.out
> Will invoke whatever back-end debugger the user has with the proper
> argv
> to get mpirun and "-np -4 a.out" passed back to it.
> --debugger is a synonym for an MCA parameter, so it can be set in a
> variety of ways (e.g., command line, environment variable, or in a
> file). The string parameter for --debugger can specify multiple
> different debuggers (and associated command lines -- with string
> substitution -- to invoke those debuggers); OMPI's mpirun will search
> for the first debugger that it can find in the current PATH and invoke
> it. For example, we'll probably have a default value for --debugger
> something like:
> "totalview mpirun -a @mpirun_args@ : fx2 mpirun -a @mpirun_args"
> and assume that the user invoked
> mpirun --debug -np 4 a.out
> This would tell OMPI's mpirun to first search for "totalview" in the
> current $PATH. If it doesn't find it, then search for "fx2" in the
> $PATH. If it is found, mpirun will exec "fx2 mpirun -a -np 4 a.out".
> And, of course, anyone can override that default value (and we're open
> to adding more -- TV and FX2 are the only ones that I'm aware of at the
> moment).
> Also, this only works well for cases where we want to exec a new
> application to invoke the debugger. Specifically, using "--debug" to
> start under TV and FX2 is simply syntactic sugar for invoking it
> yourself, but we've found that users tend to like this.

{+} Jeff Squyres
{+} The Open MPI Project