WHAT: Deprecate a bunch of old mpirun CLI parameters, remove *most*
      "single dash" long mpirun options, make "mpirun --help" much
      more user friendly

WHY: `mpirun --help` is currently 232 lines of output.  *Ouch*
     Additionally, the Josh/Terry/Jeff affinity re-work will end up
     creating new mpirun CLI options and deprecating the old ones.

WHEN: Maybe late in the 1.5 series (the new affinity stuff is
      tentatively scheduled for late in the 1.5 series).  1.7 for
      sure.

WHERE: Mostly in orte/tools/orterun/

TIMEOUT: ORNL face-to-face OMPI meeting (May 3)

-----

MORE DETAILS:

We simply have too many options to mpirun.

- Some could be removed
- Some should be removed
- Some should be deprecated (but still available)
- The --help output needs to be made (much) better

The new mapping/affinity options effectively replace a bunch of the
old options.  The old mapping/affinity options should be deprecated in
favor of the new stuff.

Additionally, there are at least a few old orterun options that are
either only of interest to developers and/or have an MCA parameter
backing them (and are fairly uncommonly used such that the MCA param
could be used instead).

Finally, we have many options that are available via both "-foo" and
"--foo" (mostly for hysterical raisins).  In most cases, the
single-dash version should be removed -- per GNU conventions, long
names should only be available via double-dash.  There are a small
number of single-dash options that must be retained, however, for
compatibility with other MPI implementations and for mpiexec options
specifically listed in MPI-2.2:

    -np, -host, -hostfile, -machinefile, -wd, -wdir, -path

I propose:

1. Remove all other single-dash long name options.

2. Make all deprecated options only available if the user
   specifies --deprecated-options on the command line (or invokes mpirun
   via mpirun.deprecated-options).
   --> This allows users to keep their existing scripts that use
       deprecated options, but with a glaring signal that "hey, this
       option you're using may disappear in a future version!"

3. Revamp the --help output to show a short listing of the most common
   options, and a note that a) the mpirun(1) man page offers much more
   detail, and b) --help-all shows the original, exhaustive CLI option
   listing.

Extra bonus points would be given for anyone who'd like to implement
an svn/hg-like "help" command, perhaps something like:

  mpirun help machinefile
  ...help output specifically about the machinefile option...

I don't have time to do this last part, but it would be a great
usability feature.

-- 
Jeff Squyres
jsquy...@cisco.com
For corporate legal information go to:
http://www.cisco.com/web/about/doing_business/legal/cri/

Reply via email to