-
Notifications
You must be signed in to change notification settings - Fork 67
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Revamp prterun show_help files to integrate with Sphinx
This commit represents a major reorganization and revamp of prterun's show_help files. The overriding purpose is to allow downstream projects -- such as MPI implementations -- to include PRRTE's Sphinx (.rst) documentation in their own. This entailed the following: * The existing "show help" .txt files are used by the existing "<cmd> --help <topic>" CLI system. It was important to preserve this CLI capability. * However, we wanted this same content to also appear in various man pages (and therefore also HTML documentation). Hence, we moved the existing "show_help" .txt files to a new location: src/docs/ (vs. docs/, where the main PRRTE documentation lives). * After various experiments, we determined that we just could not have both the main PRRTE Sphinx docs and this new class of show_help/man-page-content combination docs in the same Sphinx docs tree. The structure and layout of how we need to render these two sets of docs are quite different. Instead, as described below, we took a different approach: have "building blocks" of content that can be assembled in different ways that are ultimately rendered with the structure and layout required for each environment. * src/docs/ contains 2 directories: * prrte-rst-content: this directory contains a README.txt file that both PRRTE docs authors and downstream consumers of the RST content should read. It explains how both how to author/maintain the docs in that directory, as well as how to integrate the contents of this directory into downstream project RST docroots, and how to include the content. Essentially, this directory is the main source of prterun CLI documentation content. Each topic is split into its own file (see the README for more info) so that it can be RST-included in other .rst files as relevant. Think of these files as individual building blocks of content that can be assembled in multiple different ways. The text content in this directory is mostly content from previous show_help-style text files moved into this directory, split into individual .rst files, and then converted to RST syntax. Some of the tables ended up being nicer / easier to maintain, for example. * show-help-files: the contents of this directory are rendered to what ultimately become the "show_help" text files. This directory effectively RST-includes the files from the prrte-rst-content directory into files and renders them as INI-style "show_help" text files (i.e., suitable for reading by the prte_show_help() subsystem). * The src/docs/prrte-rst-content is also RST-included in the top-level docs/ .rst files (va a sym link). That allows the same "building blocks" of documentation content to be included in both the show_help files and the HTML/man pages. * Note that in distribution tarballs, pre-built HTML docs, norff man pages, and INI-style "show_help" text files will be included in the tarball -- end users do not need to have Sphinx available. For git clones, where none of the Sphinx-generated content is available (i.e., HTML docs, nroff man pages, show_help text files), Sphinx is also still not required (but it *is* still required to "make dist"). If Sphinx is not available when "configure" is invoked, dummy INI-style "show_help" text files are generated (that basically say "You don't have Sphinx, so you don't get help here"). That is the overall scheme. There were many other minor points included in this work, including (but not limited to): * Moving existing explanations of hosts and hostfiles -- and expanding on them -- to the main docs. * Moving explanations of relative indexting to the main docs. * Moving explanations of notifications to the main docs. * Moving listing of deprecated CLI options to the main docs. * Moving explanations of diagnostics to the main docs. * Moving most process placement explanations and examples to the main docs. * Moving explanations of the session directory to the main docs. * Adding psched.1 and pterm.1 man pages. More work needs to be done here. * Slightly improve prte.1, prte_info.1, prted.1, prterun.1, and prun.1 man pages. More work needs to be done here. It is expected that the text content of all the docs will continue to be improved over time. The focus of this commit was not to make the content perfect, but rather to create a first-gen infrastructure for having a single source of documentation content that can be rendered by Sphinx in 3 ways (HTML docs, nroff man pages, and show_help files), and also included in downstream RST documentation. Signed-off-by: Ralph Castain <rhc@pmix.org> Signed-off-by: Jeff Squyres <jeff@squyres.com>
- Loading branch information
Showing
106 changed files
with
5,919 additions
and
3,999 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
.. _hosts-cli-label: | ||
|
||
Listing Hosts on the Command Line | ||
================================= | ||
|
||
Many PRRTE commands accept the ``--host`` CLI parameter. | ||
``--host`` accepts a comma-delimited list of tokens of the form: | ||
|
||
.. code:: | ||
host[:slots] | ||
The ``host`` token can be either: | ||
|
||
* A name that resolves to an IP address, or | ||
* An IP address | ||
|
||
.. note:: The names and/or IP addresses of hosts are *only* used for | ||
identifying the target host on which to launch. They are | ||
*not* used for determining which network interfaces are used | ||
by applications (e.g., MPI or other network-based | ||
applications). | ||
|
||
For network-based applications, consult their documentation | ||
for how to specify which network interfaces are used. | ||
|
||
The optional integer ``:slots`` parameter tells PRRTE the maximum | ||
number of slots to use on that host (:ref:`see this section | ||
<placement-definition-of-slot-label>` for a description of what a | ||
"slot" is). | ||
|
||
For example: | ||
|
||
.. code:: | ||
prterun --host node1:10,node2,node3:5 ... |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
Hostfiles | ||
========= | ||
|
||
Hostfiles (sometimes called "machine files") are a combination of two | ||
things: | ||
|
||
#. A listing of hosts on which to launch processes. | ||
#. Optionally, limit the number of processes which can be launched on | ||
each host. | ||
|
||
Syntax | ||
------ | ||
|
||
Hostfile syntax consists of one node name on each line, optionally | ||
including a designated number of "slots": | ||
|
||
.. code:: sh | ||
# This is a comment line, and will be ignored | ||
node01 slots=10 | ||
node13 slots=5 | ||
node15 | ||
node16 | ||
node17 slots=3 | ||
... | ||
Blank lines and lines beginning with a ``#`` are ignored. | ||
|
||
A "slot" is the PRRTE term for an allocatable unit where we can launch | ||
a process. :ref:`See this section | ||
<placement-definition-of-slot-label>` for a longer description of | ||
slots. | ||
|
||
In the absence of the ``slot`` parameter, PRRTE will assign either the | ||
number of slots to be the number of CPUs detected on the node or the | ||
resource manager-assigned value if operating in the presence of an | ||
RM. | ||
|
||
.. important:: If using a resource manager, the user-specified number | ||
of slots is capped by the RM-assigned value. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
Host specification | ||
================== | ||
|
||
PRRTE identifies hosts on which to launch processes by: | ||
|
||
#. A Resource Manager (RM) telling PRRTE which hosts to use | ||
#. The user providing a hostfile (also sometimes called a "machine | ||
file") | ||
#. The user providing a list of hosts on the command line | ||
|
||
The sections below describe each of these in more detail. | ||
|
||
.. toctree:: | ||
:maxdepth: 1 | ||
|
||
rm | ||
hostfiles | ||
cli | ||
relative-indexing |
Oops, something went wrong.