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
[email protected]
For corporate legal information go to:
http://www.cisco.com/web/about/doing_business/legal/cri/