Upgrade MPIs on linux
This commit is contained in:
4
linx64/mpi/openmpi/share/doc/prrte/html/.buildinfo
Normal file
4
linx64/mpi/openmpi/share/doc/prrte/html/.buildinfo
Normal file
@@ -0,0 +1,4 @@
|
||||
# Sphinx build info version 1
|
||||
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
|
||||
config: 62c5b12be0df182db9813478c0b07023
|
||||
tags: 645f666f9bcd5a90fca523b33c5a78b7
|
||||
@@ -0,0 +1,128 @@
|
||||
PRRTE DVM Configuration
|
||||
=======================
|
||||
|
||||
The PMIx Reference RunTime Environment (PRRTE) can be instantiated
|
||||
as a Distributed Virtual Machine (DVM) in two ways. First, the
|
||||
``prte`` command can be executed at a shell prompt. This will discover
|
||||
the available resources (either from hostfile or as allocated by a
|
||||
resource manager) and start a PRRTE shepherd daemon (:ref:`prted(1)
|
||||
<man1-prted>`) on each of the indicated nodes.
|
||||
|
||||
The other method, however, is to bootstrap the DVM at time of cluster
|
||||
startup. Bootstrapping PRRTE allows the DVM to serve as the system-level
|
||||
runtime, providing a full-service PMIx environment to sessions under
|
||||
its purview. Integration to an appropriately enabled scheduler can
|
||||
provide a full workload managed environment for users.
|
||||
|
||||
Establishing the DVM using the bootstrap method requires that a PRRTE
|
||||
configuration file be created and made available on every node of the
|
||||
cluster at node startup. The configuration file provides necessary
|
||||
information for establishing the communication infrastructure between
|
||||
the DVM controller and the compute node daemons. It also provides a
|
||||
means for easily defining DVM behavior for options such as logging,
|
||||
system-level prolog and epilog scripts for each session, and other
|
||||
PRRTE features.
|
||||
|
||||
The configuration file can be manually created or can be created using
|
||||
the `PRRTE configuration tool <configurator.html>`_.
|
||||
Manual creation can best be done
|
||||
by editing the example configuration file (``<source-location>/src/etc/prte.conf``).
|
||||
This file contains all the supported configuration options, with all
|
||||
entries commented out. Simply uncomment the options of interest and
|
||||
set them to appropriate values. The file will be installed into the
|
||||
final ``<install-location>/etc`` when ``make install`` is performed.
|
||||
|
||||
Configuration Options
|
||||
---------------------
|
||||
|
||||
The following options are supported by PRRTE |prte_ver|.
|
||||
While we make every effort to maintain compatibility with prior versions,
|
||||
we recommend that you check options when installing new versions to
|
||||
see what may have changed and/or been added. We also recommend that
|
||||
you use the `PRRTE DVM configurator <configurator.html>`_ for the
|
||||
version you are using to ensure that it is fully compatible.
|
||||
|
||||
Bootstrap Options
|
||||
^^^^^^^^^^^^^^^^^
|
||||
``ClusterName=<string> (default: "cluster")`` is the name of the cluster upon
|
||||
which the DVM is executing. This is used by PRRTE to form the namespace
|
||||
for the DVM daemons, which is taken as ``<clustername>-prte-dvm``.
|
||||
Using different names for each of your clusters is important if you use a single
|
||||
database to record information from multiple PRRTE-managed clusters.
|
||||
|
||||
``DVMControllerHost=<hostname>`` is the host upon which the DVM controller
|
||||
will be executing. The ``prted`` that finds itself booting onto this host
|
||||
will declare itself to be the system controller and will initialize itself
|
||||
accordingly.
|
||||
|
||||
``DVMControllerPort=<number> (default: 7817)`` is the TCP port upon which the
|
||||
DVM controller will be listening for connections from its ``prted`` daemons
|
||||
on the remaining system nodes.
|
||||
|
||||
``PRTEDPort=<number (default: 7818)`` is the TCP port upon which each
|
||||
``prted`` daemon will be listening for connections from its peer daemons
|
||||
on the other system nodes.
|
||||
|
||||
``DVMNodes=<regex of DVM nodes> (default: none)`` provides a regular expression
|
||||
identifying the nodes that upon which user applications can run. IP addresses can
|
||||
be provided in place of hostnames if desired.The regular expression can consist of
|
||||
a simple comma-delimited list of hostnames, or a comma-delimited list of hostname
|
||||
ranges (e.g., "linux0,linux[2-10]"), or a PMIx "native" regular expression.
|
||||
|
||||
|
||||
Operational Options
|
||||
^^^^^^^^^^^^^^^^^^^
|
||||
``DVMTempDir=<path> (default: /tmp)`` is the temporary directory that the
|
||||
DVM daemons and controller are to use as the base for their session directories.
|
||||
Working files/directories for the DVM will be placed under this location.
|
||||
|
||||
``SessionTmpDir=<path> (default: DVMTempDir)`` is the temporary directory that
|
||||
the DVM daemons are to use as the base for session directories for all
|
||||
application sessions. Working files for each session will be placed under
|
||||
this location, separated out into a directory for each session.
|
||||
|
||||
Logging Options
|
||||
^^^^^^^^^^^^^^^
|
||||
``ControllerLogJobState=<true|false> (default: false)`` directs the DVM
|
||||
controller to log each DVM-launched job state transition. Log entry includes
|
||||
the namespace of the job, the state to which it is transitioning, and the
|
||||
date/time stamp when the transition was ordered.
|
||||
|
||||
``ControllerLogProcState=<true|false> (default: false)`` directs the DVM
|
||||
controller to log each process (in a DVM-launched job) state transition.
|
||||
Log entry includes the namespace and rank of the process, the state to
|
||||
which it is transitioning, and the date/time stamp when the transition was
|
||||
ordered.
|
||||
|
||||
``ControllerLogPath=<path> (default: DVMTempDir)`` is the path to where the logs are to
|
||||
be written. If a relative path is provided,
|
||||
then the directory will be created under the ``DVMTempDir`` location. The
|
||||
path defaults to the specified SessionTmpDir in the absence of any input
|
||||
to this field. The log filename is formatted as ``prtectrlr-<hostname>-log<``.
|
||||
|
||||
``PRTEDLogJobState=<true|false> (default: false)`` directs each ``prted``
|
||||
in the DVM to log each DVM-launched job state transition. Log entry includes
|
||||
the namespace of the job, the state to which it is transitioning, and the
|
||||
date/time stamp when the transition was ordered.
|
||||
|
||||
``PRTEDLogProcState=<true|false> (default: false)`` directs each ``prted``
|
||||
in the DVM to log each process (in a DVM-launched job) state transition.
|
||||
Log entry includes the namespace and rank of the process, the state to
|
||||
which it is transitioning, and the date/time stamp when the transition was
|
||||
ordered.
|
||||
|
||||
``PRRTEDLogPath=<path> (default: DVMTempDir)`` is the path to where the logs are to
|
||||
be written. If a relative path is provided,
|
||||
then the directory will be created under the ``DVMTempDir`` location. The
|
||||
path defaults to the specified SessionTmpDir in the absence of any input
|
||||
to this field. The log filename is formatted as ``prted-<hostname>-log<``.
|
||||
|
||||
|
||||
Configurator Tool
|
||||
-----------------
|
||||
|
||||
The `PRRTE configuration tool <configurator.html>`_ contains all the supported options in an
|
||||
easy-to-use form. Once you have filled out the desired entries, the
|
||||
"submit" button will show the resulting configuration file on the
|
||||
browser window |mdash| a simple "copy/paste" operation into your target
|
||||
configuration file will yield the final result.
|
||||
@@ -0,0 +1,79 @@
|
||||
Contributing to PRRTE
|
||||
=====================
|
||||
|
||||
Open source contributions
|
||||
-------------------------
|
||||
|
||||
All code contributions are submitted as pull requests on the `PRRTE
|
||||
GitHub repository <https://github.com/openpmix/prrte/>`_.
|
||||
|
||||
.. important:: All commits must include a ``Signed-off-by:`` line,
|
||||
indicating the submitter's agreement to the :ref:`PRRTE
|
||||
Contributor's Declaration
|
||||
<contributing-contributors-declaration-label>`.
|
||||
|
||||
.. _contributing-contributors-declaration-label:
|
||||
|
||||
Contributor's Declaration
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
In order to ensure that we can keep distributing PRRTE under our
|
||||
:doc:`open source license </license>`, we need to ensure that
|
||||
all contributions are compatible with that license. Put differently:
|
||||
we need to have an established intellectual property pedigree of the
|
||||
code in PRRTE. This means being able to ensure that all code
|
||||
included in PRRTE is free, open source, and able to be distributed
|
||||
under :doc:`the BSD license </license>`.
|
||||
|
||||
PRRTE has therefore adopted requirements based on the signed-off-by
|
||||
process as described in Section 11 of the Linux kernel document on
|
||||
`Submitting Patches
|
||||
<https://www.kernel.org/doc/html/latest/process/submitting-patches.html#sign-your-work-the-developer-s-certificate-of-origin>`_.
|
||||
Each proposed contribution to the PRRTE code base must include the
|
||||
text ``Signed-off-by:`` followed by the contributor's name and email
|
||||
address. This is a developer's certification that he or she has the
|
||||
right to submit the patch for inclusion into the project, and
|
||||
indicates agreement to the Developer's Certificate of Origin:
|
||||
|
||||
By making a contribution to this project, I certify that:
|
||||
|
||||
#. The contribution was created in whole or in part by me and I
|
||||
have the right to submit it under the :doc:`PRRTE open
|
||||
source license </license>`; or
|
||||
|
||||
#. The contribution is based upon previous work that, to the best
|
||||
of my knowledge, is covered under an appropriate open source
|
||||
license and I have the right under that license to submit that
|
||||
work with modifications, whether created in whole or in part by
|
||||
me, under the :doc:`PRRTE open source license
|
||||
</license>` (unless I am permitted to submit under a
|
||||
different license); or
|
||||
|
||||
#. The contribution was provided directly to me by some other
|
||||
person who certified (1) or (2) and I have not modified it.
|
||||
|
||||
#. I understand and agree that this project and the contribution
|
||||
are public and that a record of the contribution (including all
|
||||
personal information I submit with it, including my sign-off)
|
||||
is maintained indefinitely and may be redistributed consistent
|
||||
with this project and the open source license(s) involved.
|
||||
|
||||
Proposed contributions failing to include the ``Signed-off-by:``
|
||||
certification will not be accepted into any PRRTE code
|
||||
repository. The community reserves the right to revert any commit
|
||||
inadvertently made without the required certification.
|
||||
|
||||
.. note:: This policy prevents a situation where intellectual property
|
||||
gets into the PRRTE code base and then someone later
|
||||
claims that we owe them money for it. PRRTE is a free,
|
||||
open source code base. We intend it to remain that way.
|
||||
|
||||
If you have not already done so, please ensure that *every* commit in
|
||||
your pull request contains the ``Signed-off-by:`` line.
|
||||
|
||||
.. admonition:: Pro tip
|
||||
:class: tip
|
||||
|
||||
You can use the ``-s`` flag to the ``git commit`` command (i.e.,
|
||||
``git commit -s ...``) to automatically add the appropriate
|
||||
``Signed-off-by:`` line to your commit message.
|
||||
@@ -0,0 +1,59 @@
|
||||
GitHub, Git, and related topics
|
||||
===============================
|
||||
|
||||
GitHub
|
||||
------
|
||||
|
||||
PRRTE's Git repositories are `hosted at GitHub
|
||||
<https://github.com/openpmix/prrte>`_.
|
||||
|
||||
#. First, you will need a Git client. We recommend getting the latest
|
||||
version available. If you do not have the command ``git`` in your
|
||||
path, you will likely need to download and install Git.
|
||||
#. `prrte <https://github.com/openpmix/prrte/>`_ is the main PRRTE
|
||||
repository where most active development is done. Git clone this
|
||||
repository. Note that the use of the ``--recursive`` CLI option is
|
||||
necessary because PRRTE uses Git submodules::
|
||||
|
||||
shell$ git clone --recursive https://github.com/openpmix/prrte.git
|
||||
|
||||
Note that Git is natively capable of using many forms of web
|
||||
proxies. If your network setup requires the user of a web proxy,
|
||||
`consult the Git documentation for more details
|
||||
<https://git-scm.com/>`_.
|
||||
|
||||
Git commits: open source / contributor's declaration
|
||||
----------------------------------------------------
|
||||
|
||||
In order to remain open source, all new commits to the PRRTE
|
||||
repository must include a ``Signed-off-by:`` line, indicating the
|
||||
submitter's agreement to the :ref:`PRRTE Contributor's Declaration
|
||||
<contributing-contributors-declaration-label>`.
|
||||
|
||||
.. tip:: You can use the ``-s`` option to ``git commit`` to
|
||||
automatically add the ``Signed-off-by:`` line to your commit
|
||||
message.
|
||||
|
||||
.. _git-github-branch-scheme-label:
|
||||
|
||||
Git branch scheme
|
||||
-----------------
|
||||
|
||||
Generally, PRRTE has two types of branches in its Git repository:
|
||||
|
||||
#. ``main``:
|
||||
|
||||
* All active development occurs on the ``main`` branch (new features,
|
||||
bug fixes, etc.).
|
||||
|
||||
#. Release branches of the form ``vMAJOR.MINOR.x`` (e.g., ``v4.0.x``,
|
||||
``v4.1.x``, ``v5.0.x``).
|
||||
|
||||
* The ``.x`` suffix indicates that this branch is used to create
|
||||
all releases in the PRRTE vMAJOR.MINOR series.
|
||||
* Periodically, the PRRTE community will make a new release
|
||||
branch, typically from ``main``.
|
||||
* A Git tag of the form ``vMAJOR.MINOR.RELEASE`` is used to
|
||||
indicate the specific commit on a release branch from where
|
||||
official PRRTE release tarball was created (e.g., ``v4.1.0``,
|
||||
``v4.1.1``, ``v4.1.2``, etc.).
|
||||
@@ -0,0 +1,319 @@
|
||||
.. _developers-installing-autotools-label:
|
||||
|
||||
Manually installing the GNU Autootools
|
||||
======================================
|
||||
|
||||
There is enough detail in building the GNU Autotools that it warrants
|
||||
its own section.
|
||||
|
||||
.. note:: As noted above, you only need to read/care about this
|
||||
section if you are building PRRTE from a Git clone. End
|
||||
users installing an PRRTE distribution tarball do *not*
|
||||
need to have the GNU Autotools installed.
|
||||
|
||||
Use a package manager
|
||||
---------------------
|
||||
|
||||
It is recommended that you use your Linux distribution's package
|
||||
manager, or Homebrew or MacPorts on macOS to install recent versions
|
||||
of GNU Autoconf, Automake, and Libtool.
|
||||
|
||||
If you cannot, keep reading in this section to see how to build and
|
||||
install these applications manually (i.e., download the source from
|
||||
the internet and build/install it yourself).
|
||||
|
||||
Autotools versions
|
||||
------------------
|
||||
|
||||
The following tools are required for developers to compile PRRTE
|
||||
from its repository sources (users who download PRRTE tarballs do
|
||||
not need these tools - they are only required for developers working
|
||||
on the internals of PRRTE itself):
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
|
||||
* - Software package
|
||||
- Notes
|
||||
- URL
|
||||
|
||||
* - GNU m4
|
||||
- See version chart below
|
||||
- https://ftp.gnu.org/gnu/m4/
|
||||
* - GNU Autoconf
|
||||
- See version chart below
|
||||
- https://ftp.gnu.org/gnu/autoconf/
|
||||
* - GNU Automake
|
||||
- See version chart below
|
||||
- https://ftp.gnu.org/gnu/automake/
|
||||
* - GNU Libtool
|
||||
- See version chart below
|
||||
- https://ftp.gnu.org/gnu/libtool/
|
||||
|
||||
The table below lists the versions that are used to make nightly
|
||||
snapshot and official release PRRTE tarballs. Other versions of the
|
||||
tools *may* work for some (but almost certainly not all) platforms;
|
||||
the ones listed below are the versions that we know work across an
|
||||
extremely wide variety of platforms and environments.
|
||||
|
||||
To strengthen the above point: the core PRRTE developers typically
|
||||
use very, very recent versions of the GNU tools. There are known bugs
|
||||
in older versions of the GNU tools that PRRTE no longer compensates
|
||||
for (it seemed senseless to indefinitely support patches for ancient
|
||||
versions of Autoconf, for example).
|
||||
|
||||
.. warning:: You **will** have problems if you do not use recent
|
||||
versions of the GNU Autotools.
|
||||
|
||||
That being said, ``autogen.pl`` and ``configure.ac`` scripts tend to
|
||||
be a bit lenient and enforce slightly older minimum versions than the
|
||||
ones listed below. This is because such older versions still make
|
||||
usable PRRTE builds on many platforms - especially Linux on x86_64
|
||||
with GNU compilers - and are convenient for developers whose Linux
|
||||
distribution may not have as recent as the versions listed below (but are
|
||||
recent enough to produce a working version for their platform).
|
||||
|
||||
To be clear: the versions listed below are required to support a wide
|
||||
variety of platforms and environments, and are used to make nightly
|
||||
and official release tarballs. When building PRRTE, YMMV when using
|
||||
versions older than those listed below |mdash| especially if you are
|
||||
not building on Linux x86_64 with the GNU compilers.
|
||||
|
||||
Using older versions is unsupported. If you run into problems, upgrade
|
||||
to at least the versions listed below.
|
||||
|
||||
.. note:: You may need to scroll right in the following table.
|
||||
|
||||
.. admonition:: PRRTE Docs TODO
|
||||
:class: error
|
||||
|
||||
The table below is almost certainly wrong; it has all the values
|
||||
from Open MPI. Need to update the table below with the appropriate
|
||||
values for PRRTE.
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
|
||||
* - PRRTE
|
||||
- M4
|
||||
- Autoconf
|
||||
- Automake
|
||||
- Libtool
|
||||
- Flex
|
||||
- Sphinx
|
||||
|
||||
* - v1.0.x
|
||||
- NA
|
||||
- 2.58 - 2.59
|
||||
- 1.7 - 1.9.6
|
||||
- 1.5.16 - 1.5.22
|
||||
- 2.5.4
|
||||
- NA
|
||||
* - v1.1.x
|
||||
- NA
|
||||
- 2.59
|
||||
- 1.9.6
|
||||
- 1.5.16 - 1.5.22
|
||||
- 2.5.4
|
||||
- NA
|
||||
* - v1.2.x
|
||||
- NA
|
||||
- 2.59
|
||||
- 1.9.6
|
||||
- 1.5.22 - 2.1a
|
||||
- 2.5.4
|
||||
- NA
|
||||
* - v1.3.x
|
||||
- 1.4.11
|
||||
- 2.63
|
||||
- 1.10.1
|
||||
- 2.2.6b
|
||||
- 2.5.4
|
||||
- NA
|
||||
* - v1.4.x
|
||||
- 1.4.11
|
||||
- 2.63
|
||||
- 1.10.3
|
||||
- 2.2.6b
|
||||
- 2.5.4
|
||||
- NA
|
||||
* - v1.5.x for x=0-4
|
||||
- 1.4.13
|
||||
- 2.65
|
||||
- 1.11.1
|
||||
- 2.2.6b
|
||||
- 2.5.4
|
||||
- NA
|
||||
* - v1.5.x for x>=5
|
||||
- 1.4.16
|
||||
- 2.68
|
||||
- 1.11.3
|
||||
- 2.4.2
|
||||
- 2.5.35
|
||||
- NA
|
||||
* - v1.6.x
|
||||
- 1.4.16
|
||||
- 2.68
|
||||
- 1.11.3
|
||||
- 2.4.2
|
||||
- 2.5.35
|
||||
- NA
|
||||
* - v1.7.x
|
||||
- 1.4.16
|
||||
- 2.69
|
||||
- 1.12.2
|
||||
- 2.4.2
|
||||
- 2.5.35
|
||||
- NA
|
||||
* - v1.8.x
|
||||
- 1.4.16
|
||||
- 2.69
|
||||
- 1.12.2
|
||||
- 2.4.2
|
||||
- 2.5.35
|
||||
- NA
|
||||
* - v1.10.x
|
||||
- 1.4.16
|
||||
- 2.69
|
||||
- 1.12.2
|
||||
- 2.4.2
|
||||
- 2.5.35
|
||||
- NA
|
||||
* - v2.0.x through v4.y
|
||||
- 1.4.17
|
||||
- 2.69
|
||||
- 1.15
|
||||
- 2.4.6
|
||||
- 2.5.35
|
||||
- NA
|
||||
* - v5.0.x
|
||||
- 1.4.17
|
||||
- 2.69
|
||||
- 1.15
|
||||
- 2.4.6
|
||||
- 2.5.35
|
||||
- 4.2.0
|
||||
* - Git main
|
||||
- 1.4.17
|
||||
- 2.69
|
||||
- 1.15
|
||||
- 2.4.6
|
||||
- 2.5.35
|
||||
- 4.2.0
|
||||
|
||||
Checking your versions
|
||||
----------------------
|
||||
|
||||
You can check what versions of the Autotools you have installed with
|
||||
the following:
|
||||
|
||||
.. code-block:: sh
|
||||
|
||||
shell$ m4 --version
|
||||
shell$ autoconf --version
|
||||
shell$ automake --version
|
||||
shell$ libtoolize --version
|
||||
|
||||
Installing the GNU Autotools from source
|
||||
----------------------------------------
|
||||
|
||||
.. note:: Most operating system packaging systems (to include Homebrew
|
||||
and MacPorts on MacOS) install recent-enough versions of the
|
||||
GNU Autotools. You should generally only install the GNU
|
||||
Autotools manually if you can't use your operating system
|
||||
packaging system to install them for you.
|
||||
|
||||
The GNU Autotools sources can be can be downloaded from:
|
||||
|
||||
* https://ftp.gnu.org/gnu/autoconf/
|
||||
* https://ftp.gnu.org/gnu/automake/
|
||||
* https://ftp.gnu.org/gnu/libtool/
|
||||
* And if you need it: https://ftp.gnu.org/gnu/m4/
|
||||
|
||||
It is certainly easiest to download/build/install all four of these
|
||||
tools together. But note that PRRTE has no specific m4
|
||||
requirements; it is only listed here because Autoconf requires minimum
|
||||
versions of GNU m4. Hence, you may or may not *need* to actually
|
||||
install a new version of GNU m4. That being said, if you are confused
|
||||
or don't know, just install the latest GNU m4 with the rest of the GNU
|
||||
Autotools and everything will work out fine.
|
||||
|
||||
|
||||
Build and install ordering
|
||||
--------------------------
|
||||
|
||||
You must build and install the GNU Autotools in the following order:
|
||||
|
||||
#. m4
|
||||
#. Autoconf
|
||||
#. Automake
|
||||
#. Libtool
|
||||
|
||||
.. important:: You *must* install the last three tools (Autoconf,
|
||||
Automake, Libtool) into the same prefix directory.
|
||||
These three tools are somewhat inter-related, and if
|
||||
they're going to be used together, they *must* share a
|
||||
common installation prefix.
|
||||
|
||||
You can install m4 anywhere as long as it can be found in the path;
|
||||
it may be convenient to install it in the same prefix as the other
|
||||
three. Or you can use any recent-enough m4 that is in your path.
|
||||
|
||||
.. warning:: It is *strongly* encouraged that you do **not** install
|
||||
your new versions over the OS-installed versions. This could cause
|
||||
other things on your system to break. Instead, install into
|
||||
``$HOME/local``, or ``/usr/local``, or wherever else you tend to
|
||||
install "local" kinds of software.
|
||||
|
||||
In doing so, be sure to prefix your ``$PATH`` with the directory
|
||||
where they are installed. For example, if you install into
|
||||
``$HOME/local``, you may want to edit your shell startup file
|
||||
(``.bashrc``, ``.cshrc``, ``.tcshrc``, etc.) to have something
|
||||
like
|
||||
|
||||
.. code-block:: sh
|
||||
|
||||
# For bash/sh:
|
||||
export PATH=$HOME/local/bin:$PATH
|
||||
# For csh/tcsh:
|
||||
set path = ($HOME/local/bin $path)
|
||||
|
||||
Ensure to set your ``$PATH`` *before* you configure/build/install
|
||||
the four packages.
|
||||
|
||||
All four packages require two simple commands to build and
|
||||
install:
|
||||
|
||||
.. code-block:: sh
|
||||
|
||||
shell$ cd M4_DIRECTORY
|
||||
shell$ ./configure --prefix=PREFIX
|
||||
shell$ make all install
|
||||
|
||||
.. important:: If you are using a shell that does not automatically
|
||||
re-index the ``$PATH`` (e.g., the ``csh`` or ``tcsh``
|
||||
shells), be sure to run the ``rehash`` command before
|
||||
you install the next package so that the executables
|
||||
that were just installed can be found by the next
|
||||
package.
|
||||
|
||||
.. code-block:: sh
|
||||
|
||||
# Make $PATH be re-indexed if necessary, e.g., via "rehash"
|
||||
shell$ cd AUTOCONF_DIRECTORY
|
||||
shell$ ./configure --prefix=PREFIX
|
||||
shell$ make all install
|
||||
|
||||
.. code-block:: sh
|
||||
|
||||
# Make $PATH be re-indexed if necessary, e.g., via "rehash"
|
||||
shell$ cd AUTOMAKE_DIRECTORY
|
||||
shell$ ./configure --prefix=PREFIX
|
||||
shell$ make all install
|
||||
|
||||
.. code-block:: sh
|
||||
|
||||
# Make $PATH be re-indexed if necessary, e.g., via "rehash"
|
||||
shell$ cd LIBTOOL_DIRECTORY
|
||||
shell$ ./configure --prefix=PREFIX
|
||||
shell$ make all install
|
||||
@@ -0,0 +1,18 @@
|
||||
Developer's guide
|
||||
=================
|
||||
|
||||
This section is here for those who are building/exploring the
|
||||
internals of PRRTE in its source code form, most likely through a
|
||||
developer's tree (i.e., a Git clone).
|
||||
|
||||
If you are simply *using* PRRTE, you probably don't need to read this
|
||||
section.
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
prerequisites.rst
|
||||
git-github
|
||||
gnu-autotools
|
||||
sphinx
|
||||
rst-for-markdown-expats.rst
|
||||
@@ -0,0 +1,132 @@
|
||||
Prerequisites
|
||||
=============
|
||||
|
||||
Compilers
|
||||
---------
|
||||
|
||||
Although it should probably be assumed, you'll need a C compiler that
|
||||
supports C99.
|
||||
|
||||
GNU Autotools
|
||||
-------------
|
||||
|
||||
When building PRRTE from its repository sources, the GNU Autotools
|
||||
must be installed (i.e., `GNU Autoconf
|
||||
<https://www.gnu.org/software/autoconf/>`_, `GNU Automake
|
||||
<https://www.gnu.org/software/automake/>`_, and `GNU Libtool
|
||||
<https://www.gnu.org/software/libtool/>`_).
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
:widths: 10 10
|
||||
|
||||
* - Tool
|
||||
- Minimum version
|
||||
* - Autoconf
|
||||
- |autoconf_min_version|
|
||||
* - Automake
|
||||
- |automake_min_version|
|
||||
* - Libtool
|
||||
- |libtool_min_version|
|
||||
|
||||
.. note:: The GNU Autotools are *not* required when building PRRTE
|
||||
from distribution tarballs. PRRTE distribution tarballs
|
||||
are bootstrapped such that end-users do not need to have the
|
||||
GNU Autotools installed.
|
||||
|
||||
You can generally install GNU Autoconf, Automake, and Libtool via your
|
||||
Linux distribution native package system, or via Homebrew or MacPorts
|
||||
on MacOS. This usually "just works."
|
||||
|
||||
If you run into problems with the GNU Autotools, or need to download /
|
||||
build them manually, see the :ref:`how to build and install GNU
|
||||
Autotools section <developers-installing-autotools-label>` for much
|
||||
more detail.
|
||||
|
||||
Perl
|
||||
----
|
||||
|
||||
PRRTE still uses Perl for a few of its build scripts (most notably,
|
||||
``autogen.pl``).
|
||||
|
||||
Generally speaking, any recent-ish release of Perl 5 should be
|
||||
sufficient to correctly execute PRRTE's Perl scripts.
|
||||
|
||||
Flex
|
||||
----
|
||||
|
||||
Minimum supported version: |flex_min_version|.
|
||||
|
||||
`Flex <https://github.com/westes/flex>`_ is used during the
|
||||
compilation of a developer's checkout (it is not used to build
|
||||
official distribution tarballs). Other flavors of lex are *not*
|
||||
supported: given the choice of making parsing code portable between
|
||||
all flavors of lex and doing more interesting work on PRRTE, we
|
||||
greatly prefer the latter.
|
||||
|
||||
Note that no testing has been performed to see what the minimum
|
||||
version of Flex is required by PRRTE. We suggest that you use
|
||||
v2.5.35 at the earliest.
|
||||
|
||||
For now, PRRTE will allow developer builds with Flex |flex_min_version|. This
|
||||
is primarily motivated by the fact that RedHat/CentOS 5 ships with
|
||||
Flex 2.5.4. It is likely that someday PRRTE developer builds will
|
||||
require Flex version >=2.5.35.
|
||||
|
||||
Note that the ``flex``-generated code generates some compiler warnings
|
||||
on some platforms, but the warnings do not seem to be consistent or
|
||||
uniform on all platforms, compilers, and flex versions. As such, we
|
||||
have done little to try to remove those warnings.
|
||||
|
||||
If you do not have Flex installed and cannot easily install it via
|
||||
your operating system's packaging system (to include Homebrew or
|
||||
MacPorts on MacOS), see `the Flex Github repository
|
||||
<https://github.com/westes/flex>`_.
|
||||
|
||||
|
||||
Sphinx (and therefore Python)
|
||||
-----------------------------
|
||||
|
||||
`Sphinx <https://www.sphinx-doc.org/>`_ is a Python-based tool used to
|
||||
generate both the HTML version of the documentation (that you are
|
||||
reading right now) and the nroff man pages.
|
||||
|
||||
Official PRRTE distribution tarballs contain pre-built HTML
|
||||
documentation and man pages. This means that -- similar to the GNU
|
||||
Autotools -- end users do not need to have Sphinx installed, but will
|
||||
still have both the HTML documentation and man pages installed as part
|
||||
of the normal configure / build / install process.
|
||||
|
||||
However, the HTML documentation and man pages are *not* stored in PRRTE's
|
||||
Git repository; only the ReStructred Text source code of the
|
||||
documentation is in the Git repository. Hence, if you are building
|
||||
PRRTE from a Git clone, you will need Sphinx (and some Python
|
||||
modules) in order to build the HTML documentation and man pages.
|
||||
|
||||
.. important:: Most systems do not have Sphinx and/or the required
|
||||
Python modules installed by default. :ref:`See the
|
||||
Installing Sphinx section
|
||||
<developers-installing-sphinx-label>` for details on
|
||||
how to install Sphinx and the required Python modules.
|
||||
|
||||
If ``configure`` is able to find Sphinx and the required Python
|
||||
modules, it will automatically generate the HTML documentation and man
|
||||
pages during the normal build procedure (i.e., during ``make all``).
|
||||
If ``configure`` is *not* able to find Sphinx and/or the required
|
||||
Python modules, it will simply skip building the documentation.
|
||||
|
||||
.. note:: If you have built/installed PRRTE from a Git clone and
|
||||
unexpectedly did not have the man pages installed, it is
|
||||
likely that you do not have Sphinx and/or the required
|
||||
Python modules available.
|
||||
|
||||
:ref:`See the Installing Sphinx section
|
||||
<developers-installing-sphinx-label>` for details on how
|
||||
to install Sphinx and the required Python modules.
|
||||
|
||||
.. important:: ``make dist`` will fail if ``configure`` did not find
|
||||
Sphinx and/or the required Python modules.
|
||||
Specifically: if ``make dist`` is not able to generate
|
||||
the most up-to-date HTML documentation and man pages,
|
||||
you cannot build a distribution tarball. **This is an
|
||||
intentional design decision.**
|
||||
@@ -0,0 +1,404 @@
|
||||
.. _developers-rst-for-markdown-expats:
|
||||
|
||||
ReStructured Text for those who know Markdown
|
||||
=============================================
|
||||
|
||||
You can think of RST as "Markdown, but much better". Meaning:
|
||||
|
||||
#. RST is basically just as simple as Markdown
|
||||
#. But RST is both more precise, and has more available formatting
|
||||
constructs (without getting crazy complicated)
|
||||
|
||||
The full Sphinx / RST documentation is available here:
|
||||
https://www.sphinx-doc.org/en/master/index.html
|
||||
|
||||
If you're familiar with Markdown, the following sections contain some
|
||||
tips to get you started in RST.
|
||||
|
||||
Whitespace and indenting
|
||||
------------------------
|
||||
|
||||
* MD: Whitespace and indenting generally doesn't matter in most
|
||||
cases. It does matter with bullets and sub bullets, but the rules
|
||||
get pretty weird, and vary between different Markdown renderers.
|
||||
|
||||
* RST: **Indenting matters**. A lot. Just like Python. In
|
||||
general, you indent all RST text to keep it within the same level.
|
||||
For example, all this text would be a single paragraph
|
||||
|
||||
**Blank lines also matter**. A lot. You use blank lines to
|
||||
delimit sections within an indenting level. For example, the
|
||||
blank line before this paragraph denotes a paragraph break.
|
||||
|
||||
.. note:: RST was created by the Python community. Hence,
|
||||
whitespace is quite important.
|
||||
|
||||
* Indenting matters
|
||||
* Blank lines between content matter
|
||||
|
||||
Using a blank line and outdenting indicates the end of the previous
|
||||
item. For example, this paragraph is not part of the MD/RST
|
||||
bulleted list.
|
||||
|
||||
Fixed width font
|
||||
----------------
|
||||
|
||||
* MD: Use single quotes:
|
||||
|
||||
.. code-block:: md
|
||||
|
||||
`hello world`
|
||||
|
||||
* RST: Use a pair of single quotes:
|
||||
|
||||
.. code-block:: rst
|
||||
|
||||
``hello world``
|
||||
|
||||
Italics
|
||||
-------
|
||||
|
||||
* MD: ``*hello world*`` or ``_hello world_``
|
||||
* RST: ``*hello world*``
|
||||
|
||||
Boldface
|
||||
--------
|
||||
|
||||
* MD: ``**hello world**``
|
||||
* RST: Same as MD
|
||||
|
||||
Chapter and section delimiters
|
||||
------------------------------
|
||||
|
||||
* MD: Either use one or more pound signs (#, ##, ###) to the left of
|
||||
the line of text, or underline the line of text with pound signs
|
||||
|
||||
* RST: Have a single line of text, underlined by non-ASCII
|
||||
characters.
|
||||
|
||||
* The length of the underlying *must* be at least as long as the
|
||||
line of text
|
||||
* Which non-ASCII character is used for the underlying does not
|
||||
matter, but the order in which they are used denotes chapters
|
||||
/ sections / subsections / etc.
|
||||
|
||||
In these PRRTE docs, the sequence of underline characters we use
|
||||
are:
|
||||
|
||||
.. code-block:: rst
|
||||
|
||||
Chapter 1: hello world
|
||||
======================
|
||||
|
||||
.. code-block:: rst
|
||||
|
||||
Section 1: hello world
|
||||
----------------------
|
||||
|
||||
.. code-block:: rst
|
||||
|
||||
Subsection 1: hello world
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
.. code-block:: rst
|
||||
|
||||
Subsubsection 1: hello world
|
||||
++++++++++++++++++++++++++++
|
||||
|
||||
Meaning: underlines made of ``=`` denotes chapters, underlines
|
||||
made of ``-`` denotes sections, underlines made of ``^`` denotes
|
||||
subsections, and underlines made of ``+`` denote subsubsections.
|
||||
|
||||
Multi-line code/fixed-width font
|
||||
--------------------------------
|
||||
|
||||
* MD: Use three single quotes to delimit blocks of text. Optionally
|
||||
include a token keyword to denote the syntax highlighting to use
|
||||
inside that block.
|
||||
|
||||
.. code-block:: md
|
||||
|
||||
```c
|
||||
int main() { printf("Hello world\n"); return 0 }
|
||||
```
|
||||
|
||||
* RST: Use ``.. code-block:: KEYWORD`` to start a section of code.
|
||||
|
||||
.. code-block:: rst
|
||||
|
||||
.. code-block:: c
|
||||
|
||||
int main() { printf("Hello world\n"); return 0 }
|
||||
|
||||
* KEYWORD indicates which syntax highlighting to use (e.g., ``c``,
|
||||
``c++`` ``make``, ``sh``, ``ini``, ``Fortran``, ``diff``,
|
||||
``python``, ``java``, ``rst``, ... etc.).
|
||||
* KEYWORD can be omitted if no specific highlighting is to be
|
||||
used.
|
||||
* There *MUST* be a blank line after the ``code-block`` line.
|
||||
* The lines in the block must be indented to the same column as the
|
||||
first ``c`` in ``code-block``. For example:
|
||||
|
||||
.. code-block:: rst
|
||||
|
||||
.. code-block:: sh
|
||||
|
||||
shell$ tar xf prte-<version>.tar.bz2
|
||||
shell$ cd prte-<version>
|
||||
shell$ ./configure --prefix=<path> |& tee config.out
|
||||
|
||||
Note that the code block will be rendered at the same level as
|
||||
where the first ``.`` of ``.. code-block::`` starts. In this
|
||||
case, the example code block will be rendered in the bulleted
|
||||
item.
|
||||
|
||||
Whereas this parargraph and code block will be outside of the
|
||||
above bulleted list:
|
||||
|
||||
.. code-block:: sh
|
||||
|
||||
shell$ tar xf prte-<version>.tar.bz2
|
||||
shell$ cd prte-<version>
|
||||
shell$ ./configure --prefix=<path> |& tee config.out
|
||||
|
||||
# Fun note: the code-block can contain blank lines.
|
||||
|
||||
The code-block is terminated by a blank line and then outdent back
|
||||
to the same level as the first ``.`` in ``.. code-block::``.
|
||||
|
||||
Un-numbered bullets
|
||||
-------------------
|
||||
|
||||
* MD: Start lines with ``*`` or ``-``
|
||||
* RST: Start lines with ``*``. You can wrap lines at the same
|
||||
indenting level to make paragraphs in the same bullet.
|
||||
|
||||
Having a blank line and then more text at the same indenting level
|
||||
makes another paragraph in the same bullet. You even put other
|
||||
directives in this same indenting level.
|
||||
|
||||
* For example, you can start a sub bullet.
|
||||
|
||||
This text is the next paragraph in the same sub bullet.
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
This is a verbatim code block within this same sub bullet.
|
||||
More about code-blocks below.
|
||||
|
||||
This is the next paragraph (after the code block) in the same
|
||||
sub bullet.
|
||||
|
||||
* If you start a new bullet, that terminates the previous bullet.
|
||||
|
||||
* You **MUST** put blank lines between bullets!
|
||||
|
||||
Numbered bullets:
|
||||
-----------------
|
||||
|
||||
* MD: Start lines with ``#``
|
||||
* RST: Start lines with ``#.``
|
||||
|
||||
.. important:: Yes, the trailing ``.`` is important
|
||||
|
||||
For example:
|
||||
|
||||
.. code-block:: rst
|
||||
|
||||
#. Item number 1
|
||||
#. The second item
|
||||
#. A third item
|
||||
|
||||
All the same rules for indentation apply as described above.
|
||||
|
||||
Comments
|
||||
--------
|
||||
|
||||
* MD: Enclose content in ``<!--`` and ``-->`` (i.e., HTML comments,
|
||||
but they are included in the output)
|
||||
* RST: Start a line with two periods and a space.
|
||||
|
||||
For example, the following block is a comment, and will not be
|
||||
included in the output:
|
||||
|
||||
.. code-block:: rst
|
||||
|
||||
.. Hello world. This is a comment. This whole block is a
|
||||
comment. You can leave it here in the final document, and it
|
||||
will not be included in the rendered output.
|
||||
|
||||
Your comment can even include blank lines. You terminate a
|
||||
comment -- just like most other things in RST -- by a blank
|
||||
line and then outdenting back out to the same column as the
|
||||
first ".".
|
||||
|
||||
This line is no longer part of the comment.
|
||||
|
||||
Including files
|
||||
---------------
|
||||
|
||||
* MD: You cannot include files in Markdown.
|
||||
* RST: Use the ``.. include:: FILENAME`` directive. For example:
|
||||
|
||||
.. code-block:: rst
|
||||
|
||||
.. include:: features-extensions.rst
|
||||
.. include:: features-java.rst
|
||||
|
||||
Those directives include those 2 files right here in this RST file.
|
||||
|
||||
.. important:: Chapter/section/subsection delimiters will be
|
||||
continued in those files as part of rendering this
|
||||
file.
|
||||
|
||||
Hyperlinks to URLs
|
||||
------------------
|
||||
|
||||
* MD:
|
||||
|
||||
.. code-block:: md
|
||||
|
||||
[this is the link text](https://example.com/)
|
||||
|
||||
* RST:
|
||||
|
||||
.. code-block:: rst
|
||||
|
||||
`this is the link text <https://example.com/>`_
|
||||
|
||||
.. important:: Yes, the trailing underscore in RST is important.
|
||||
It's a little weird, but you'll cope.
|
||||
|
||||
Hyperlinks to anchors
|
||||
---------------------
|
||||
|
||||
* MD: I forget offhand how to make anchors and links to them in MD.
|
||||
* RST: Use the ``:ref:`` directive.
|
||||
|
||||
Make an anchor like this:
|
||||
|
||||
.. code-block:: rst
|
||||
|
||||
.. _ANCHOR_NAME:
|
||||
|
||||
It *must* start with and underscore and end with a colon.
|
||||
|
||||
I've typically used anchor names that either begin with ``label-``
|
||||
or end in ``-label`` to make it blatantly obvious that it's a
|
||||
label. For example:
|
||||
|
||||
.. code-block:: rst
|
||||
|
||||
.. _building-and-installing-section-label:
|
||||
|
||||
Then you can use the ``:ref:`` directive:
|
||||
|
||||
.. code-block:: rst
|
||||
|
||||
be sure to see :ref:`the VPATH build section
|
||||
<building-and-installing-section-label>`.
|
||||
|
||||
Hyperlinks to other (RST) pages
|
||||
-------------------------------
|
||||
|
||||
* MD:
|
||||
|
||||
.. code-block:: md
|
||||
|
||||
[link text](page_name)
|
||||
|
||||
* RST: Use the ``:doc:`` directive.
|
||||
|
||||
General format:
|
||||
|
||||
.. code-block:: rst
|
||||
|
||||
:doc:`link text <PAGE_PATH>`
|
||||
|
||||
For example:
|
||||
|
||||
.. code-block:: rst
|
||||
|
||||
You should read :doc:`the Developer's Guide </developers>`.
|
||||
|
||||
The page path is relative to the ``docs`` dir in the PRRTE git tree.
|
||||
|
||||
Macros
|
||||
------
|
||||
|
||||
* MD: There are no macros in Markdown.
|
||||
* RST: We have defined a few PRRTE-specific macros in RST. You can
|
||||
insert these macros anywhere in RST content text.
|
||||
|
||||
* ``|ompi_ver|`` is the full PRRTE version number, including
|
||||
alpha/beta/rc/greek denotation. For example ``5.0.0rc1``.
|
||||
|
||||
* ``|ompi_series|`` is the major/minor PRRTE version, e.g.,
|
||||
``5.0.x``.
|
||||
|
||||
.. important:: Think twice about hard-coding the PRRTE version
|
||||
number or series when referring to the current
|
||||
version or series. It can be appropriate to
|
||||
hard-code an "x.y.0" version to denote a
|
||||
generational epoch, but in most other cases, you
|
||||
probably want to use one of the macros.
|
||||
|
||||
* ``|mdash|`` is a unicode long dash, an "em" dash. Use it instead
|
||||
of ``--``.
|
||||
|
||||
* ``|rarrow|`` is a unicode right arrow. Use it instead of ``->``
|
||||
or ``-->``.
|
||||
|
||||
Brightly-colored boxes
|
||||
----------------------
|
||||
|
||||
* MD: There are no brightly-colored boxes in MD.
|
||||
|
||||
* RST: You can use various directives to make brightly-colored
|
||||
"note" boxes (Called admonitions) in RST. For example:
|
||||
|
||||
.. important:: a green box with a "!" icon
|
||||
|
||||
Standard indenting rules apply for the content in the box. You
|
||||
can have multiple lines and multiple paragraphs, for example.
|
||||
|
||||
Yippee.
|
||||
|
||||
* You can even have bullets.
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
You can even have code blocks inside the bullet inside the
|
||||
caution box.
|
||||
|
||||
* All the standard indenting rules apply.
|
||||
|
||||
.. hint:: a green box with a "!" icon
|
||||
|
||||
.. note:: a blue box with a "!" icon
|
||||
|
||||
.. caution:: an orange box with a "!" icon
|
||||
|
||||
.. attention:: an orange box with a "!" icon
|
||||
|
||||
.. warning:: an orange box with a "!" icon
|
||||
|
||||
.. error:: a red box with a "!" icon
|
||||
|
||||
.. danger:: a red box with a "!" icon
|
||||
|
||||
.. admonition:: Custom title
|
||||
:class: tip
|
||||
|
||||
You can name this box whatever you want:
|
||||
|
||||
.. code-block:: rst
|
||||
|
||||
.. admonition:: Custom title
|
||||
:class: tip
|
||||
|
||||
Content of your box here.
|
||||
|
||||
Custom text for this custom admonition. Note that the ``:class: <type>``
|
||||
will change the coloring to the color for the basic admonition of that
|
||||
type. E.g., ``:class: tip`` makes the box be green.
|
||||
@@ -0,0 +1,236 @@
|
||||
.. _developers-installing-sphinx-label:
|
||||
|
||||
Installing and running Sphinx (building the PRRTE docs)
|
||||
=======================================================
|
||||
|
||||
As with all content in the Developer's Guide, this section is only
|
||||
relevant for developers who work in the PRRTE code base itself.
|
||||
End users who install a binary PRRTE package or build from an
|
||||
official PRRTE distribution tarball do not need to have Sphinx
|
||||
installed.
|
||||
|
||||
Installing Python
|
||||
-----------------
|
||||
|
||||
The `Sphinx tool <https://www.sphinx-doc.org/>`_ is written in Python,
|
||||
and therefore needs to have Python available. As of late 2022, Sphinx
|
||||
requires Python >= v3.7.
|
||||
|
||||
This documentation does not contain detailed instructions for
|
||||
installing a Python version sufficient for using Sphinx. Consult your
|
||||
local OS documentation for how to obtain Python >= v3.7, or search the
|
||||
internet for further information.
|
||||
|
||||
Installing Sphinx
|
||||
-----------------
|
||||
|
||||
`The Sphinx documentation
|
||||
<https://www.sphinx-doc.org/en/master/usage/installation.html>`_
|
||||
recommends installing Sphinx (and its required Python dependencies)
|
||||
via ``pip``, which typically requires connectivity to the general
|
||||
internet.
|
||||
|
||||
.. note:: If you are running on MacOS, you may be tempted to use
|
||||
Homebrew or MacPorts to install Sphinx. The Sphinx documentation
|
||||
recommends **against** this. Instead, you should use ``pip`` to
|
||||
install Sphinx.
|
||||
|
||||
There are three general ways to install Sphinx; you only need one of
|
||||
them.
|
||||
|
||||
Install Sphinx in a Python virtual environment
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
The preferred method of installing Sphinx for PRRTE documentation
|
||||
development is to install Sphinx in a Python virtual environment.
|
||||
This places Sphinx in a sandbox that will not conflict with other
|
||||
``pip``-installed Python modules. This example installs Sphinx and
|
||||
other Python modules in the ``ompi-docs-venv`` tree under your PRRTE
|
||||
Git clone directory:
|
||||
|
||||
.. code-block:: sh
|
||||
|
||||
# Create the Python virtual environment
|
||||
shell$ cd TOP_OF_PRRTE_GIT_CLONE
|
||||
shell$ python3 -m venv ompi-docs-venv
|
||||
# Or: python3 -m virtualenv ompi-docs-venv
|
||||
# Or: virtualenv --python=python3 ompi-docs-venv
|
||||
|
||||
# Activate the virtual environment
|
||||
shell$ . ./ompi-docs-venv/bin/activate
|
||||
|
||||
# Notice that the shell prompt changes
|
||||
# Now install the required Python modules
|
||||
(ompi-docs-venv) shell$ pip3 install -r docs/requirements.txt
|
||||
# Or: python3 -m pip install install -r docs/requirements.txt
|
||||
|
||||
Note that sourcing the ``activate`` script will change your prompt to
|
||||
put the name of your virtual environment directory at the front, just
|
||||
as a visual reminder that you are operating in a Python virtual
|
||||
environment. You can run ``deactivate`` to leave the virtual
|
||||
environment.
|
||||
|
||||
.. important:: You will need to source the ``activate`` script to put
|
||||
Sphinx in your ``PATH`` *before* running ``configure``.
|
||||
|
||||
Install Sphinx globally
|
||||
^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
If Python virtual environments are not desirable on your system, you
|
||||
can install Sphinx globally on your system (you may need to run with
|
||||
root privileges):
|
||||
|
||||
.. code-block:: sh
|
||||
|
||||
shell$ cd TOP_OF_PRRTE_GIT_CLONE
|
||||
shell$ pip3 install -r docs/requirements.txt
|
||||
# Or: python3 -m pip install install -r docs/requirements.txt
|
||||
|
||||
This will install Sphinx and some Python modules required for building
|
||||
the PRRTE documentation in a system-wide location.
|
||||
|
||||
This will likely install the ``sphinx-build`` executable in a location
|
||||
that is already in your ``PATH``. If the location is not already in
|
||||
your ``PATH``, then you need to add it to your ``PATH``.
|
||||
|
||||
.. important:: You will need to ensure that Sphinx is in your ``PATH``
|
||||
*before* running ``configure``.
|
||||
|
||||
|
||||
Install Sphinx locally
|
||||
^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
If you cannot or do not want to install Sphinx globally on your
|
||||
system, the following will install Sphinx somewhere under your
|
||||
``$HOME``. It is the same ``pip`` command as shown above, but with
|
||||
the addition of the ``--user`` flag (you should not need ``root``
|
||||
permissions to run this command):
|
||||
|
||||
.. code-block:: sh
|
||||
|
||||
shell$ cd TOP_OF_PRRTE_GIT_CLONE
|
||||
shell$ pip3 install --user -r docs/requirements.txt
|
||||
# Or: python3 -m pip install install -r docs/requirements.txt
|
||||
|
||||
This will install Sphinx and some Python modules required for building
|
||||
the PRRTE documentation in a system-wide location.
|
||||
|
||||
You will likely need to find the location where ``sphinx-build`` was
|
||||
installed and add it to your ``PATH``.
|
||||
|
||||
.. note:: On MacOS, look for ``sphinx-build`` under
|
||||
``$HOME/Library/Python/VERSION/bin`` (where ``VERSION`` is
|
||||
the version number of Python). Or it may have installed to
|
||||
``/usr/local/bin/sphinx-build``. YMMV.
|
||||
|
||||
.. important:: You will need to ensure that Sphinx is in your ``PATH``
|
||||
*before* running ``configure``.
|
||||
|
||||
Running Sphinx
|
||||
--------------
|
||||
|
||||
PRRTE's build environment is setup to invoke Sphinx automatically;
|
||||
you should not need to invoke Sphinx manually.
|
||||
|
||||
.. important:: You will need to ensure that Sphinx is in your ``PATH``
|
||||
*before* running ``configure``.
|
||||
|
||||
As long as ``configure`` found Sphinx, ``make`` will invoke Sphinx to
|
||||
build the documentation. You can also run ``make`` directly in the
|
||||
``docs/`` directory to build *just* the docs and skip building the
|
||||
rest of the PRRTE software. This can be a huge time-saver when
|
||||
iteratively writing, rendering, and viewing/proofing documentation.
|
||||
|
||||
.. note:: The fully-built HTML and man page docs are included in
|
||||
official PRRTE distribution tarballs. Meaning: if you
|
||||
download an official distribution PRRTE tarball,
|
||||
the pre-built HTML and man page files are included
|
||||
in the tarball.
|
||||
|
||||
Sphinx is a requirement for *developers* who want to build
|
||||
the PRRTE docs. End users do *not* need to have Sphinx
|
||||
available to build PRRTE or have its docs installed from
|
||||
an official distribution tarball.
|
||||
|
||||
Sphinx execution time
|
||||
^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Sphinx is stateful: subsequent runs can be significantly faster
|
||||
because Sphinx will only re-render HTML files that have changes. This
|
||||
is a nice time saver for PRRTE (e.g., if you are iterating over
|
||||
writing the docs and running ``make`` to see how they rendered in
|
||||
HTML).
|
||||
|
||||
.. caution:: Sphinx is only *somewhat* smart in its partial
|
||||
re-rendering. If you change a title in an RST file, for
|
||||
example, Sphinx will (by default) only re-render *that*
|
||||
page. The Tables of Contents / left hand navigation on
|
||||
other pages may not be updated.
|
||||
|
||||
You can always force a full re-render via:
|
||||
|
||||
.. code:: sh
|
||||
|
||||
shell$ cd docs
|
||||
shell$ rm -rf _build
|
||||
shell$ make
|
||||
|
||||
Checking Sphinx HTML links
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
``make linkcheck`` will invoke Sphinx's functionality to check all the
|
||||
external links in the documentation:
|
||||
|
||||
.. code:: sh
|
||||
|
||||
shell$ cd docs
|
||||
shell$ make linkcheck
|
||||
|
||||
.. important:: You will need to be on a computer that has good access
|
||||
to the internet when running this command.
|
||||
|
||||
Viewing docs locally
|
||||
^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Once you have built the docs in your local Git clone, you can view
|
||||
them locally in the build tree:
|
||||
|
||||
#. Open ``docs/_build/html/index.html`` in a browser to view the HTML
|
||||
docs. For example, on MacOS, the following command opens the build
|
||||
tree docs in the default web browser:
|
||||
|
||||
.. code:: sh
|
||||
|
||||
shell$ open docs/_build/html/index.html
|
||||
|
||||
#. Use the ``man`` command to view the Nroff files in
|
||||
``docs/_build/man`` (you may need to use an absolute or relative
|
||||
filename to prevent ``man`` from using its search paths). For
|
||||
example:
|
||||
|
||||
.. code:: sh
|
||||
|
||||
shell$ cd docs/_build/man
|
||||
shell$ man ./prterun.1
|
||||
|
||||
Alternatively, you can view these files in their installed locations
|
||||
after running ``make install``:
|
||||
|
||||
#. The HTML docs are installed (by default) to
|
||||
``$prefix/share/doc/prte/html``. You can use a web browser to
|
||||
open the ``index.html`` in that directory to view the docs locally.
|
||||
For example, on MacOS, the following command opens the installed
|
||||
docs in the default web browser:
|
||||
|
||||
.. code:: sh
|
||||
|
||||
shell$ open $prefix/share/doc/prte/html/index.html
|
||||
|
||||
#. The man pages are installed (by default) to ``$preix/share/man``.
|
||||
If your man page search path includes this location, you can invoke
|
||||
commands similar to the following to see the same content that you
|
||||
see in these HTML pages:
|
||||
|
||||
.. code:: sh
|
||||
|
||||
shell$ man prterun
|
||||
@@ -0,0 +1,9 @@
|
||||
Getting help
|
||||
============
|
||||
|
||||
The best way to report bugs, send comments, or ask questions is to
|
||||
post them on the `PRRTE GitHub issue tracker
|
||||
<https://github.com/openpmix/prrte/issues>`_.
|
||||
|
||||
When submitting questions and problems, be sure to include as much
|
||||
extra information as possible.
|
||||
@@ -0,0 +1 @@
|
||||
.. include:: /prrte-rst-content/detail-hosts-cli.rst
|
||||
@@ -0,0 +1,4 @@
|
||||
Hostfiles
|
||||
=========
|
||||
|
||||
.. include:: /prrte-rst-content/detail-hostfiles.rst
|
||||
@@ -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
|
||||
@@ -0,0 +1 @@
|
||||
.. include:: /prrte-rst-content/detail-hosts-relative-indexing.rst
|
||||
@@ -0,0 +1 @@
|
||||
.. include:: /prrte-rst-content/detail-hosts-rm.rst
|
||||
@@ -0,0 +1,12 @@
|
||||
How Things Work
|
||||
===============
|
||||
|
||||
This section explains how some of the functions inside
|
||||
PRRTE perform their job. If you have questions about, for
|
||||
example, how session directory trees work, then you will
|
||||
find information on that subject here.
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
session_dirs.rst
|
||||
@@ -0,0 +1,115 @@
|
||||
.. _session-dir-detail-label:
|
||||
|
||||
Session Directories
|
||||
===================
|
||||
|
||||
In general, servers, tools, and application processes all have access to their own ``session directory`` - a location where scratch files can be safely placed with a reasonable guarantee of automatic cleanup upon termination. Session directories provide a safe location (i.e., in a temporary file system and guaranteed not to conflict with other sessions/jobs/applications) for executables to use when creating scratch files such as shared memory backing files and rendezvous files. PMIx and PRRTE also provide a reasonable guarantee that any files and/or subdirectories created under the specified location will be automatically cleaned up at finalize and/or termination. In this case, ``reasonable`` means that we will do our best to remove all files and subdirectories, but cannot fully guarantee removal in situations outside of our control (e.g., being forcibly terminated via `SIGKILL`).
|
||||
|
||||
.. note:: In general, the host (e.g., PRRTE) is responsible for creating session
|
||||
directories. In some cases, PMIx creates a limited set of session
|
||||
directories if the host does not provide them - e.g., in the case of a
|
||||
self-launched tool - for storing contact information. This is outlined
|
||||
below.
|
||||
|
||||
The following attributes can be used to pass session directory information to the PMIx library:
|
||||
|
||||
* ``PMIX_SYSTEM_TMPDIR``: temporary directory for this system (typically ``/tmp`` for Linux systems).
|
||||
The PMIx server will place tool rendezvous points and contact info in this location. In the
|
||||
absence of this attribute during ``PMIx_Init`` (or the server/tool version), the PMIx library
|
||||
will first look for the ``TMPDIR`` envar, then ``TEMP``, and finally ``TMP`` - if none of
|
||||
those are found, the library will default to the ``/tmp`` location.
|
||||
|
||||
* ``PMIX_SERVER_TMPDIR``: session directory where the PMIx server will place client rendezvous
|
||||
points and contact info. If not provided, the library will first look for the ``PMIX_SERVER_TMPDIR``
|
||||
envar, then ``TMPDIR``, ``TEMP``, and finally ``TMP`` - if none of those are found, the
|
||||
library will default to the ``/tmp`` location.
|
||||
|
||||
* ``PMIX_TMPDIR``: top-level temporary directory assigned to a session. Often equated to
|
||||
``PMIX_SERVER_TMPDIR`` by host environments.
|
||||
|
||||
* ``PMIX_NSDIR``: session directory assigned to a namespace. Usually placed underneath the
|
||||
``PMIX_SERVER_TMPDIR`` and given a name based on the namespace itself.
|
||||
|
||||
* ``PMIX_PROCDIR``: session directory assigned to an individual process. Usually placed underneath
|
||||
the ``PMIX_NSDIR`` assigned to the namespace of the process, and given a string name equivalent
|
||||
to the rank of the process.
|
||||
|
||||
* ``PMIX_LAUNCHER_RENDEZVOUS_FILE``: the full path name of a file wherein a tool shall output its
|
||||
connection information - e.g., a launcher to store contact information so that a debugger
|
||||
can attach to it.
|
||||
|
||||
* ``PMIX_TDIR_RMCLEAN``: the host environment (often known as the "resource manager" or "RM") will
|
||||
cleanup the session directories. In the absence of this attribute, the PMIx library will
|
||||
remove all files in any session directory it created and then remove the directory itself.
|
||||
|
||||
These same attributes can be used in calls to ``PMIx_Get`` by application processes to retrieve
|
||||
the session directory locations for their own use.
|
||||
|
||||
|
||||
Client Session Directories
|
||||
--------------------------
|
||||
|
||||
The PMIx client library does not create its own session directories as it does not publish
|
||||
contact information. Host daemons often create one or more session directory levels for use
|
||||
by client application processes (e.g., for storing shared memory backing files) - the location
|
||||
of those directories is passed to clients using the above attributes.
|
||||
|
||||
As the client library never creates session directories, it does not perform any cleanup of
|
||||
the session directory tree.
|
||||
|
||||
|
||||
Tool and Server Session Directories
|
||||
-----------------------------------
|
||||
|
||||
The PMIx library utilizes appropriate session directory locations to store one or more
|
||||
"rendezvous files" - i.e., files containing connection information. Note that the library does not
|
||||
always create all levels of the session directory tree, although the process
|
||||
itself can of course create directories as it sees fit. Only the directories that (a) are required
|
||||
for generating the particular rendezvous file, and (b) do not already exist are created. Only
|
||||
directories actually created by the library are cleaned up and removed upon finalization.
|
||||
|
||||
The following rendezvous files are provided:
|
||||
|
||||
* if ``PMIX_LAUNCHER_RENDEZVOUS_FILE`` is given (either via an attribute to an "init" function
|
||||
or as an envar), then the specified file (including any required path elements) will be created.
|
||||
|
||||
* if the server is designated as a "system" server (i.e., the ``PMIX_SERVER_SYSTEM_SUPPORT`` attribute
|
||||
was provided to ``PMIx_server_init``), then a rendezvous file named "pmix.sys.<hostname>" will be
|
||||
created in the ``PMIX_SYSTEM_TMPDIR`` location.
|
||||
|
||||
* if the server is designated as a "session" server (i.e., the ``PMIX_SERVER_SESSION_SUPPORT`` attribute
|
||||
was provided to ``PMIx_server_init``), then a rendezvous file named "pmix.sys.<hostname>" will be
|
||||
created in the ``PMIX_SERVER_TMPDIR`` location.
|
||||
|
||||
* if the server declares that it will support tool connections (i.e., the ``PMIX_SERVER_TOOL_SUPPORT``
|
||||
attribute was provided to ``PMIx_server_init``), then the following rendezvous files will be created
|
||||
under the ``PMIX_SERVER_TMPDIR`` location:
|
||||
|
||||
* a PID file: "pmix.<hostname>.<pid>"
|
||||
|
||||
* a namespace file using the nspace of the server: "pmix.<hostname>.<nspace>"
|
||||
|
||||
* if the server is designated as a "scheduler" (i.e., the ``PMIX_SERVER_SCHEDULER`` attribute
|
||||
was provided to ``PMIx_server_init``), then a rendezvous file named "pmix.sched.<hostname>" will be
|
||||
created in the ``PMIX_SYSTEM_TMPDIR`` location.
|
||||
|
||||
* if the server is designated as a "system controller" (i.e., the ``PMIX_SERVER_SYS_CONTROLLER`` attribute
|
||||
was provided to ``PMIx_server_init``), then a rendezvous file named "pmix.sysctrlr.<hostname>" will be
|
||||
created in the ``PMIX_SYSTEM_TMPDIR`` location.
|
||||
|
||||
.. note:: The above rendezvous files are additive - i.e., generating any one of the files has
|
||||
no bearing on whether another file will be output. Thus, a single server could
|
||||
generate anywhere from one to five (or more) rendezvous files spanning several
|
||||
directory levels.
|
||||
|
||||
.. warning:: There is a potential conflict in rendezvous file names - e.g., if multiple processes
|
||||
declare themselves to be a "session" server on the same node. The format of the
|
||||
names used by PMIx are intended to support tool connection in the absence of specific
|
||||
connection directives - i.e., they provide a means by which PMIx can search for and
|
||||
find the rendezvous file for a particular type of process without requiring the user
|
||||
to manually identify it. Thus, a tool can request connection to the "system controller"
|
||||
without necessarily knowing the PID of that process and PMIx can facilitate the
|
||||
connection. As a result, only one system server can be operating on a node at a time.
|
||||
This is also (independently) true for schedulers and system controllers.
|
||||
|
||||
|
||||
@@ -0,0 +1,44 @@
|
||||
PMIx Reference Runtime Environment (PRRTE) |prte_ver|
|
||||
=====================================================
|
||||
|
||||
The project is formally referred to in documentation by "PRRTE", and
|
||||
the GitHub repository is ``prrte``.
|
||||
|
||||
.. note:: We have found that most users do not like typing the two
|
||||
consecutive ``r`` letters in the name. Hence, all of the
|
||||
internal API symbols, environment variables, MCA frameworks,
|
||||
and CLI executables all use the abbreviated ``prte`` (one
|
||||
``r``, not two) for convenience.
|
||||
|
||||
Documentation locations
|
||||
=======================
|
||||
|
||||
This documentation can be found in the following locations:
|
||||
|
||||
* On the web: https://docs.prrte.org/
|
||||
* In the tarball: ``docs/_build/html/index.html``
|
||||
* Installed: ``$prefix/share/doc/prrte/html/index.html``
|
||||
|
||||
Table of contents
|
||||
=================
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
:numbered:
|
||||
|
||||
quickstart
|
||||
release-notes
|
||||
getting-help
|
||||
install
|
||||
configuration
|
||||
how-things-work/index
|
||||
hosts/index
|
||||
placement/index
|
||||
notifications
|
||||
session-directory
|
||||
developers/index
|
||||
contributing
|
||||
license
|
||||
man/index
|
||||
versions
|
||||
news/index
|
||||
@@ -0,0 +1,92 @@
|
||||
Installing PRRTE
|
||||
================
|
||||
|
||||
For More Information
|
||||
--------------------
|
||||
|
||||
This file is a *very* short overview of building and installing the
|
||||
PMIx Reference RunTime Environment (PRRTE). More information is
|
||||
available `in the FAQ section on the PRRTE web site
|
||||
<https://github.com/openpmix/prrte>`_.
|
||||
|
||||
Minimum PMIx version
|
||||
--------------------
|
||||
|
||||
The ``configure`` script in PRRTE |prte_ver| must be able to find an
|
||||
OpenPMIx installation that is |pmix_min_version| or higher. If
|
||||
``configure`` cannot find a suitable OpenPMIx version, it will abort
|
||||
with an error.
|
||||
|
||||
If OpenPMIx cannot be found in default preprocessor and linker search
|
||||
paths, you can specify the ``--with-pmix=DIR`` CLI option to tell
|
||||
``configure`` where to find it.
|
||||
|
||||
|
||||
Developer Builds
|
||||
----------------
|
||||
|
||||
If you have checked out a DEVELOPER'S COPY of PRRTE (i.e., you checked
|
||||
out from Git), you should read the :doc:`Developer's Guide
|
||||
</developers/index>` section before attempting to build PRRTE. You
|
||||
must then run:
|
||||
|
||||
.. code-block:: sh
|
||||
|
||||
shell$ ./autogen.pl
|
||||
|
||||
You will need very recent versions of GNU Autoconf, Automake, and
|
||||
Libtool. If ``autogen.pl`` fails, read the :doc:`Developer's Guide
|
||||
</developers/index>`. If anything else fails, read the
|
||||
:doc:`Developer's Guide </developers/index>`. Finally, we suggest
|
||||
reading the :doc:`Developer's Guide </developers/index>`.
|
||||
|
||||
.. note:: Developer's copies of PRRTE typically include a large
|
||||
performance penalty at run-time because of extra debugging
|
||||
overhead.
|
||||
|
||||
|
||||
User Builds
|
||||
-----------
|
||||
|
||||
Building PRRTE is typically a combination of running ``configure``
|
||||
and ``make``. Execute the following commands to install the PRRTE
|
||||
system from within the directory at the top of the tree:
|
||||
|
||||
.. code-block:: sh
|
||||
|
||||
shell$ ./configure --prefix=/where/to/install
|
||||
[...lots of output...]
|
||||
shell$ make all install
|
||||
|
||||
If you need special access to install, then you can execute ``make
|
||||
all`` as a user with write permissions in the build tree, and a
|
||||
separate ``make install`` as a user with write permissions to the
|
||||
install tree.
|
||||
|
||||
Compiling support for specific compilers and environments may require
|
||||
additional command line flags when running ``configure``. Note that
|
||||
VPATH builds are fully supported. For example:
|
||||
|
||||
.. code-block:: sh
|
||||
|
||||
shell$ tar xf prrte-X.Y.Z.tar.gz
|
||||
shell$ cd prrte-X.Y.Z
|
||||
shell$ mkdir build
|
||||
shell$ cd build
|
||||
shell$ ../configure ...your options...
|
||||
[...lots of output...]
|
||||
shell$ make all install
|
||||
|
||||
Parallel builds are also supported (although some versions of ``make``,
|
||||
such as GNU make, will only use the first target listed on the command
|
||||
line when executable parallel builds). For example (assume GNU make):
|
||||
|
||||
.. code-block:: sh
|
||||
|
||||
shell$ make -j 4 all
|
||||
[...lots of output...]
|
||||
shell$ make install
|
||||
|
||||
Parallel make is generally only helpful in the build phase; the
|
||||
installation process is mostly serial and does not benefit much from
|
||||
parallel make.
|
||||
@@ -0,0 +1,5 @@
|
||||
License
|
||||
=========
|
||||
|
||||
.. literalinclude:: ../LICENSE
|
||||
:language: text
|
||||
@@ -0,0 +1,21 @@
|
||||
PRRTE manual pages
|
||||
==================
|
||||
|
||||
All of the content in this section is also installed as individual
|
||||
manual ("man") pages in a PRRTE installation. If your man page search
|
||||
path includes the location where PRRTE installed its man pages (which
|
||||
defaults to ``$prefix/share/man``), you can invoke commands similar to
|
||||
the following to see the same content that you see in these HTML
|
||||
pages:
|
||||
|
||||
.. code:: sh
|
||||
|
||||
shell$ man prterun
|
||||
|
||||
PRRTE man pages, by section:
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
man1/index
|
||||
man5/index
|
||||
@@ -0,0 +1,12 @@
|
||||
Commands (section 1)
|
||||
====================
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
prte.1.rst
|
||||
prte_info.1.rst
|
||||
prted.1.rst
|
||||
prterun.1.rst
|
||||
prun.1.rst
|
||||
pterm.1.rst
|
||||
@@ -0,0 +1,29 @@
|
||||
.. _man1-prte:
|
||||
|
||||
prte
|
||||
====
|
||||
|
||||
prte |mdash| instantiate an instance of PRRTE DVM
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
|
||||
.. code:: sh
|
||||
|
||||
shell$ prte ...options...
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
|
||||
``prte`` instantiates an instance of the PMIx Reference Run Time
|
||||
Environment (PRRTE) distributed virtual machine (DVM).
|
||||
|
||||
Extensive help documentation for this command is provided through
|
||||
``prte --help [topic]``.
|
||||
|
||||
At least for now, that content is not available in man page form.
|
||||
Pull requests to add all the content (via repeatable infrastructure)
|
||||
would be greatly appreciated.
|
||||
|
||||
.. seealso::
|
||||
:ref:`prterun(1) <man1-prterun>`
|
||||
@@ -0,0 +1,29 @@
|
||||
.. _man1-prte_info:
|
||||
|
||||
prte_info
|
||||
=========
|
||||
|
||||
prte_info |mdash| Provide detailed information on your PRRTE installation
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
|
||||
.. code:: sh
|
||||
|
||||
prte_info ...options...
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
|
||||
``prte_info`` provide detailed information on your PMIx Reference Run
|
||||
Time (PRRTE) installation.
|
||||
|
||||
Extensive help documentation for this command is provided through
|
||||
``prte_info --help [topic]``.
|
||||
|
||||
At least for now, that content is not available in man page form.
|
||||
Pull requests to add all the content (via repeatable infrastructure)
|
||||
would be greatly appreciated.
|
||||
|
||||
.. seealso::
|
||||
:ref:`prte(1) <man1-prte>`
|
||||
@@ -0,0 +1,29 @@
|
||||
.. _man1-prted:
|
||||
|
||||
prted
|
||||
=====
|
||||
|
||||
prted |mdash| helper daemon for PRRTE
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
|
||||
.. code:: sh
|
||||
|
||||
shell$ prted ...options...
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
|
||||
``prted`` is the back end helper daemon for PMIx Reference Runtime
|
||||
Environment (PRRTE).
|
||||
|
||||
Extensive help documentation for this command is provided through
|
||||
``prted --help [topic]``.
|
||||
|
||||
At least for now, that content is not available in man page form.
|
||||
Pull requests to add all the content (via repeatable infrastructure)
|
||||
would be greatly appreciated.
|
||||
|
||||
.. seealso::
|
||||
:ref:`prte(1) <man1-prte>`
|
||||
@@ -0,0 +1,49 @@
|
||||
.. _man1-prterun:
|
||||
|
||||
prterun
|
||||
========
|
||||
|
||||
prterun |mdash| launch an application with a default DVM
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
|
||||
.. code:: sh
|
||||
|
||||
shell$ prterun ...options...
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
|
||||
``prterun`` submits a job to the PMIx Reference Runtime Environment
|
||||
(PRRTE). A default set of distributed virtual
|
||||
machine (DVM) options are used; use :ref:`prun(1) <man1-prun>` if you
|
||||
wish to utilize specific DVM options.
|
||||
|
||||
Much of this same help documentation for this command is also provided
|
||||
through ``prun --help [topic]``.
|
||||
|
||||
.. admonition:: PRRTE Docs TODO
|
||||
:class: error
|
||||
|
||||
Need to write this man page.
|
||||
|
||||
COMMAND LINE OPTIONS
|
||||
--------------------
|
||||
|
||||
.. TODO - add in all supported CLI
|
||||
|
||||
|
||||
DEPRECATED COMMAND LINE OPTIONS
|
||||
-------------------------------
|
||||
|
||||
.. TODO - check for deprecated CLI and add those here
|
||||
|
||||
|
||||
EXIT STATUS
|
||||
-----------
|
||||
|
||||
Description of the various exit statuses of this command.
|
||||
|
||||
.. seealso::
|
||||
:ref:`prte(1) <man1-prte>`
|
||||
@@ -0,0 +1,44 @@
|
||||
.. _man1-prun:
|
||||
|
||||
prun
|
||||
=====
|
||||
|
||||
prun |mdash| launch an application
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
|
||||
.. code:: sh
|
||||
|
||||
shell$ prun ...options...
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
|
||||
``prun`` submits a job to the PMIx Reference Runtime Environment
|
||||
(PRRTE). The user has control over various distributed virtual
|
||||
machine (DVM) options.
|
||||
|
||||
Much of this same help documentation for this command is also provided
|
||||
through ``prun --help [topic]``.
|
||||
|
||||
.. admonition:: PRRTE Docs TODO
|
||||
:class: error
|
||||
|
||||
Need to write this man page.
|
||||
|
||||
COMMAND LINE OPTIONS
|
||||
--------------------
|
||||
|
||||
The following command line options are supported:
|
||||
|
||||
.. TODO - add in all supported CLI
|
||||
|
||||
DEPRECATED COMMAND LINE OPTIONS
|
||||
-------------------------------
|
||||
|
||||
.. TODO - check for deprecated CLI and add those here
|
||||
|
||||
|
||||
.. seealso::
|
||||
:ref:`prte(1) <man1-prte>`
|
||||
@@ -0,0 +1,29 @@
|
||||
.. _man1-pterm:
|
||||
|
||||
pterm
|
||||
=====
|
||||
|
||||
pterm |mdash| terminate an instance of the PRRTE DVM
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
|
||||
.. code:: sh
|
||||
|
||||
shell$ pterm ...options...
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
|
||||
``pterm`` terminates an instance of the PMIx Reference Runtime
|
||||
Environment (PRRTE) distributed virtual machine (DVM).
|
||||
|
||||
Extensive help documentation for this command is provided through
|
||||
``pterm --help [topic]``.
|
||||
|
||||
At least for now, that content is not available in man page form.
|
||||
Pull requests to add all the content (via repeatable infrastructure)
|
||||
would be greatly appreciated.
|
||||
|
||||
.. seealso::
|
||||
:ref:`prte(1) <man1-prte>`
|
||||
@@ -0,0 +1,7 @@
|
||||
Config file manual pages (section 5)
|
||||
====================================
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
prte.5.rst
|
||||
@@ -0,0 +1,11 @@
|
||||
.. _man5-prte:
|
||||
|
||||
prte
|
||||
====
|
||||
|
||||
PMIx Reference Runtime Environment (PRRTE) - General information
|
||||
|
||||
.. admonition:: PRRTE Docs TODO
|
||||
:class: error
|
||||
|
||||
Need to write this man page.
|
||||
@@ -0,0 +1,40 @@
|
||||
.. PMIx NEWS
|
||||
|
||||
This page serves as a high level NEWS page which includes NEWS
|
||||
from various PMIx series
|
||||
|
||||
News
|
||||
====
|
||||
|
||||
This file contains the main features as well as overviews of specific
|
||||
bug fixes (and other actions) for each version of PRRTE since
|
||||
version 1.0.
|
||||
|
||||
PRRTE typically releases two separate version
|
||||
series simultaneously. Since these series have different goals and
|
||||
are semi-independent of each other, a single NEWS-worthy item may be
|
||||
introduced into different series at different times. For example,
|
||||
feature F was introduced in the vA.B series at version vA.B.C, and was
|
||||
later introduced into the vX.Y series at vX.Y.Z.
|
||||
|
||||
The first time feature F is released, the item will be listed in the
|
||||
vA.B.C section, denoted as:
|
||||
|
||||
(** also to appear: X.Y.Z) -- indicating that this item is also
|
||||
likely to be included in future release
|
||||
version vX.Y.Z.
|
||||
|
||||
When vX.Y.Z is later released, the same NEWS-worthy item will also be
|
||||
included in the vX.Y.Z section and be denoted as:
|
||||
|
||||
(** also appeared: A.B.C) -- indicating that this item was previously
|
||||
included in release version vA.B.C.
|
||||
|
||||
:ref:`search`
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
news-v3.x
|
||||
news-v2.x
|
||||
news-v1.x
|
||||
@@ -0,0 +1,10 @@
|
||||
PRRTE v1.x series
|
||||
=================
|
||||
|
||||
This file contains all the NEWS updates for all the PRTE v1.x
|
||||
series, in reverse chronological order.
|
||||
|
||||
1.0.0 -- 17 Jul 2019
|
||||
----------------------
|
||||
|
||||
Initial public release - not production intended
|
||||
@@ -0,0 +1,128 @@
|
||||
PRRTE v2.x series
|
||||
=================
|
||||
|
||||
This file contains all the NEWS updates for all the PRRTE v2.x
|
||||
series, in reverse chronological order.
|
||||
|
||||
2.0.2 -- 11 Feb 2022
|
||||
--------------------
|
||||
.. important:: This release contains a workaround that resolves the prior
|
||||
conflict with HWLOC versions 2.5.0 through 2.7.0 (inclusive).
|
||||
Those versions of HWLOC are now supported.
|
||||
|
||||
- PR #1197: Cleanup a bit in prep for PMIx v5 release
|
||||
- PR #1195: Remove HWLOC version block
|
||||
- PR #1190: Add missing examples to tarball
|
||||
- PR #1189: Ensure an error gets reported when rankfile fails
|
||||
|
||||
|
||||
2.0.1 -- 1 Feb 2022
|
||||
---------------------
|
||||
.. important:: As of v2.0.1, PRRTE no longer has a dependency on "pandoc"
|
||||
for building and installing man pages.
|
||||
|
||||
.. important:: PRRTE has identified a bug in HWLOC versions 2.5.0 thru
|
||||
2.7.0 (inclusive) that causes PMIx to segfault during certain
|
||||
operations. We have worked with the HWLOC developers to fix
|
||||
that problem, and the fix will be included beginning in HWLOC
|
||||
version 2.7.1. Accordingly, PRRTE now checks for the problem
|
||||
HWLOC versions and will error out of configure if they are
|
||||
encountered.
|
||||
|
||||
- PR #1185 and 1186: Update HWLOC version detection
|
||||
- Reject versions 2.5.0-2.7.0, inclusive
|
||||
- PR #1183: Always build the PBS scheduler support
|
||||
- PR #1182: Cleanup handling of allocated node names
|
||||
- PR #1169: Updates for rc5
|
||||
- Enable support for PMIX_IOF_OUTPUT_RAW attribute
|
||||
- Update NEWS
|
||||
- PR #1167: Updates
|
||||
- Be more flexible in library handling
|
||||
- Update libevent/hwloc handling to match PMIx
|
||||
- Remove event header defines
|
||||
- Minor cleanups and ensure no local IOF copy
|
||||
when persistent
|
||||
- change the pcc wrapper compiler to a symlink
|
||||
to pmixcc
|
||||
- Cleanup code a bit
|
||||
- Select all adapters with IPv4 addresses within
|
||||
specified subnet ranges
|
||||
- validate input for mpiexec --with-ft options
|
||||
- PR #1158: Updates
|
||||
- Fix uninitialized variable
|
||||
- Update NEWS
|
||||
- PR #1157: Fix brackets around code clause that caused
|
||||
erroneous "unable to find tune file" error
|
||||
- PR #1156: Handle default param case for HWT CPUs
|
||||
- PR #1155: Cleanup qualifier detection for mapping policy
|
||||
- PR #1154: Increase speed of rank computation
|
||||
- Remove spurious break in loop
|
||||
- PR #1153: Ensure the direct-multi test ranks-by slot
|
||||
- PR #1151: Revamp map-by NUMA support
|
||||
- PR #1150: Tranlate legacy OMPI params
|
||||
- PR #1147: Updates
|
||||
- Minor infrastructure and example cleanup
|
||||
- Allow external caller to set prte_tool_basename
|
||||
- Restore support for map/rank/bind by NUMA domains
|
||||
- Standardize on use of HWLOC_OBJ_NUMANODE
|
||||
- Activate the colocation code and debug it
|
||||
- Update man pages
|
||||
- PR #1145: delete use of PMIX_CHECK_BROKEN_QSORT refs
|
||||
- PR #1137: Protect against PMIx v4.1.1-only definitions
|
||||
- PR #1135: Final update v2.0.1 for rc3
|
||||
- Show MCA base params in prte_info
|
||||
- Silence variety of warnings
|
||||
- Start enabling picky compilers when requested
|
||||
- Remove unused variables in BMG component
|
||||
- Increase verbosity of detected error
|
||||
- Remove broken qsort support
|
||||
- Add a legacy example
|
||||
- Don't specify parent ID from tool
|
||||
- PR #1104: Update v2.0.1 for rc3
|
||||
- Silence Coverity warnings
|
||||
- Update portable platform file
|
||||
- Only order DVM termination once
|
||||
- Abort configure if gcc is <= 4.8.1
|
||||
- Fix segmentation fault caused by wrong size for vpids buffer
|
||||
- PR #1097: Update v2.0.1 for rc2
|
||||
- Update NEWS and VERSION
|
||||
- Circulate and report local completion status for collectives
|
||||
- Don't require pandoc to make a tarball
|
||||
- Do not register xml topos
|
||||
- Remove the Markdown source files for PRRTE man pages
|
||||
- PR #1089: Updates
|
||||
- Cleanup timeout support to differentiate spawn vs execution time limits
|
||||
- PR #1086: Multiple commits
|
||||
- Use the info list array feature to construct registration data
|
||||
- Fix path check for pandoc
|
||||
- PR #1083: Multiple commits
|
||||
- Add MCA param to control device distance computation
|
||||
- Correctly report --output-directory and --output-filename as deprecated
|
||||
- Check for libevent minimum 2.0.21
|
||||
- Properly handle generic "orte" MCA params
|
||||
- Cleanups associated with IOF operations
|
||||
- Avoid use of MCA params for singleton and report-uri
|
||||
- autogen.pl: ignore all excluded components
|
||||
- Don't allow PRRTE IOF to block during delivery
|
||||
- Update ignores to include Coverity working directory
|
||||
- Ensure we hold the IOF data until the PMIx library is done with it
|
||||
- Add an "unlock" call to balance the code
|
||||
- Use correct ninfo when passing into APIs
|
||||
- Don't locally output stdout/err if prterun has a parent
|
||||
|
||||
|
||||
2.0.0 -- 29 Jul 2021
|
||||
--------------------
|
||||
.. important:: This is the initial production release of the PRRTE
|
||||
software system. It contains full support of the
|
||||
PMIx v4.1 Standard plus extensions as provided by
|
||||
OpenPMIx v4.1. It therefore requires support from
|
||||
that release or above.
|
||||
|
||||
Delineating all the changes from the original v1.0.0 tarball would be
|
||||
overwhelming. The original tarball was provided solely as a means for
|
||||
packagers to prepare for the eventual production version and was not
|
||||
intended for general use. As expected, the code base has been extensively
|
||||
revised/rewritten since that time.
|
||||
|
||||
Further changes shall be tracked here in follow-on releases.
|
||||
@@ -0,0 +1,383 @@
|
||||
PRRTE v3.x series
|
||||
=================
|
||||
|
||||
This file contains all the NEWS updates for the PRRTE v3.x
|
||||
series, in reverse chronological order.
|
||||
|
||||
3.0.8 -- 15 Dec 2024
|
||||
--------------------
|
||||
- PR #2103: Final update for release
|
||||
- PR #2102: Remove stale config .m4 files
|
||||
- PR #2100: Update NEWS and VERSION
|
||||
- PR #2099: maintain correct ref count of child jobs
|
||||
- PR #2097: Correctly parse map-by modifiers
|
||||
- PR #2086: Propertly compute number of procs when not given
|
||||
- PR #2082: Multiple commits
|
||||
- Enclose XML output in a high-level tag
|
||||
- Add support for show_help XML output
|
||||
- Properly build the nidmap
|
||||
- PR #2076: Multiple commits
|
||||
- Register the singleton's nspace with the PMIx server
|
||||
- Fix data type declaration in data server
|
||||
|
||||
|
||||
3.0.7 -- 13 Nov 2024
|
||||
--------------------
|
||||
.. important:: This release represents the expected end of
|
||||
the v3.0 series. Any follow-on bug fixes will
|
||||
be committed to the release branch, but are
|
||||
unlikely to generate an official release
|
||||
tarball.
|
||||
|
||||
- PR #2067: Update NEWS and VERSION for final release
|
||||
- PR #2064: Multiple commits
|
||||
- Update help message to PRTE MCA parameter handling
|
||||
- Fix typo in Makefile
|
||||
- Fix rankfile use of relative node indexing
|
||||
- PR #2060: Update NEWS and VERSION for release
|
||||
- PR #2059: Protect against old PMIx versions
|
||||
- PR #2057: Fix support for hetero LSF environments
|
||||
- PR #2049: Cleanup show-help files
|
||||
- PR #2047: Implement the PMIX_JOB_CHILD_SEP support
|
||||
- PR #2044: Multiple commits
|
||||
- Add a threaded client example
|
||||
- Restore parsing of OMPI param files
|
||||
- PR #2039: Unlock stdin target
|
||||
- PR #2037: Pull a couple of fixes from master branch
|
||||
- PR #2034: Fix deprecation warnings for ppr on socket objects
|
||||
- PR #2032: Multiple commits
|
||||
- avoid warnings (as errors) spots (init vars, etc.)
|
||||
- remove unused Level var
|
||||
- init installdirs structure (avoids warn-as-error)
|
||||
- Pay attention to interface include/exclude params
|
||||
- Protect against the envar version of the Slurm custom args param
|
||||
- PR #2018: fix support for MPIEXEC_TIMEOUT
|
||||
- PR #2017: Update prte_portable_platform_real.h from upstream gasnet
|
||||
- PR #2015: Always have show-help available
|
||||
- PR #2013: Remove unused yaml
|
||||
- PR #2011: Cleanup show help formatting
|
||||
- PR #2009: docs: update for Python 3.12
|
||||
- PR #2007: Fix a segfault when no arguments are provided
|
||||
- PR #2005: Multiple commits
|
||||
- Remove unused function
|
||||
- Revise cmd line parsing to handle special case
|
||||
- PR #2002: Update OAC to latest HEAD
|
||||
- PR #2000: Use the PMIx functions to check params
|
||||
- PR #1998: Protect against LTO optimizer
|
||||
- PR #1996: Read the Docs updates
|
||||
- PR #1994: Provide a warning of potentially unknown Slurm params
|
||||
|
||||
|
||||
3.0.6 -- 8 Jul 2024
|
||||
-------------------
|
||||
- PR #1992: Update NEWS and VERSION for release
|
||||
- PR #1991: Multiple commits
|
||||
- Protect against missing HWLOC object types
|
||||
- Minor fixes to allow compile with pre-stone age HWLOC
|
||||
- PR #1988: Github action: bring back MacOS builds
|
||||
- PR #1986: Tailored backport of "various fixes for singleton support"
|
||||
- PR #1985: Multiple commits
|
||||
- Don't strip quotes from cmd line entries
|
||||
- Update tar format to tar-pax
|
||||
- PR #1983: Check the runtime version of PMIx
|
||||
- PR #1979: Multiple commits
|
||||
- Cleanup issues surfaced by devel-check
|
||||
- Cleanup unused var warning
|
||||
- Add CI build with clang
|
||||
- Enable devel-check by default in Git repos
|
||||
- Stop warning on LSF detection when not requested
|
||||
- Silence warning
|
||||
- MPI 4.1: add support for memory-alloc-kinds
|
||||
- Remove MacOS CI builds
|
||||
- Add support for PMIX_MEM_ALLOC_KIND
|
||||
- PR #1971: Remove stale resilience document
|
||||
- PR #1968: Try to improve an error message a bit
|
||||
- PR #1966: Fix typo
|
||||
- PR #1964: Repair the binding algorithm
|
||||
- PR #1962: Correct name of help file for --hostfile
|
||||
- PR #1959: Multiple commits
|
||||
- Update the allocation simulator
|
||||
- Use of pmix_getline from PMIx started in v4.2.5
|
||||
- PR #1956: Multiple commits
|
||||
- Allow execution without an active plm component
|
||||
- Fix the binding algorithm to handle partial disablement
|
||||
|
||||
|
||||
3.0.5 -- 21 Mar 2024
|
||||
--------------------
|
||||
- PR #1952: Multiple commits
|
||||
- Update docs
|
||||
- Update PMIx-related configure code
|
||||
- update the hwloc utility code
|
||||
- Add missing doc
|
||||
- PR #1949: Update VERSION and NEWS for release
|
||||
- PR #1946: Correct deprecation translation for use-hwthread-cpus
|
||||
- PR #1936: Add missing show_help text
|
||||
- PR #1933: Check for appfile and ingest it if found
|
||||
- PR #1931: Multiple commits
|
||||
- Fix testing of suicide for daemons
|
||||
- Fix daemon suicide and preserve output files
|
||||
- Remove unused MCA param
|
||||
- Only trigger job failed to start once
|
||||
- Add "close stale issues" actions
|
||||
- oac: strengthen Sphinx check
|
||||
- Revamp the session directory system
|
||||
- guard against possible segfault in prted
|
||||
|
||||
|
||||
3.0.4 -- 4 Feb 2024
|
||||
-------------------
|
||||
- PR #1918: Multiple commits
|
||||
- Support query for number of available slots
|
||||
- Add an option '--allow-run-as-root' into prted
|
||||
- Update the Python regex for doc build
|
||||
- PR #1910: Fix the map-by pe-list option
|
||||
- PR #1908: Multiple commits
|
||||
- Use pmix_path_nfs to detect shared file systems
|
||||
- Remove debug
|
||||
- Remove extra character at end of error messages
|
||||
- psets: fix some problems with PMIX_QUERY_PSET_MEMBERSHIP query.
|
||||
|
||||
|
||||
3.0.3 -- 19 Dec 2023
|
||||
--------------------
|
||||
- PR #1893: Check for stdatomic.h
|
||||
- PR #1891: add nodes to job data for ALL jobs included in the launch message
|
||||
- PR #1888: Multiple commits
|
||||
- Minor tweaks of cmd line processing
|
||||
- Preserve the clichk test code for future use
|
||||
- PR #1884: Multiple commits
|
||||
- Fix copy/paste error
|
||||
- Remove daemonize option from prterun
|
||||
- Fix the ras simulator module
|
||||
- Preserve backward compatibility
|
||||
- Check the PMIx version for min required
|
||||
- Correct min version for pmix_getline util
|
||||
- PR #1877: Multiple commits
|
||||
- Remove the "refresh" key before requesting dmodx from PMIx server
|
||||
- Shift a code block to enable MCA param directive for ppr mapping
|
||||
- PR #1870: Multiple commits
|
||||
- Begin to restore the detailed help topics
|
||||
- docs: add prrte-rst-content to conf.py's exclude_patterns
|
||||
- src/docs: update README.txt
|
||||
- Consolidate non-component show_help files
|
||||
- Add missing file
|
||||
- PR #1865: Fix the seq mapper
|
||||
- PR #1860: Multiple commits
|
||||
- prte.c: a prefix of "/" is ok
|
||||
- Correctly translate the plm_rsh MCA params
|
||||
- Fix add-hostfile and add-host operations
|
||||
- Add print functions for node, job, and proc flags
|
||||
- Add missing "acquire_object"
|
||||
- Fix handling of "--" in cmd line
|
||||
- Use global PRRTE event base for sigchld callback
|
||||
- Remove the event base param to prte_wait_cb
|
||||
- Fix OMPI cmd line processing
|
||||
- PR #1846: Multiple commits
|
||||
- Restore the prun help strings
|
||||
- Restore prte_info show help topics
|
||||
- Recover the pterm show-help strings
|
||||
- PR #1843: Avoid adding NULL prefix value to app attributes
|
||||
- PR #1841: Multiple commits
|
||||
- Error out of attempts for 32-bit builds
|
||||
- Convert OMPI MCA params from legacy orte
|
||||
- Fix display of DVM allocation
|
||||
|
||||
|
||||
3.0.2 -- 23 Oct 2023
|
||||
--------------------
|
||||
- PR #1832: Update NEWS for release
|
||||
- PR #1831: Silence error log
|
||||
- PR #1829: Multiple commits
|
||||
- docs/show-help-files: Re-enable Sphinx warning checks
|
||||
- Correctly forward stdin to remote procs
|
||||
- PR #1826: Multiple commits
|
||||
- docs: document minimum PMIx version needed
|
||||
- prte_setup_pmix.m4: use PMIx min version from VERSION
|
||||
- Make checking min versions consistent
|
||||
- Update CPPFLAGS for HWLOC config tests
|
||||
- PR #1822: Fix rpmbuild error
|
||||
- PR #1821: Roll VERSION to v3.0.2
|
||||
|
||||
|
||||
3.0.1 -- 27 Sep 2023
|
||||
--------------------
|
||||
.. important:: This release contains a major revision of the PRRTE
|
||||
documentation infrastructure. Accordingly, the various
|
||||
documents may contain some number of errors and should
|
||||
be regarded as a work-in-progress. We apologize in
|
||||
advance for any inconvenience this may create, and will
|
||||
continue to improve and correct the documents in future
|
||||
releases.
|
||||
|
||||
- PR #1818: Update VERSION and rename news file
|
||||
- PR #1816: Correct confusion over help file names
|
||||
- PR #1814: Update NEWS infrastructure
|
||||
- PR #1810: Blacklist the HWLOC GL component to avoid deadlock
|
||||
- PR #1807: Multiple commits
|
||||
- src/docs/show-help-files/Makefile.am: fix syntax
|
||||
- docs: Fix up several minor bugs that showed up via CI
|
||||
- Prototype Github Actions for PRRTE CI
|
||||
- PR #1800: Keep trying to find the solution to the docs problem
|
||||
- PR #1798: Keep trying to fix this Python stuff
|
||||
- PR #1796: Don't ignore failure to create directory
|
||||
- PR #1793: build-dummy-ini-files: Be safe for Python 2
|
||||
- PR #1791: Update to track master branch
|
||||
- PR #1787: Add support for dynamic definition of process sets
|
||||
- PR #1784: Multiple commits
|
||||
- docs: fix HTML word wapping in table cells
|
||||
- Support fix for OMPI Github issue #11532
|
||||
- Fix binding to multiple pe's
|
||||
- Fix typos in the --enable-dlopen support
|
||||
- Fix typo of variable name (PRRTE->PRTE)
|
||||
- Remove Doxygen
|
||||
- PR #1766: Multiple commits
|
||||
- Update ignores
|
||||
- mca/rmaps: impute process count when np is not set
|
||||
- Complete cleanup of map/bind default settings
|
||||
- PR #1762: v3.0: .github/workflows: update actions versions
|
||||
- PR #1752: [v3.0] rmaps/base: remove call to hwloc_bitmap_andnot() in bind_generic()
|
||||
- PR #1747: Respect "--" marker
|
||||
- PR #1741: [v3.0] RTD: Add .readthedocs.yaml file
|
||||
- PR #1737: Multiple commits
|
||||
- Add debug output in fence upcall
|
||||
- Silence TSan data race warning.
|
||||
- PR #1734: v3.0: backport fixes for ompi v5.0 submodule update
|
||||
- PR #1727: Protect against bad ppr directives
|
||||
- PR #1724: Fix one more place
|
||||
- PR #1721: Just disable the xml map output for ancient hwloc
|
||||
- PR #1718: Protect against ancient hwloc versions
|
||||
- PR #1714: Multiple commits
|
||||
- Parsable output in an XML format
|
||||
- Support odd topologies and relax pe-binding rules
|
||||
- Cleanup some formatting and unnecessary debug
|
||||
- PR #1705: Allow specifying ppr as the default mapping policy
|
||||
- PR #1702: Multiple commits
|
||||
- Recoverable jobs may report more than one proc error over the lifetime
|
||||
- Fix double-counting of failed procs in recoverable jobs
|
||||
- PR #1700: Update headers for rc2
|
||||
- PR #1696: Always set waitpid-fired flag when proc exits
|
||||
- PR #1694: Fix passing of envars for spawn
|
||||
- PR #1692: Multiple commits
|
||||
- Plug small memory leaks.
|
||||
- Plug memory leaks.
|
||||
- Adhere to project's variable declaration convention.
|
||||
- Cleanup initial implementation of allocate and session ctrl
|
||||
- Protect one more place for Session_control
|
||||
- Fix the routing for non-tree-spawn launch
|
||||
- Cleanup prte_info output
|
||||
- Ensure we exit cleanly when a daemon fails to start
|
||||
- Store prted URI under correct name
|
||||
- Remove duplicate computation of routing tree
|
||||
- Minor cleanup of verbose output
|
||||
- Fix typo
|
||||
- Send direct to HNP if we don't know a route
|
||||
- Cleanup some mangled formatting
|
||||
- Cleanup some debug output
|
||||
- Update the pmix server integration
|
||||
- PR #1686: Update config/oac submodule
|
||||
- PR #1682: Multiple commits
|
||||
- Remove wrapper definitions
|
||||
- Extend example to check for sessionID and jobID
|
||||
- PR #1678: Multiple commits
|
||||
- add --debug-daemon to prted options
|
||||
- Add the rml and routed types to prte_info array
|
||||
- PR #1674: Ensure cmd line errors provide error messages
|
||||
- PR #1672: Multiple commits
|
||||
- Correct default binding for map-by node/slot
|
||||
- Provide better error message for cross-package binding
|
||||
- Add missing command line directives
|
||||
- Fix minor issues found in tests.
|
||||
- Silence compiler warning in test/connect.
|
||||
- Silence compiler warnings in examples.
|
||||
- Use exit macros in example dmodex.
|
||||
- Remove antiquated code that can cause problems
|
||||
- Update sphinx requirements
|
||||
- Remove the PMIX_SIZE_ESTIMATE support
|
||||
- PR #1660: Correct function name when using older hwloc versions
|
||||
- PR #1658: Multiple commits
|
||||
- Properly handle overload-allowed
|
||||
- Define MIN for environments that lack it
|
||||
- Fix a typo in the README, fixes #1645
|
||||
- docs: fix Sphinx parsing error
|
||||
- PR #1644: Multiple commits
|
||||
- Add a spawn_multiple test
|
||||
- Provide an estimate of the size of registration data
|
||||
- Provide size estimates for collective operations that return data
|
||||
- Add an option to display the available CPUs
|
||||
- Fix generate_dist type
|
||||
- Protect against missing attribute definition
|
||||
- Set distances array type
|
||||
- Add "parseable" display qualifier
|
||||
- Generate distances by default
|
||||
- Show help message when mapping too low
|
||||
- Fix round-robin by obj with multiple cpus/rank
|
||||
- Fix map-by slot and node for multiple cpus/rank
|
||||
- PR #1633: v3.0.x: First cut of Sphinx/ReadTheDocs docs
|
||||
- PR #1626: Remove unused variable
|
||||
- PR #1622: Multiple commits
|
||||
- Update version to 3.0.1
|
||||
- Extend query support to include allocation info
|
||||
- Remove debug
|
||||
- Include topology in allocated node info
|
||||
- Minor touchups of the "fault" example
|
||||
- Designate the framework project as PRTE
|
||||
- Begin adding support for new server module function pointer
|
||||
- Silence warning - add return values
|
||||
- Update to compatibility with PMIx master ranch
|
||||
- Protect against earlier PMIx versions
|
||||
- Add an IOF stress test
|
||||
- Accept local group op upcalls
|
||||
- Check for and track scheduler attachment
|
||||
- Check for map/bind conflicting directive, improve unbound report
|
||||
- Don't error out on binding if not required
|
||||
- PR #1600: Multiple commits
|
||||
- Minor change to check_os_flavors
|
||||
- Don't emit an error output if not needed
|
||||
- PR #1597: Fix oac_check_package.m4
|
||||
- PR #1595: build: fix bashisms in configure
|
||||
|
||||
|
||||
3.0.0 -- 13 Nov 2022
|
||||
--------------------
|
||||
.. important:: This release represents a major update to the PRRTE
|
||||
code base from prior releases. Many of the changes will be
|
||||
transparent to the user. However, there are a few key areas that
|
||||
may (likely) impact users. These include:
|
||||
|
||||
- changes to the cmd line interpreter. PRRTE has provided an
|
||||
abstraction layer that allows programming library developers
|
||||
and environment vendors to customize the cmd line of PRRTE
|
||||
binaries (e.g., prterun and prun). This is governed by the
|
||||
detection of a "personality" that is to be used for defining
|
||||
the cmd line options. The personality can be set either directly
|
||||
on the cmd line itself (via the "--personality foo" option) or
|
||||
is detected by PRRTE thru the environment.
|
||||
- a more extensive "--help" support system.
|
||||
- reduction in the "--rank-by" options.
|
||||
- addition of new "--output" options
|
||||
- removal of the "mindist" mapper due to lack of a maintainer
|
||||
|
||||
There are quite a few more changes than listed here, but they mostly
|
||||
pertain to code internals. However, these dictate that PRRTE v3.0.0
|
||||
require use of PMIx v4.2 or above to compile. Note that this doesn't
|
||||
impact the PMIx level associated with any applications executed by
|
||||
PRRTE - the only requirement is that applications link against a
|
||||
PMIx version that meets the PMIx cross-version requirements (i.e., a
|
||||
minimum of PMIx v2.5).
|
||||
|
||||
Detailed changes include:
|
||||
|
||||
- PR #1412: Restrict PRRTE to PMIx v4.2+
|
||||
- PR #1410: Remove schizo/hydra component
|
||||
- PR #1409: Add new output options to help string
|
||||
- PR #1407: Support a broader range of IO output formats
|
||||
- PR #1404: Fix a hang in daemon callback
|
||||
- PR #1402: Cleanup race condition in daemon reports
|
||||
- PR #1399: Multiple commits
|
||||
- Allow mapping in overload scenario if bind not specified
|
||||
- Ensure rankfile and seq mappers computer local and app ranks
|
||||
- PR #1394: Add forwarding of stdin to indirect example
|
||||
- PR #1391: Change the default mapping for --bind-to none option to BYSLOT.
|
||||
|
||||
Branch from `master@f3d4089 <https://github.com/openpmix/prrte/commit/f3d4089>`_
|
||||
@@ -0,0 +1,96 @@
|
||||
.. -*- rst -*-
|
||||
|
||||
Copyright (c) 2022-2023 Nanook Consulting. All rights reserved.
|
||||
Copyright (c) 2023 Jeffrey M. Squyres. All rights reserved.
|
||||
|
||||
$COPYRIGHT$
|
||||
|
||||
Additional copyrights may follow
|
||||
|
||||
$HEADER$
|
||||
|
||||
Notifications
|
||||
=============
|
||||
|
||||
PRRTE provides notifications on a variety of process and job
|
||||
states. Each notification includes not only the PMIx event code that
|
||||
generated it, but also information on the cause of the event to the
|
||||
extent to which this is known.
|
||||
|
||||
Supported job events include:
|
||||
|
||||
* ``PMIX_READY_FOR_DEBUG``: indicates that all processes in the
|
||||
reported nspace have reached the specified debug stopping point.
|
||||
|
||||
* ``PMIX_LAUNCH_COMPLETE``: indicates that the reported nspace has
|
||||
been launched |mdash| i.e., the involved PRRTE daemons all report
|
||||
that their respective child processes have completed fork/exec.
|
||||
|
||||
* ``PMIX_ERR_JOB_CANCELED``: indicates that the job was cancelled by
|
||||
user command, usually issued via an appropriate PMIx-enabled tool.
|
||||
|
||||
* ``PMIX_ERR_JOB_FAILED_TO_LAUNCH``: indicates that the specified job
|
||||
failed to launch. This can be due to a variety of factors that
|
||||
include inability to find the executable on at least one involved
|
||||
node.
|
||||
|
||||
Supported process events include:
|
||||
|
||||
* ``PMIX_ERR_PROC_TERM_WO_SYNC``: indicates that at least one process
|
||||
in the job called ``PMIx_Init``, thus indicating some notion of a
|
||||
global existence, and at least one process in the job subsequently
|
||||
exited without calling ``PMIx_Finalize``. This usually indicates a
|
||||
failure somewhere in the application itself that precluded an
|
||||
orderly shutdown of the process. Notification will include the
|
||||
process ID that exited in this manner.
|
||||
|
||||
* ``PMIX_EVENT_PROC_TERMINATED``: indicates that the reported process
|
||||
terminated normally. Notification will include the process ID that
|
||||
exited and its exit status.
|
||||
|
||||
* ``PMIX_ERR_PROC_KILLED_BY_CMD``: indicates that the reported process
|
||||
was killed by PRRTE command. This typically occurs in response to a
|
||||
Ctrl-C (or equivalent) being applied to the PRRTE launcher, thereby
|
||||
instructing PRRTE to forcibly terminate its processes. The event
|
||||
currently will only be issued in the case where forcible termination
|
||||
is commanded via a tool that can pass the process IDs that are
|
||||
specifically to be terminated |mdash| otherwise, in the case of the
|
||||
Ctrl-C event previously described, all processes in the job will be
|
||||
terminated, leaving none to be notified. Notification will include
|
||||
the process ID that was terminated.
|
||||
|
||||
* ``PMIX_ERR_PROC_SENSOR_BOUND_EXCEEDED``: indicates that the
|
||||
specified process exceeded a previously-set sensor boundary |mdash|
|
||||
e.g., it may have grown beyond a defined memory limit. Such events
|
||||
may or may not automatically trigger termination by command,
|
||||
depending upon the behavior of the sensor. Notification will include
|
||||
the process ID that exceeded the sensor boundary plus whatever
|
||||
information the sensor provides regarding measurements and bounds.
|
||||
|
||||
* ``PMIX_ERR_PROC_ABORTED_BY_SIG``: indicates that the specified
|
||||
process was killed by a signal |mdash| e.g., a segmentation
|
||||
fault/violation or an externally applied signal. Notifications will
|
||||
include the process ID that was killed and the corresponding
|
||||
reported signal.
|
||||
|
||||
* ``PMIX_ERR_PROC_REQUESTED_ABORT:`` indicates that the specified
|
||||
process has aborted by calling the ``PMIx_Abort``
|
||||
function. Notification will include the process ID that called abort
|
||||
and its exit status.
|
||||
|
||||
* ``PMIX_ERR_EXIT_NONZERO_TERM``: indicates that the specified process
|
||||
terminated with a non-zero exit status. This notification is only
|
||||
generated in the case where the runtime option
|
||||
``ERROR-NONZERO-STATUS`` is set to true, thereby indicating that a
|
||||
process exiting with non-zero status is to be considered an
|
||||
error. As PRRTE can be overwhelmed by a large job where every
|
||||
process exits with a non-zero status, only the *first* process in a
|
||||
given job that exits with a non-zero status will generate a
|
||||
notification unless the ``RECOVERABLE`` runtime option is also
|
||||
provided as otherwise the job will be immediately
|
||||
terminated. Notifications will include the process ID that exited
|
||||
and the status it returned.
|
||||
|
||||
* ``PMIX_ERR_PROC_RESTART``: indicates that the specified process has
|
||||
been restarted. Additional information may include the hostname
|
||||
where the process is now executing.
|
||||
@@ -0,0 +1 @@
|
||||
.. include:: /prrte-rst-content/detail-placement-deprecated.rst
|
||||
@@ -0,0 +1 @@
|
||||
.. include:: /prrte-rst-content/detail-placement-diagnostics.rst
|
||||
@@ -0,0 +1 @@
|
||||
.. include:: /prrte-rst-content/detail-placement-examples.rst
|
||||
@@ -0,0 +1 @@
|
||||
.. include:: /prrte-rst-content/detail-placement-fundamentals.rst
|
||||
@@ -0,0 +1,22 @@
|
||||
Process placement
|
||||
=================
|
||||
|
||||
PRRTE provides a set of three controls for assigning process
|
||||
locations and ranks:
|
||||
|
||||
#. Mapping: Assigns a default location to each process
|
||||
#. Ranking: Assigns a unique integer rank value to each process
|
||||
#. Binding: Constrains each process to run on specific processors
|
||||
|
||||
The sections below describe these controls in more detail.
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
overview
|
||||
examples
|
||||
fundamentals
|
||||
limits
|
||||
diagnostics
|
||||
rankfiles
|
||||
deprecated
|
||||
@@ -0,0 +1 @@
|
||||
.. include:: /prrte-rst-content/detail-placement-limits.rst
|
||||
@@ -0,0 +1 @@
|
||||
.. include:: /prrte-rst-content/detail-placement.rst
|
||||
@@ -0,0 +1 @@
|
||||
.. include:: /prrte-rst-content/detail-placement-rankfiles.rst
|
||||
@@ -0,0 +1,43 @@
|
||||
.. _label-quickstart:
|
||||
|
||||
Quick start
|
||||
===========
|
||||
|
||||
In many cases, PRRTE can be built and installed by simply
|
||||
indicating the installation directory on the command line:
|
||||
|
||||
.. code-block:: sh
|
||||
|
||||
$ tar xf prrte-<version>.tar.bz2
|
||||
$ cd prrte-<version>
|
||||
$ ./configure --prefix=<path> |& tee config.out
|
||||
...lots of output...
|
||||
$ make -j 8 |& tee make.out
|
||||
...lots of output...
|
||||
$ make install |& tee install.out
|
||||
...lots of output...
|
||||
|
||||
Note that there are many, many configuration options to the
|
||||
``./configure`` step. Some of them may be needed for your particular
|
||||
environmnet; see below for desciptions of the options available.
|
||||
|
||||
If your installation prefix path is not writable by a regular user,
|
||||
you may need to use ``sudo`` or ``su`` to run the ``make install``
|
||||
step. For example:
|
||||
|
||||
.. code-block:: sh
|
||||
|
||||
$ sudo make install |& tee install.out
|
||||
[sudo] password for builduser: <enter your password here>
|
||||
...lots of output...
|
||||
|
||||
Finally, note that VPATH builds are fully supported. For example:
|
||||
|
||||
.. code-block:: sh
|
||||
|
||||
$ tar xf prrte-<version>.tar.bz2
|
||||
$ cd prrte-<version>
|
||||
$ mkdir build
|
||||
$ cd build
|
||||
$ ../configure --prefix=<path> |& tee config.out
|
||||
...etc.
|
||||
@@ -0,0 +1,22 @@
|
||||
Release Notes
|
||||
=============
|
||||
|
||||
- Systems that have been tested are:
|
||||
|
||||
- Linux (various flavors/distros), 32 bit, with gcc
|
||||
- Linux (various flavors/distros), 64 bit (x86), with gcc, Intel,
|
||||
and Portland (*)
|
||||
- OS X (10.7 and above), 32 and 64 bit (x86_64), with gcc (*)
|
||||
|
||||
- PRRTE has taken some steps towards Reproducible Builds
|
||||
(https://reproducible-builds.org/). Specifically, PRRTE's
|
||||
``configure`` and ``make`` process, by default, records the build
|
||||
date and some system-specific information such as the hostname where
|
||||
PRRTE was built and the username who built it. If you desire a
|
||||
Reproducible Build, set the ``$SOURCE_DATE_EPOCH``, ``$USER`` and
|
||||
``$HOSTNAME`` environment variables before invoking ``configure``
|
||||
and ``make``, and PRRTE will use those values instead of invoking
|
||||
``whoami`` and/or ``hostname``, respectively. See
|
||||
https://reproducible-builds.org/docs/source-date-epoch/ for
|
||||
information on the expected format and content of the
|
||||
``$SOURCE_DATE_EPOCH`` variable.
|
||||
@@ -0,0 +1,71 @@
|
||||
Session directory
|
||||
=================
|
||||
|
||||
PRRTE establishes a "session directory" on the filesystem to serve as
|
||||
a top-level location for temporary files used by both the local PRRTE
|
||||
daemon and its child processes.
|
||||
|
||||
This is done to enable quick and easy cleanup in the event that PRRTE
|
||||
is unable to fully cleanup after itself.
|
||||
|
||||
More detail on session directories is provided in the How Things Work
|
||||
:ref:`session directory <session-dir-detail-label>` section.
|
||||
|
||||
Directory location
|
||||
------------------
|
||||
|
||||
PRRTE decides where to located the root of the session directory by
|
||||
examining the following (in precedence order):
|
||||
|
||||
#. If the value of the ``prte_top_session_dir`` MCA parameter is not
|
||||
empty, use that (it defaults to empty).
|
||||
|
||||
.. note:: MCA parameters can be set via environment variables, on
|
||||
the command line, or in a parameter file.
|
||||
|
||||
.. note:: If necessary, the value of the top session directory on
|
||||
the local node where the launcher (e.g., ``prun``, ``prterun``,
|
||||
or ``mpirun``) is executing can be set separately from
|
||||
the value to be used on compute nodes via the
|
||||
``prte_local_tmpdir_base`` and ``prte_remote_tmpdir_base``
|
||||
parameters.
|
||||
|
||||
#. If the environment variable ``TMPDIR`` is not empty, use that.
|
||||
#. If the environment variable ``TEMP`` is not empty, use that.
|
||||
#. If the environment variable ``TMP`` is not empty, use that.
|
||||
#. Use ``/tmp``
|
||||
|
||||
Directory name
|
||||
--------------
|
||||
|
||||
By default, the session directory name is set to
|
||||
|
||||
.. code::
|
||||
|
||||
<tool>.<nodename>.<pid>.<uid>
|
||||
|
||||
where `tool` is the argv[0] of the process setting up the
|
||||
session directory. In most cases, this will be either `prte`,
|
||||
`prterun`, or `prted` - though special tools such as `psched`
|
||||
may also create a session directory tree.
|
||||
|
||||
The session directory name includes the PID
|
||||
of the daemon process to allow a user to have multiple
|
||||
instances of a tool concurrently executing on a node.
|
||||
|
||||
.. note::
|
||||
|
||||
Each tool will generate its own session directory tree. This
|
||||
is done to avoid cleanup race conditions where one tool might
|
||||
cleanup the session directory, and thereby remove the contact
|
||||
information for a tool that is continuing to execute.
|
||||
|
||||
|
||||
Tools
|
||||
-----
|
||||
|
||||
In the case of tools, the rendezvous files containing connection
|
||||
information for a target server are located in the session directory
|
||||
tree. Thus, it may be necessary to point the tool at the location
|
||||
where those files can be found if that location is other than the
|
||||
expected default.
|
||||
@@ -0,0 +1,68 @@
|
||||
.. _label-version-numbers:
|
||||
|
||||
Software Version Numbers
|
||||
========================
|
||||
|
||||
PRRTE's version numbers are the union of several different values:
|
||||
major, minor, release, and an optional quantifier.
|
||||
|
||||
* Major: The major number is the first integer in the version string
|
||||
(e.g., v1.2.3). Changes in the major number typically indicate a
|
||||
significant change in the code base and/or end-user
|
||||
functionality. The major number is always included in the version
|
||||
number.
|
||||
|
||||
* Minor: The minor number is the second integer in the version
|
||||
string (e.g., v1.2.3). Changes in the minor number typically
|
||||
indicate a incremental change in the code base and/or end-user
|
||||
functionality. The minor number is always included in the version
|
||||
number:
|
||||
|
||||
* Release: The release number is the third integer in the version
|
||||
string (e.g., v1.2.3). Changes in the release number typically
|
||||
indicate a bug fix in the code base and/or end-user
|
||||
functionality.
|
||||
|
||||
* Quantifier: PRRTE version numbers sometimes have an arbitrary
|
||||
string affixed to the end of the version number. Common strings
|
||||
include:
|
||||
|
||||
* ``aX``: Indicates an alpha release. X is an integer indicating
|
||||
the number of the alpha release (e.g., v1.2.3a5 indicates the
|
||||
5th alpha release of version 1.2.3).
|
||||
* ``bX``: Indicates a beta release. X is an integer indicating
|
||||
the number of the beta release (e.g., v1.2.3b3 indicates the 3rd
|
||||
beta release of version 1.2.3).
|
||||
* ``rcX``: Indicates a release candidate. X is an integer
|
||||
indicating the number of the release candidate (e.g., v1.2.3rc4
|
||||
indicates the 4th release candidate of version 1.2.3).
|
||||
|
||||
Although the major, minor, and release values (and optional
|
||||
quantifiers) are reported in PRRTE snapshot tarballs, the
|
||||
filenames of these snapshot tarballs follow a slightly different
|
||||
convention.
|
||||
|
||||
Specifically, the snapshot tarball filename contains three distinct
|
||||
values:
|
||||
|
||||
* Most recent Git tag name on the branch from which the tarball was
|
||||
created.
|
||||
|
||||
* An integer indicating how many Git commits have occurred since
|
||||
that Git tag.
|
||||
|
||||
* The Git hash of the tip of the branch.
|
||||
|
||||
For example, a snapshot tarball filename of
|
||||
``prrte-v1.0.2-57-gb9f1fd9.tar.bz2`` indicates that this tarball was
|
||||
created from the v1.0 branch, 57 Git commits after the ``v1.0.2`` tag,
|
||||
specifically at Git hash gb9f1fd9.
|
||||
|
||||
PRRTE's Git master branch contains a single ``dev`` tag. For example,
|
||||
``prrte-dev-8-gf21c349.tar.bz2`` represents a snapshot tarball created
|
||||
from the master branch, 8 Git commits after the "dev" tag,
|
||||
specifically at Git hash gf21c349.
|
||||
|
||||
The exact value of the "number of Git commits past a tag" integer is
|
||||
fairly meaningless; its sole purpose is to provide an easy,
|
||||
human-recognizable ordering for snapshot tarballs.
|
||||
@@ -0,0 +1,134 @@
|
||||
/*
|
||||
* _sphinx_javascript_frameworks_compat.js
|
||||
* ~~~~~~~~~~
|
||||
*
|
||||
* Compatability shim for jQuery and underscores.js.
|
||||
*
|
||||
* WILL BE REMOVED IN Sphinx 6.0
|
||||
* xref RemovedInSphinx60Warning
|
||||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
* select a different prefix for underscore
|
||||
*/
|
||||
$u = _.noConflict();
|
||||
|
||||
|
||||
/**
|
||||
* small helper function to urldecode strings
|
||||
*
|
||||
* See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/decodeURIComponent#Decoding_query_parameters_from_a_URL
|
||||
*/
|
||||
jQuery.urldecode = function(x) {
|
||||
if (!x) {
|
||||
return x
|
||||
}
|
||||
return decodeURIComponent(x.replace(/\+/g, ' '));
|
||||
};
|
||||
|
||||
/**
|
||||
* small helper function to urlencode strings
|
||||
*/
|
||||
jQuery.urlencode = encodeURIComponent;
|
||||
|
||||
/**
|
||||
* This function returns the parsed url parameters of the
|
||||
* current request. Multiple values per key are supported,
|
||||
* it will always return arrays of strings for the value parts.
|
||||
*/
|
||||
jQuery.getQueryParameters = function(s) {
|
||||
if (typeof s === 'undefined')
|
||||
s = document.location.search;
|
||||
var parts = s.substr(s.indexOf('?') + 1).split('&');
|
||||
var result = {};
|
||||
for (var i = 0; i < parts.length; i++) {
|
||||
var tmp = parts[i].split('=', 2);
|
||||
var key = jQuery.urldecode(tmp[0]);
|
||||
var value = jQuery.urldecode(tmp[1]);
|
||||
if (key in result)
|
||||
result[key].push(value);
|
||||
else
|
||||
result[key] = [value];
|
||||
}
|
||||
return result;
|
||||
};
|
||||
|
||||
/**
|
||||
* highlight a given string on a jquery object by wrapping it in
|
||||
* span elements with the given class name.
|
||||
*/
|
||||
jQuery.fn.highlightText = function(text, className) {
|
||||
function highlight(node, addItems) {
|
||||
if (node.nodeType === 3) {
|
||||
var val = node.nodeValue;
|
||||
var pos = val.toLowerCase().indexOf(text);
|
||||
if (pos >= 0 &&
|
||||
!jQuery(node.parentNode).hasClass(className) &&
|
||||
!jQuery(node.parentNode).hasClass("nohighlight")) {
|
||||
var span;
|
||||
var isInSVG = jQuery(node).closest("body, svg, foreignObject").is("svg");
|
||||
if (isInSVG) {
|
||||
span = document.createElementNS("http://www.w3.org/2000/svg", "tspan");
|
||||
} else {
|
||||
span = document.createElement("span");
|
||||
span.className = className;
|
||||
}
|
||||
span.appendChild(document.createTextNode(val.substr(pos, text.length)));
|
||||
node.parentNode.insertBefore(span, node.parentNode.insertBefore(
|
||||
document.createTextNode(val.substr(pos + text.length)),
|
||||
node.nextSibling));
|
||||
node.nodeValue = val.substr(0, pos);
|
||||
if (isInSVG) {
|
||||
var rect = document.createElementNS("http://www.w3.org/2000/svg", "rect");
|
||||
var bbox = node.parentElement.getBBox();
|
||||
rect.x.baseVal.value = bbox.x;
|
||||
rect.y.baseVal.value = bbox.y;
|
||||
rect.width.baseVal.value = bbox.width;
|
||||
rect.height.baseVal.value = bbox.height;
|
||||
rect.setAttribute('class', className);
|
||||
addItems.push({
|
||||
"parent": node.parentNode,
|
||||
"target": rect});
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (!jQuery(node).is("button, select, textarea")) {
|
||||
jQuery.each(node.childNodes, function() {
|
||||
highlight(this, addItems);
|
||||
});
|
||||
}
|
||||
}
|
||||
var addItems = [];
|
||||
var result = this.each(function() {
|
||||
highlight(this, addItems);
|
||||
});
|
||||
for (var i = 0; i < addItems.length; ++i) {
|
||||
jQuery(addItems[i].parent).before(addItems[i].target);
|
||||
}
|
||||
return result;
|
||||
};
|
||||
|
||||
/*
|
||||
* backward compatibility for jQuery.browser
|
||||
* This will be supported until firefox bug is fixed.
|
||||
*/
|
||||
if (!jQuery.browser) {
|
||||
jQuery.uaMatch = function(ua) {
|
||||
ua = ua.toLowerCase();
|
||||
|
||||
var match = /(chrome)[ \/]([\w.]+)/.exec(ua) ||
|
||||
/(webkit)[ \/]([\w.]+)/.exec(ua) ||
|
||||
/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(ua) ||
|
||||
/(msie) ([\w.]+)/.exec(ua) ||
|
||||
ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec(ua) ||
|
||||
[];
|
||||
|
||||
return {
|
||||
browser: match[ 1 ] || "",
|
||||
version: match[ 2 ] || "0"
|
||||
};
|
||||
};
|
||||
jQuery.browser = {};
|
||||
jQuery.browser[jQuery.uaMatch(navigator.userAgent).browser] = true;
|
||||
}
|
||||
899
linx64/mpi/openmpi/share/doc/prrte/html/_static/basic.css
Normal file
899
linx64/mpi/openmpi/share/doc/prrte/html/_static/basic.css
Normal file
@@ -0,0 +1,899 @@
|
||||
/*
|
||||
* basic.css
|
||||
* ~~~~~~~~~
|
||||
*
|
||||
* Sphinx stylesheet -- basic theme.
|
||||
*
|
||||
* :copyright: Copyright 2007-2022 by the Sphinx team, see AUTHORS.
|
||||
* :license: BSD, see LICENSE for details.
|
||||
*
|
||||
*/
|
||||
|
||||
/* -- main layout ----------------------------------------------------------- */
|
||||
|
||||
div.clearer {
|
||||
clear: both;
|
||||
}
|
||||
|
||||
div.section::after {
|
||||
display: block;
|
||||
content: '';
|
||||
clear: left;
|
||||
}
|
||||
|
||||
/* -- relbar ---------------------------------------------------------------- */
|
||||
|
||||
div.related {
|
||||
width: 100%;
|
||||
font-size: 90%;
|
||||
}
|
||||
|
||||
div.related h3 {
|
||||
display: none;
|
||||
}
|
||||
|
||||
div.related ul {
|
||||
margin: 0;
|
||||
padding: 0 0 0 10px;
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
div.related li {
|
||||
display: inline;
|
||||
}
|
||||
|
||||
div.related li.right {
|
||||
float: right;
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
/* -- sidebar --------------------------------------------------------------- */
|
||||
|
||||
div.sphinxsidebarwrapper {
|
||||
padding: 10px 5px 0 10px;
|
||||
}
|
||||
|
||||
div.sphinxsidebar {
|
||||
float: left;
|
||||
width: 230px;
|
||||
margin-left: -100%;
|
||||
font-size: 90%;
|
||||
word-wrap: break-word;
|
||||
overflow-wrap : break-word;
|
||||
}
|
||||
|
||||
div.sphinxsidebar ul {
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
div.sphinxsidebar ul ul,
|
||||
div.sphinxsidebar ul.want-points {
|
||||
margin-left: 20px;
|
||||
list-style: square;
|
||||
}
|
||||
|
||||
div.sphinxsidebar ul ul {
|
||||
margin-top: 0;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
div.sphinxsidebar form {
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
div.sphinxsidebar input {
|
||||
border: 1px solid #98dbcc;
|
||||
font-family: sans-serif;
|
||||
font-size: 1em;
|
||||
}
|
||||
|
||||
div.sphinxsidebar #searchbox form.search {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
div.sphinxsidebar #searchbox input[type="text"] {
|
||||
float: left;
|
||||
width: 80%;
|
||||
padding: 0.25em;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
div.sphinxsidebar #searchbox input[type="submit"] {
|
||||
float: left;
|
||||
width: 20%;
|
||||
border-left: none;
|
||||
padding: 0.25em;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
|
||||
img {
|
||||
border: 0;
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
/* -- search page ----------------------------------------------------------- */
|
||||
|
||||
ul.search {
|
||||
margin: 10px 0 0 20px;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
ul.search li {
|
||||
padding: 5px 0 5px 20px;
|
||||
background-image: url(file.png);
|
||||
background-repeat: no-repeat;
|
||||
background-position: 0 7px;
|
||||
}
|
||||
|
||||
ul.search li a {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
ul.search li p.context {
|
||||
color: #888;
|
||||
margin: 2px 0 0 30px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
ul.keywordmatches li.goodmatch a {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
/* -- index page ------------------------------------------------------------ */
|
||||
|
||||
table.contentstable {
|
||||
width: 90%;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
table.contentstable p.biglink {
|
||||
line-height: 150%;
|
||||
}
|
||||
|
||||
a.biglink {
|
||||
font-size: 1.3em;
|
||||
}
|
||||
|
||||
span.linkdescr {
|
||||
font-style: italic;
|
||||
padding-top: 5px;
|
||||
font-size: 90%;
|
||||
}
|
||||
|
||||
/* -- general index --------------------------------------------------------- */
|
||||
|
||||
table.indextable {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
table.indextable td {
|
||||
text-align: left;
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
table.indextable ul {
|
||||
margin-top: 0;
|
||||
margin-bottom: 0;
|
||||
list-style-type: none;
|
||||
}
|
||||
|
||||
table.indextable > tbody > tr > td > ul {
|
||||
padding-left: 0em;
|
||||
}
|
||||
|
||||
table.indextable tr.pcap {
|
||||
height: 10px;
|
||||
}
|
||||
|
||||
table.indextable tr.cap {
|
||||
margin-top: 10px;
|
||||
background-color: #f2f2f2;
|
||||
}
|
||||
|
||||
img.toggler {
|
||||
margin-right: 3px;
|
||||
margin-top: 3px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
div.modindex-jumpbox {
|
||||
border-top: 1px solid #ddd;
|
||||
border-bottom: 1px solid #ddd;
|
||||
margin: 1em 0 1em 0;
|
||||
padding: 0.4em;
|
||||
}
|
||||
|
||||
div.genindex-jumpbox {
|
||||
border-top: 1px solid #ddd;
|
||||
border-bottom: 1px solid #ddd;
|
||||
margin: 1em 0 1em 0;
|
||||
padding: 0.4em;
|
||||
}
|
||||
|
||||
/* -- domain module index --------------------------------------------------- */
|
||||
|
||||
table.modindextable td {
|
||||
padding: 2px;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
/* -- general body styles --------------------------------------------------- */
|
||||
|
||||
div.body {
|
||||
min-width: 360px;
|
||||
max-width: 800px;
|
||||
}
|
||||
|
||||
div.body p, div.body dd, div.body li, div.body blockquote {
|
||||
-moz-hyphens: auto;
|
||||
-ms-hyphens: auto;
|
||||
-webkit-hyphens: auto;
|
||||
hyphens: auto;
|
||||
}
|
||||
|
||||
a.headerlink {
|
||||
visibility: hidden;
|
||||
}
|
||||
a.brackets:before,
|
||||
span.brackets > a:before{
|
||||
content: "[";
|
||||
}
|
||||
|
||||
a.brackets:after,
|
||||
span.brackets > a:after {
|
||||
content: "]";
|
||||
}
|
||||
|
||||
|
||||
h1:hover > a.headerlink,
|
||||
h2:hover > a.headerlink,
|
||||
h3:hover > a.headerlink,
|
||||
h4:hover > a.headerlink,
|
||||
h5:hover > a.headerlink,
|
||||
h6:hover > a.headerlink,
|
||||
dt:hover > a.headerlink,
|
||||
caption:hover > a.headerlink,
|
||||
p.caption:hover > a.headerlink,
|
||||
div.code-block-caption:hover > a.headerlink {
|
||||
visibility: visible;
|
||||
}
|
||||
|
||||
div.body p.caption {
|
||||
text-align: inherit;
|
||||
}
|
||||
|
||||
div.body td {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.first {
|
||||
margin-top: 0 !important;
|
||||
}
|
||||
|
||||
p.rubric {
|
||||
margin-top: 30px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
img.align-left, figure.align-left, .figure.align-left, object.align-left {
|
||||
clear: left;
|
||||
float: left;
|
||||
margin-right: 1em;
|
||||
}
|
||||
|
||||
img.align-right, figure.align-right, .figure.align-right, object.align-right {
|
||||
clear: right;
|
||||
float: right;
|
||||
margin-left: 1em;
|
||||
}
|
||||
|
||||
img.align-center, figure.align-center, .figure.align-center, object.align-center {
|
||||
display: block;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
img.align-default, figure.align-default, .figure.align-default {
|
||||
display: block;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
.align-left {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.align-center {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.align-default {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.align-right {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
/* -- sidebars -------------------------------------------------------------- */
|
||||
|
||||
div.sidebar,
|
||||
aside.sidebar {
|
||||
margin: 0 0 0.5em 1em;
|
||||
border: 1px solid #ddb;
|
||||
padding: 7px;
|
||||
background-color: #ffe;
|
||||
width: 40%;
|
||||
float: right;
|
||||
clear: right;
|
||||
overflow-x: auto;
|
||||
}
|
||||
|
||||
p.sidebar-title {
|
||||
font-weight: bold;
|
||||
}
|
||||
div.admonition, div.topic, blockquote {
|
||||
clear: left;
|
||||
}
|
||||
|
||||
/* -- topics ---------------------------------------------------------------- */
|
||||
div.topic {
|
||||
border: 1px solid #ccc;
|
||||
padding: 7px;
|
||||
margin: 10px 0 10px 0;
|
||||
}
|
||||
|
||||
p.topic-title {
|
||||
font-size: 1.1em;
|
||||
font-weight: bold;
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
/* -- admonitions ----------------------------------------------------------- */
|
||||
|
||||
div.admonition {
|
||||
margin-top: 10px;
|
||||
margin-bottom: 10px;
|
||||
padding: 7px;
|
||||
}
|
||||
|
||||
div.admonition dt {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
p.admonition-title {
|
||||
margin: 0px 10px 5px 0px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
div.body p.centered {
|
||||
text-align: center;
|
||||
margin-top: 25px;
|
||||
}
|
||||
|
||||
/* -- content of sidebars/topics/admonitions -------------------------------- */
|
||||
|
||||
div.sidebar > :last-child,
|
||||
aside.sidebar > :last-child,
|
||||
div.topic > :last-child,
|
||||
div.admonition > :last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
div.sidebar::after,
|
||||
aside.sidebar::after,
|
||||
div.topic::after,
|
||||
div.admonition::after,
|
||||
blockquote::after {
|
||||
display: block;
|
||||
content: '';
|
||||
clear: both;
|
||||
}
|
||||
|
||||
/* -- tables ---------------------------------------------------------------- */
|
||||
|
||||
table.docutils {
|
||||
margin-top: 10px;
|
||||
margin-bottom: 10px;
|
||||
border: 0;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
table.align-center {
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
table.align-default {
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
table caption span.caption-number {
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
table caption span.caption-text {
|
||||
}
|
||||
|
||||
table.docutils td, table.docutils th {
|
||||
padding: 1px 8px 1px 5px;
|
||||
border-top: 0;
|
||||
border-left: 0;
|
||||
border-right: 0;
|
||||
border-bottom: 1px solid #aaa;
|
||||
}
|
||||
|
||||
th {
|
||||
text-align: left;
|
||||
padding-right: 5px;
|
||||
}
|
||||
|
||||
table.citation {
|
||||
border-left: solid 1px gray;
|
||||
margin-left: 1px;
|
||||
}
|
||||
|
||||
table.citation td {
|
||||
border-bottom: none;
|
||||
}
|
||||
|
||||
th > :first-child,
|
||||
td > :first-child {
|
||||
margin-top: 0px;
|
||||
}
|
||||
|
||||
th > :last-child,
|
||||
td > :last-child {
|
||||
margin-bottom: 0px;
|
||||
}
|
||||
|
||||
/* -- figures --------------------------------------------------------------- */
|
||||
|
||||
div.figure, figure {
|
||||
margin: 0.5em;
|
||||
padding: 0.5em;
|
||||
}
|
||||
|
||||
div.figure p.caption, figcaption {
|
||||
padding: 0.3em;
|
||||
}
|
||||
|
||||
div.figure p.caption span.caption-number,
|
||||
figcaption span.caption-number {
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
div.figure p.caption span.caption-text,
|
||||
figcaption span.caption-text {
|
||||
}
|
||||
|
||||
/* -- field list styles ----------------------------------------------------- */
|
||||
|
||||
table.field-list td, table.field-list th {
|
||||
border: 0 !important;
|
||||
}
|
||||
|
||||
.field-list ul {
|
||||
margin: 0;
|
||||
padding-left: 1em;
|
||||
}
|
||||
|
||||
.field-list p {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.field-name {
|
||||
-moz-hyphens: manual;
|
||||
-ms-hyphens: manual;
|
||||
-webkit-hyphens: manual;
|
||||
hyphens: manual;
|
||||
}
|
||||
|
||||
/* -- hlist styles ---------------------------------------------------------- */
|
||||
|
||||
table.hlist {
|
||||
margin: 1em 0;
|
||||
}
|
||||
|
||||
table.hlist td {
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
/* -- object description styles --------------------------------------------- */
|
||||
|
||||
.sig {
|
||||
font-family: 'Consolas', 'Menlo', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace;
|
||||
}
|
||||
|
||||
.sig-name, code.descname {
|
||||
background-color: transparent;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.sig-name {
|
||||
font-size: 1.1em;
|
||||
}
|
||||
|
||||
code.descname {
|
||||
font-size: 1.2em;
|
||||
}
|
||||
|
||||
.sig-prename, code.descclassname {
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
.optional {
|
||||
font-size: 1.3em;
|
||||
}
|
||||
|
||||
.sig-paren {
|
||||
font-size: larger;
|
||||
}
|
||||
|
||||
.sig-param.n {
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
/* C++ specific styling */
|
||||
|
||||
.sig-inline.c-texpr,
|
||||
.sig-inline.cpp-texpr {
|
||||
font-family: unset;
|
||||
}
|
||||
|
||||
.sig.c .k, .sig.c .kt,
|
||||
.sig.cpp .k, .sig.cpp .kt {
|
||||
color: #0033B3;
|
||||
}
|
||||
|
||||
.sig.c .m,
|
||||
.sig.cpp .m {
|
||||
color: #1750EB;
|
||||
}
|
||||
|
||||
.sig.c .s, .sig.c .sc,
|
||||
.sig.cpp .s, .sig.cpp .sc {
|
||||
color: #067D17;
|
||||
}
|
||||
|
||||
|
||||
/* -- other body styles ----------------------------------------------------- */
|
||||
|
||||
ol.arabic {
|
||||
list-style: decimal;
|
||||
}
|
||||
|
||||
ol.loweralpha {
|
||||
list-style: lower-alpha;
|
||||
}
|
||||
|
||||
ol.upperalpha {
|
||||
list-style: upper-alpha;
|
||||
}
|
||||
|
||||
ol.lowerroman {
|
||||
list-style: lower-roman;
|
||||
}
|
||||
|
||||
ol.upperroman {
|
||||
list-style: upper-roman;
|
||||
}
|
||||
|
||||
:not(li) > ol > li:first-child > :first-child,
|
||||
:not(li) > ul > li:first-child > :first-child {
|
||||
margin-top: 0px;
|
||||
}
|
||||
|
||||
:not(li) > ol > li:last-child > :last-child,
|
||||
:not(li) > ul > li:last-child > :last-child {
|
||||
margin-bottom: 0px;
|
||||
}
|
||||
|
||||
ol.simple ol p,
|
||||
ol.simple ul p,
|
||||
ul.simple ol p,
|
||||
ul.simple ul p {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
ol.simple > li:not(:first-child) > p,
|
||||
ul.simple > li:not(:first-child) > p {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
ol.simple p,
|
||||
ul.simple p {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
dl.footnote > dt,
|
||||
dl.citation > dt {
|
||||
float: left;
|
||||
margin-right: 0.5em;
|
||||
}
|
||||
|
||||
dl.footnote > dd,
|
||||
dl.citation > dd {
|
||||
margin-bottom: 0em;
|
||||
}
|
||||
|
||||
dl.footnote > dd:after,
|
||||
dl.citation > dd:after {
|
||||
content: "";
|
||||
clear: both;
|
||||
}
|
||||
|
||||
dl.field-list {
|
||||
display: grid;
|
||||
grid-template-columns: fit-content(30%) auto;
|
||||
}
|
||||
|
||||
dl.field-list > dt {
|
||||
font-weight: bold;
|
||||
word-break: break-word;
|
||||
padding-left: 0.5em;
|
||||
padding-right: 5px;
|
||||
}
|
||||
dl.field-list > dt:after {
|
||||
content: ":";
|
||||
}
|
||||
|
||||
|
||||
dl.field-list > dd {
|
||||
padding-left: 0.5em;
|
||||
margin-top: 0em;
|
||||
margin-left: 0em;
|
||||
margin-bottom: 0em;
|
||||
}
|
||||
|
||||
dl {
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
|
||||
dd > :first-child {
|
||||
margin-top: 0px;
|
||||
}
|
||||
|
||||
dd ul, dd table {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
dd {
|
||||
margin-top: 3px;
|
||||
margin-bottom: 10px;
|
||||
margin-left: 30px;
|
||||
}
|
||||
|
||||
dl > dd:last-child,
|
||||
dl > dd:last-child > :last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
dt:target, span.highlighted {
|
||||
background-color: #fbe54e;
|
||||
}
|
||||
|
||||
rect.highlighted {
|
||||
fill: #fbe54e;
|
||||
}
|
||||
|
||||
dl.glossary dt {
|
||||
font-weight: bold;
|
||||
font-size: 1.1em;
|
||||
}
|
||||
|
||||
.versionmodified {
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
.system-message {
|
||||
background-color: #fda;
|
||||
padding: 5px;
|
||||
border: 3px solid red;
|
||||
}
|
||||
|
||||
.footnote:target {
|
||||
background-color: #ffa;
|
||||
}
|
||||
|
||||
.line-block {
|
||||
display: block;
|
||||
margin-top: 1em;
|
||||
margin-bottom: 1em;
|
||||
}
|
||||
|
||||
.line-block .line-block {
|
||||
margin-top: 0;
|
||||
margin-bottom: 0;
|
||||
margin-left: 1.5em;
|
||||
}
|
||||
|
||||
.guilabel, .menuselection {
|
||||
font-family: sans-serif;
|
||||
}
|
||||
|
||||
.accelerator {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.classifier {
|
||||
font-style: oblique;
|
||||
}
|
||||
|
||||
.classifier:before {
|
||||
font-style: normal;
|
||||
margin: 0 0.5em;
|
||||
content: ":";
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
abbr, acronym {
|
||||
border-bottom: dotted 1px;
|
||||
cursor: help;
|
||||
}
|
||||
|
||||
/* -- code displays --------------------------------------------------------- */
|
||||
|
||||
pre {
|
||||
overflow: auto;
|
||||
overflow-y: hidden; /* fixes display issues on Chrome browsers */
|
||||
}
|
||||
|
||||
pre, div[class*="highlight-"] {
|
||||
clear: both;
|
||||
}
|
||||
|
||||
span.pre {
|
||||
-moz-hyphens: none;
|
||||
-ms-hyphens: none;
|
||||
-webkit-hyphens: none;
|
||||
hyphens: none;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
div[class*="highlight-"] {
|
||||
margin: 1em 0;
|
||||
}
|
||||
|
||||
td.linenos pre {
|
||||
border: 0;
|
||||
background-color: transparent;
|
||||
color: #aaa;
|
||||
}
|
||||
|
||||
table.highlighttable {
|
||||
display: block;
|
||||
}
|
||||
|
||||
table.highlighttable tbody {
|
||||
display: block;
|
||||
}
|
||||
|
||||
table.highlighttable tr {
|
||||
display: flex;
|
||||
}
|
||||
|
||||
table.highlighttable td {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
table.highlighttable td.linenos {
|
||||
padding-right: 0.5em;
|
||||
}
|
||||
|
||||
table.highlighttable td.code {
|
||||
flex: 1;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.highlight .hll {
|
||||
display: block;
|
||||
}
|
||||
|
||||
div.highlight pre,
|
||||
table.highlighttable pre {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
div.code-block-caption + div {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
div.code-block-caption {
|
||||
margin-top: 1em;
|
||||
padding: 2px 5px;
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
div.code-block-caption code {
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
table.highlighttable td.linenos,
|
||||
span.linenos,
|
||||
div.highlight span.gp { /* gp: Generic.Prompt */
|
||||
user-select: none;
|
||||
-webkit-user-select: text; /* Safari fallback only */
|
||||
-webkit-user-select: none; /* Chrome/Safari */
|
||||
-moz-user-select: none; /* Firefox */
|
||||
-ms-user-select: none; /* IE10+ */
|
||||
}
|
||||
|
||||
div.code-block-caption span.caption-number {
|
||||
padding: 0.1em 0.3em;
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
div.code-block-caption span.caption-text {
|
||||
}
|
||||
|
||||
div.literal-block-wrapper {
|
||||
margin: 1em 0;
|
||||
}
|
||||
|
||||
code.xref, a code {
|
||||
background-color: transparent;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
h1 code, h2 code, h3 code, h4 code, h5 code, h6 code {
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
.viewcode-link {
|
||||
float: right;
|
||||
}
|
||||
|
||||
.viewcode-back {
|
||||
float: right;
|
||||
font-family: sans-serif;
|
||||
}
|
||||
|
||||
div.viewcode-block:target {
|
||||
margin: -1px -10px;
|
||||
padding: 0 10px;
|
||||
}
|
||||
|
||||
/* -- math display ---------------------------------------------------------- */
|
||||
|
||||
img.math {
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
div.body div.math p {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
span.eqno {
|
||||
float: right;
|
||||
}
|
||||
|
||||
span.eqno a.headerlink {
|
||||
position: absolute;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
div.math:hover a.headerlink {
|
||||
visibility: visible;
|
||||
}
|
||||
|
||||
/* -- printout stylesheet --------------------------------------------------- */
|
||||
|
||||
@media print {
|
||||
div.document,
|
||||
div.documentwrapper,
|
||||
div.bodywrapper {
|
||||
margin: 0 !important;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
div.sphinxsidebar,
|
||||
div.related,
|
||||
div.footer,
|
||||
#top-link {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
.clearfix{*zoom:1}.clearfix:after,.clearfix:before{display:table;content:""}.clearfix:after{clear:both}@font-face{font-family:FontAwesome;font-style:normal;font-weight:400;src:url(fonts/fontawesome-webfont.eot?674f50d287a8c48dc19ba404d20fe713?#iefix) format("embedded-opentype"),url(fonts/fontawesome-webfont.woff2?af7ae505a9eed503f8b8e6982036873e) format("woff2"),url(fonts/fontawesome-webfont.woff?fee66e712a8a08eef5805a46892932ad) format("woff"),url(fonts/fontawesome-webfont.ttf?b06871f281fee6b241d60582ae9369b9) format("truetype"),url(fonts/fontawesome-webfont.svg?912ec66d7572ff821749319396470bde#FontAwesome) format("svg")}.fa:before{font-family:FontAwesome;font-style:normal;font-weight:400;line-height:1}.fa:before,a .fa{text-decoration:inherit}.fa:before,a .fa,li .fa{display:inline-block}li .fa-large:before{width:1.875em}ul.fas{list-style-type:none;margin-left:2em;text-indent:-.8em}ul.fas li .fa{width:.8em}ul.fas li .fa-large:before{vertical-align:baseline}.fa-book:before,.icon-book:before{content:"\f02d"}.fa-caret-down:before,.icon-caret-down:before{content:"\f0d7"}.fa-caret-up:before,.icon-caret-up:before{content:"\f0d8"}.fa-caret-left:before,.icon-caret-left:before{content:"\f0d9"}.fa-caret-right:before,.icon-caret-right:before{content:"\f0da"}.rst-versions{position:fixed;bottom:0;left:0;width:300px;color:#fcfcfc;background:#1f1d1d;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;z-index:400}.rst-versions a{color:#2980b9;text-decoration:none}.rst-versions .rst-badge-small{display:none}.rst-versions .rst-current-version{padding:12px;background-color:#272525;display:block;text-align:right;font-size:90%;cursor:pointer;color:#27ae60}.rst-versions .rst-current-version:after{clear:both;content:"";display:block}.rst-versions .rst-current-version .fa{color:#fcfcfc}.rst-versions .rst-current-version .fa-book,.rst-versions .rst-current-version .icon-book{float:left}.rst-versions .rst-current-version.rst-out-of-date{background-color:#e74c3c;color:#fff}.rst-versions .rst-current-version.rst-active-old-version{background-color:#f1c40f;color:#000}.rst-versions.shift-up{height:auto;max-height:100%;overflow-y:scroll}.rst-versions.shift-up .rst-other-versions{display:block}.rst-versions .rst-other-versions{font-size:90%;padding:12px;color:grey;display:none}.rst-versions .rst-other-versions hr{display:block;height:1px;border:0;margin:20px 0;padding:0;border-top:1px solid #413d3d}.rst-versions .rst-other-versions dd{display:inline-block;margin:0}.rst-versions .rst-other-versions dd a{display:inline-block;padding:6px;color:#fcfcfc}.rst-versions.rst-badge{width:auto;bottom:20px;right:20px;left:auto;border:none;max-width:300px;max-height:90%}.rst-versions.rst-badge .fa-book,.rst-versions.rst-badge .icon-book{float:none;line-height:30px}.rst-versions.rst-badge.shift-up .rst-current-version{text-align:right}.rst-versions.rst-badge.shift-up .rst-current-version .fa-book,.rst-versions.rst-badge.shift-up .rst-current-version .icon-book{float:left}.rst-versions.rst-badge>.rst-current-version{width:auto;height:30px;line-height:30px;padding:0 6px;display:block;text-align:center}@media screen and (max-width:768px){.rst-versions{width:85%;display:none}.rst-versions.shift{display:block}}
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
|
After Width: | Height: | Size: 434 KiB |
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because one or more lines are too long
156
linx64/mpi/openmpi/share/doc/prrte/html/_static/doctools.js
Normal file
156
linx64/mpi/openmpi/share/doc/prrte/html/_static/doctools.js
Normal file
@@ -0,0 +1,156 @@
|
||||
/*
|
||||
* doctools.js
|
||||
* ~~~~~~~~~~~
|
||||
*
|
||||
* Base JavaScript utilities for all Sphinx HTML documentation.
|
||||
*
|
||||
* :copyright: Copyright 2007-2022 by the Sphinx team, see AUTHORS.
|
||||
* :license: BSD, see LICENSE for details.
|
||||
*
|
||||
*/
|
||||
"use strict";
|
||||
|
||||
const BLACKLISTED_KEY_CONTROL_ELEMENTS = new Set([
|
||||
"TEXTAREA",
|
||||
"INPUT",
|
||||
"SELECT",
|
||||
"BUTTON",
|
||||
]);
|
||||
|
||||
const _ready = (callback) => {
|
||||
if (document.readyState !== "loading") {
|
||||
callback();
|
||||
} else {
|
||||
document.addEventListener("DOMContentLoaded", callback);
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* Small JavaScript module for the documentation.
|
||||
*/
|
||||
const Documentation = {
|
||||
init: () => {
|
||||
Documentation.initDomainIndexTable();
|
||||
Documentation.initOnKeyListeners();
|
||||
},
|
||||
|
||||
/**
|
||||
* i18n support
|
||||
*/
|
||||
TRANSLATIONS: {},
|
||||
PLURAL_EXPR: (n) => (n === 1 ? 0 : 1),
|
||||
LOCALE: "unknown",
|
||||
|
||||
// gettext and ngettext don't access this so that the functions
|
||||
// can safely bound to a different name (_ = Documentation.gettext)
|
||||
gettext: (string) => {
|
||||
const translated = Documentation.TRANSLATIONS[string];
|
||||
switch (typeof translated) {
|
||||
case "undefined":
|
||||
return string; // no translation
|
||||
case "string":
|
||||
return translated; // translation exists
|
||||
default:
|
||||
return translated[0]; // (singular, plural) translation tuple exists
|
||||
}
|
||||
},
|
||||
|
||||
ngettext: (singular, plural, n) => {
|
||||
const translated = Documentation.TRANSLATIONS[singular];
|
||||
if (typeof translated !== "undefined")
|
||||
return translated[Documentation.PLURAL_EXPR(n)];
|
||||
return n === 1 ? singular : plural;
|
||||
},
|
||||
|
||||
addTranslations: (catalog) => {
|
||||
Object.assign(Documentation.TRANSLATIONS, catalog.messages);
|
||||
Documentation.PLURAL_EXPR = new Function(
|
||||
"n",
|
||||
`return (${catalog.plural_expr})`
|
||||
);
|
||||
Documentation.LOCALE = catalog.locale;
|
||||
},
|
||||
|
||||
/**
|
||||
* helper function to focus on search bar
|
||||
*/
|
||||
focusSearchBar: () => {
|
||||
document.querySelectorAll("input[name=q]")[0]?.focus();
|
||||
},
|
||||
|
||||
/**
|
||||
* Initialise the domain index toggle buttons
|
||||
*/
|
||||
initDomainIndexTable: () => {
|
||||
const toggler = (el) => {
|
||||
const idNumber = el.id.substr(7);
|
||||
const toggledRows = document.querySelectorAll(`tr.cg-${idNumber}`);
|
||||
if (el.src.substr(-9) === "minus.png") {
|
||||
el.src = `${el.src.substr(0, el.src.length - 9)}plus.png`;
|
||||
toggledRows.forEach((el) => (el.style.display = "none"));
|
||||
} else {
|
||||
el.src = `${el.src.substr(0, el.src.length - 8)}minus.png`;
|
||||
toggledRows.forEach((el) => (el.style.display = ""));
|
||||
}
|
||||
};
|
||||
|
||||
const togglerElements = document.querySelectorAll("img.toggler");
|
||||
togglerElements.forEach((el) =>
|
||||
el.addEventListener("click", (event) => toggler(event.currentTarget))
|
||||
);
|
||||
togglerElements.forEach((el) => (el.style.display = ""));
|
||||
if (DOCUMENTATION_OPTIONS.COLLAPSE_INDEX) togglerElements.forEach(toggler);
|
||||
},
|
||||
|
||||
initOnKeyListeners: () => {
|
||||
// only install a listener if it is really needed
|
||||
if (
|
||||
!DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS &&
|
||||
!DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS
|
||||
)
|
||||
return;
|
||||
|
||||
document.addEventListener("keydown", (event) => {
|
||||
// bail for input elements
|
||||
if (BLACKLISTED_KEY_CONTROL_ELEMENTS.has(document.activeElement.tagName)) return;
|
||||
// bail with special keys
|
||||
if (event.altKey || event.ctrlKey || event.metaKey) return;
|
||||
|
||||
if (!event.shiftKey) {
|
||||
switch (event.key) {
|
||||
case "ArrowLeft":
|
||||
if (!DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) break;
|
||||
|
||||
const prevLink = document.querySelector('link[rel="prev"]');
|
||||
if (prevLink && prevLink.href) {
|
||||
window.location.href = prevLink.href;
|
||||
event.preventDefault();
|
||||
}
|
||||
break;
|
||||
case "ArrowRight":
|
||||
if (!DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) break;
|
||||
|
||||
const nextLink = document.querySelector('link[rel="next"]');
|
||||
if (nextLink && nextLink.href) {
|
||||
window.location.href = nextLink.href;
|
||||
event.preventDefault();
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// some keyboard layouts may need Shift to get /
|
||||
switch (event.key) {
|
||||
case "/":
|
||||
if (!DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS) break;
|
||||
Documentation.focusSearchBar();
|
||||
event.preventDefault();
|
||||
}
|
||||
});
|
||||
},
|
||||
};
|
||||
|
||||
// quick alias for translations
|
||||
const _ = Documentation.gettext;
|
||||
|
||||
_ready(Documentation.init);
|
||||
@@ -0,0 +1,14 @@
|
||||
var DOCUMENTATION_OPTIONS = {
|
||||
URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'),
|
||||
VERSION: '3.0.8',
|
||||
LANGUAGE: 'en',
|
||||
COLLAPSE_INDEX: false,
|
||||
BUILDER: 'html',
|
||||
FILE_SUFFIX: '.html',
|
||||
LINK_SUFFIX: '.html',
|
||||
HAS_SOURCE: true,
|
||||
SOURCELINK_SUFFIX: '.txt',
|
||||
NAVIGATION_WITH_KEYS: false,
|
||||
SHOW_SEARCH_SUMMARY: true,
|
||||
ENABLE_SEARCH_SHORTCUTS: true,
|
||||
};
|
||||
BIN
linx64/mpi/openmpi/share/doc/prrte/html/_static/file.png
Normal file
BIN
linx64/mpi/openmpi/share/doc/prrte/html/_static/file.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 286 B |
10881
linx64/mpi/openmpi/share/doc/prrte/html/_static/jquery-3.6.0.js
vendored
Normal file
10881
linx64/mpi/openmpi/share/doc/prrte/html/_static/jquery-3.6.0.js
vendored
Normal file
File diff suppressed because it is too large
Load Diff
2
linx64/mpi/openmpi/share/doc/prrte/html/_static/jquery.js
vendored
Normal file
2
linx64/mpi/openmpi/share/doc/prrte/html/_static/jquery.js
vendored
Normal file
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
||||
!function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=4)}({4:function(e,t,r){}});
|
||||
4
linx64/mpi/openmpi/share/doc/prrte/html/_static/js/html5shiv-printshiv.min.js
vendored
Normal file
4
linx64/mpi/openmpi/share/doc/prrte/html/_static/js/html5shiv-printshiv.min.js
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
/**
|
||||
* @preserve HTML5 Shiv 3.7.3-pre | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed
|
||||
*/
|
||||
!function(a,b){function c(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x<style>"+b+"</style>",d.insertBefore(c.lastChild,d.firstChild)}function d(){var a=y.elements;return"string"==typeof a?a.split(" "):a}function e(a,b){var c=y.elements;"string"!=typeof c&&(c=c.join(" ")),"string"!=typeof a&&(a=a.join(" ")),y.elements=c+" "+a,j(b)}function f(a){var b=x[a[v]];return b||(b={},w++,a[v]=w,x[w]=b),b}function g(a,c,d){if(c||(c=b),q)return c.createElement(a);d||(d=f(c));var e;return e=d.cache[a]?d.cache[a].cloneNode():u.test(a)?(d.cache[a]=d.createElem(a)).cloneNode():d.createElem(a),!e.canHaveChildren||t.test(a)||e.tagUrn?e:d.frag.appendChild(e)}function h(a,c){if(a||(a=b),q)return a.createDocumentFragment();c=c||f(a);for(var e=c.frag.cloneNode(),g=0,h=d(),i=h.length;i>g;g++)e.createElement(h[g]);return e}function i(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag()),a.createElement=function(c){return y.shivMethods?g(c,a,b):b.createElem(c)},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+d().join().replace(/[\w\-:]+/g,function(a){return b.createElem(a),b.frag.createElement(a),'c("'+a+'")'})+");return n}")(y,b.frag)}function j(a){a||(a=b);var d=f(a);return!y.shivCSS||p||d.hasCSS||(d.hasCSS=!!c(a,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")),q||i(a,d),a}function k(a){for(var b,c=a.getElementsByTagName("*"),e=c.length,f=RegExp("^(?:"+d().join("|")+")$","i"),g=[];e--;)b=c[e],f.test(b.nodeName)&&g.push(b.applyElement(l(b)));return g}function l(a){for(var b,c=a.attributes,d=c.length,e=a.ownerDocument.createElement(A+":"+a.nodeName);d--;)b=c[d],b.specified&&e.setAttribute(b.nodeName,b.nodeValue);return e.style.cssText=a.style.cssText,e}function m(a){for(var b,c=a.split("{"),e=c.length,f=RegExp("(^|[\\s,>+~])("+d().join("|")+")(?=[[\\s,>+~#.:]|$)","gi"),g="$1"+A+"\\:$2";e--;)b=c[e]=c[e].split("}"),b[b.length-1]=b[b.length-1].replace(f,g),c[e]=b.join("}");return c.join("{")}function n(a){for(var b=a.length;b--;)a[b].removeNode()}function o(a){function b(){clearTimeout(g._removeSheetTimer),d&&d.removeNode(!0),d=null}var d,e,g=f(a),h=a.namespaces,i=a.parentWindow;return!B||a.printShived?a:("undefined"==typeof h[A]&&h.add(A),i.attachEvent("onbeforeprint",function(){b();for(var f,g,h,i=a.styleSheets,j=[],l=i.length,n=Array(l);l--;)n[l]=i[l];for(;h=n.pop();)if(!h.disabled&&z.test(h.media)){try{f=h.imports,g=f.length}catch(o){g=0}for(l=0;g>l;l++)n.push(f[l]);try{j.push(h.cssText)}catch(o){}}j=m(j.reverse().join("")),e=k(a),d=c(a,j)}),i.attachEvent("onafterprint",function(){n(e),clearTimeout(g._removeSheetTimer),g._removeSheetTimer=setTimeout(b,500)}),a.printShived=!0,a)}var p,q,r="3.7.3",s=a.html5||{},t=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,u=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,v="_html5shiv",w=0,x={};!function(){try{var a=b.createElement("a");a.innerHTML="<xyz></xyz>",p="hidden"in a,q=1==a.childNodes.length||function(){b.createElement("a");var a=b.createDocumentFragment();return"undefined"==typeof a.cloneNode||"undefined"==typeof a.createDocumentFragment||"undefined"==typeof a.createElement}()}catch(c){p=!0,q=!0}}();var y={elements:s.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output picture progress section summary template time video",version:r,shivCSS:s.shivCSS!==!1,supportsUnknownElements:q,shivMethods:s.shivMethods!==!1,type:"default",shivDocument:j,createElement:g,createDocumentFragment:h,addElements:e};a.html5=y,j(b);var z=/^$|\b(?:all|print)\b/,A="html5shiv",B=!q&&function(){var c=b.documentElement;return!("undefined"==typeof b.namespaces||"undefined"==typeof b.parentWindow||"undefined"==typeof c.applyElement||"undefined"==typeof c.removeNode||"undefined"==typeof a.attachEvent)}();y.type+=" print",y.shivPrint=o,o(b),"object"==typeof module&&module.exports&&(module.exports=y)}("undefined"!=typeof window?window:this,document);
|
||||
4
linx64/mpi/openmpi/share/doc/prrte/html/_static/js/html5shiv.min.js
vendored
Normal file
4
linx64/mpi/openmpi/share/doc/prrte/html/_static/js/html5shiv.min.js
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
/**
|
||||
* @preserve HTML5 Shiv 3.7.3 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed
|
||||
*/
|
||||
!function(a,b){function c(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x<style>"+b+"</style>",d.insertBefore(c.lastChild,d.firstChild)}function d(){var a=t.elements;return"string"==typeof a?a.split(" "):a}function e(a,b){var c=t.elements;"string"!=typeof c&&(c=c.join(" ")),"string"!=typeof a&&(a=a.join(" ")),t.elements=c+" "+a,j(b)}function f(a){var b=s[a[q]];return b||(b={},r++,a[q]=r,s[r]=b),b}function g(a,c,d){if(c||(c=b),l)return c.createElement(a);d||(d=f(c));var e;return e=d.cache[a]?d.cache[a].cloneNode():p.test(a)?(d.cache[a]=d.createElem(a)).cloneNode():d.createElem(a),!e.canHaveChildren||o.test(a)||e.tagUrn?e:d.frag.appendChild(e)}function h(a,c){if(a||(a=b),l)return a.createDocumentFragment();c=c||f(a);for(var e=c.frag.cloneNode(),g=0,h=d(),i=h.length;i>g;g++)e.createElement(h[g]);return e}function i(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag()),a.createElement=function(c){return t.shivMethods?g(c,a,b):b.createElem(c)},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+d().join().replace(/[\w\-:]+/g,function(a){return b.createElem(a),b.frag.createElement(a),'c("'+a+'")'})+");return n}")(t,b.frag)}function j(a){a||(a=b);var d=f(a);return!t.shivCSS||k||d.hasCSS||(d.hasCSS=!!c(a,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")),l||i(a,d),a}var k,l,m="3.7.3-pre",n=a.html5||{},o=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,p=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,q="_html5shiv",r=0,s={};!function(){try{var a=b.createElement("a");a.innerHTML="<xyz></xyz>",k="hidden"in a,l=1==a.childNodes.length||function(){b.createElement("a");var a=b.createDocumentFragment();return"undefined"==typeof a.cloneNode||"undefined"==typeof a.createDocumentFragment||"undefined"==typeof a.createElement}()}catch(c){k=!0,l=!0}}();var t={elements:n.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output picture progress section summary template time video",version:m,shivCSS:n.shivCSS!==!1,supportsUnknownElements:l,shivMethods:n.shivMethods!==!1,type:"default",shivDocument:j,createElement:g,createDocumentFragment:h,addElements:e};a.html5=t,j(b),"object"==typeof module&&module.exports&&(module.exports=t)}("undefined"!=typeof window?window:this,document);
|
||||
File diff suppressed because one or more lines are too long
199
linx64/mpi/openmpi/share/doc/prrte/html/_static/language_data.js
Normal file
199
linx64/mpi/openmpi/share/doc/prrte/html/_static/language_data.js
Normal file
@@ -0,0 +1,199 @@
|
||||
/*
|
||||
* language_data.js
|
||||
* ~~~~~~~~~~~~~~~~
|
||||
*
|
||||
* This script contains the language-specific data used by searchtools.js,
|
||||
* namely the list of stopwords, stemmer, scorer and splitter.
|
||||
*
|
||||
* :copyright: Copyright 2007-2022 by the Sphinx team, see AUTHORS.
|
||||
* :license: BSD, see LICENSE for details.
|
||||
*
|
||||
*/
|
||||
|
||||
var stopwords = ["a", "and", "are", "as", "at", "be", "but", "by", "for", "if", "in", "into", "is", "it", "near", "no", "not", "of", "on", "or", "such", "that", "the", "their", "then", "there", "these", "they", "this", "to", "was", "will", "with"];
|
||||
|
||||
|
||||
/* Non-minified version is copied as a separate JS file, is available */
|
||||
|
||||
/**
|
||||
* Porter Stemmer
|
||||
*/
|
||||
var Stemmer = function() {
|
||||
|
||||
var step2list = {
|
||||
ational: 'ate',
|
||||
tional: 'tion',
|
||||
enci: 'ence',
|
||||
anci: 'ance',
|
||||
izer: 'ize',
|
||||
bli: 'ble',
|
||||
alli: 'al',
|
||||
entli: 'ent',
|
||||
eli: 'e',
|
||||
ousli: 'ous',
|
||||
ization: 'ize',
|
||||
ation: 'ate',
|
||||
ator: 'ate',
|
||||
alism: 'al',
|
||||
iveness: 'ive',
|
||||
fulness: 'ful',
|
||||
ousness: 'ous',
|
||||
aliti: 'al',
|
||||
iviti: 'ive',
|
||||
biliti: 'ble',
|
||||
logi: 'log'
|
||||
};
|
||||
|
||||
var step3list = {
|
||||
icate: 'ic',
|
||||
ative: '',
|
||||
alize: 'al',
|
||||
iciti: 'ic',
|
||||
ical: 'ic',
|
||||
ful: '',
|
||||
ness: ''
|
||||
};
|
||||
|
||||
var c = "[^aeiou]"; // consonant
|
||||
var v = "[aeiouy]"; // vowel
|
||||
var C = c + "[^aeiouy]*"; // consonant sequence
|
||||
var V = v + "[aeiou]*"; // vowel sequence
|
||||
|
||||
var mgr0 = "^(" + C + ")?" + V + C; // [C]VC... is m>0
|
||||
var meq1 = "^(" + C + ")?" + V + C + "(" + V + ")?$"; // [C]VC[V] is m=1
|
||||
var mgr1 = "^(" + C + ")?" + V + C + V + C; // [C]VCVC... is m>1
|
||||
var s_v = "^(" + C + ")?" + v; // vowel in stem
|
||||
|
||||
this.stemWord = function (w) {
|
||||
var stem;
|
||||
var suffix;
|
||||
var firstch;
|
||||
var origword = w;
|
||||
|
||||
if (w.length < 3)
|
||||
return w;
|
||||
|
||||
var re;
|
||||
var re2;
|
||||
var re3;
|
||||
var re4;
|
||||
|
||||
firstch = w.substr(0,1);
|
||||
if (firstch == "y")
|
||||
w = firstch.toUpperCase() + w.substr(1);
|
||||
|
||||
// Step 1a
|
||||
re = /^(.+?)(ss|i)es$/;
|
||||
re2 = /^(.+?)([^s])s$/;
|
||||
|
||||
if (re.test(w))
|
||||
w = w.replace(re,"$1$2");
|
||||
else if (re2.test(w))
|
||||
w = w.replace(re2,"$1$2");
|
||||
|
||||
// Step 1b
|
||||
re = /^(.+?)eed$/;
|
||||
re2 = /^(.+?)(ed|ing)$/;
|
||||
if (re.test(w)) {
|
||||
var fp = re.exec(w);
|
||||
re = new RegExp(mgr0);
|
||||
if (re.test(fp[1])) {
|
||||
re = /.$/;
|
||||
w = w.replace(re,"");
|
||||
}
|
||||
}
|
||||
else if (re2.test(w)) {
|
||||
var fp = re2.exec(w);
|
||||
stem = fp[1];
|
||||
re2 = new RegExp(s_v);
|
||||
if (re2.test(stem)) {
|
||||
w = stem;
|
||||
re2 = /(at|bl|iz)$/;
|
||||
re3 = new RegExp("([^aeiouylsz])\\1$");
|
||||
re4 = new RegExp("^" + C + v + "[^aeiouwxy]$");
|
||||
if (re2.test(w))
|
||||
w = w + "e";
|
||||
else if (re3.test(w)) {
|
||||
re = /.$/;
|
||||
w = w.replace(re,"");
|
||||
}
|
||||
else if (re4.test(w))
|
||||
w = w + "e";
|
||||
}
|
||||
}
|
||||
|
||||
// Step 1c
|
||||
re = /^(.+?)y$/;
|
||||
if (re.test(w)) {
|
||||
var fp = re.exec(w);
|
||||
stem = fp[1];
|
||||
re = new RegExp(s_v);
|
||||
if (re.test(stem))
|
||||
w = stem + "i";
|
||||
}
|
||||
|
||||
// Step 2
|
||||
re = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/;
|
||||
if (re.test(w)) {
|
||||
var fp = re.exec(w);
|
||||
stem = fp[1];
|
||||
suffix = fp[2];
|
||||
re = new RegExp(mgr0);
|
||||
if (re.test(stem))
|
||||
w = stem + step2list[suffix];
|
||||
}
|
||||
|
||||
// Step 3
|
||||
re = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/;
|
||||
if (re.test(w)) {
|
||||
var fp = re.exec(w);
|
||||
stem = fp[1];
|
||||
suffix = fp[2];
|
||||
re = new RegExp(mgr0);
|
||||
if (re.test(stem))
|
||||
w = stem + step3list[suffix];
|
||||
}
|
||||
|
||||
// Step 4
|
||||
re = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/;
|
||||
re2 = /^(.+?)(s|t)(ion)$/;
|
||||
if (re.test(w)) {
|
||||
var fp = re.exec(w);
|
||||
stem = fp[1];
|
||||
re = new RegExp(mgr1);
|
||||
if (re.test(stem))
|
||||
w = stem;
|
||||
}
|
||||
else if (re2.test(w)) {
|
||||
var fp = re2.exec(w);
|
||||
stem = fp[1] + fp[2];
|
||||
re2 = new RegExp(mgr1);
|
||||
if (re2.test(stem))
|
||||
w = stem;
|
||||
}
|
||||
|
||||
// Step 5
|
||||
re = /^(.+?)e$/;
|
||||
if (re.test(w)) {
|
||||
var fp = re.exec(w);
|
||||
stem = fp[1];
|
||||
re = new RegExp(mgr1);
|
||||
re2 = new RegExp(meq1);
|
||||
re3 = new RegExp("^" + C + v + "[^aeiouwxy]$");
|
||||
if (re.test(stem) || (re2.test(stem) && !(re3.test(stem))))
|
||||
w = stem;
|
||||
}
|
||||
re = /ll$/;
|
||||
re2 = new RegExp(mgr1);
|
||||
if (re.test(w) && re2.test(w)) {
|
||||
re = /.$/;
|
||||
w = w.replace(re,"");
|
||||
}
|
||||
|
||||
// and turn initial Y back to y
|
||||
if (firstch == "y")
|
||||
w = firstch.toLowerCase() + w.substr(1);
|
||||
return w;
|
||||
}
|
||||
}
|
||||
|
||||
BIN
linx64/mpi/openmpi/share/doc/prrte/html/_static/minus.png
Normal file
BIN
linx64/mpi/openmpi/share/doc/prrte/html/_static/minus.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 90 B |
BIN
linx64/mpi/openmpi/share/doc/prrte/html/_static/plus.png
Normal file
BIN
linx64/mpi/openmpi/share/doc/prrte/html/_static/plus.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 90 B |
75
linx64/mpi/openmpi/share/doc/prrte/html/_static/pygments.css
Normal file
75
linx64/mpi/openmpi/share/doc/prrte/html/_static/pygments.css
Normal file
@@ -0,0 +1,75 @@
|
||||
pre { line-height: 125%; }
|
||||
td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
|
||||
span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
|
||||
td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
|
||||
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
|
||||
.highlight .hll { background-color: #ffffcc }
|
||||
.highlight { background: #f8f8f8; }
|
||||
.highlight .c { color: #3D7B7B; font-style: italic } /* Comment */
|
||||
.highlight .err { border: 1px solid #FF0000 } /* Error */
|
||||
.highlight .k { color: #008000; font-weight: bold } /* Keyword */
|
||||
.highlight .o { color: #666666 } /* Operator */
|
||||
.highlight .ch { color: #3D7B7B; font-style: italic } /* Comment.Hashbang */
|
||||
.highlight .cm { color: #3D7B7B; font-style: italic } /* Comment.Multiline */
|
||||
.highlight .cp { color: #9C6500 } /* Comment.Preproc */
|
||||
.highlight .cpf { color: #3D7B7B; font-style: italic } /* Comment.PreprocFile */
|
||||
.highlight .c1 { color: #3D7B7B; font-style: italic } /* Comment.Single */
|
||||
.highlight .cs { color: #3D7B7B; font-style: italic } /* Comment.Special */
|
||||
.highlight .gd { color: #A00000 } /* Generic.Deleted */
|
||||
.highlight .ge { font-style: italic } /* Generic.Emph */
|
||||
.highlight .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */
|
||||
.highlight .gr { color: #E40000 } /* Generic.Error */
|
||||
.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
|
||||
.highlight .gi { color: #008400 } /* Generic.Inserted */
|
||||
.highlight .go { color: #717171 } /* Generic.Output */
|
||||
.highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */
|
||||
.highlight .gs { font-weight: bold } /* Generic.Strong */
|
||||
.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
|
||||
.highlight .gt { color: #0044DD } /* Generic.Traceback */
|
||||
.highlight .kc { color: #008000; font-weight: bold } /* Keyword.Constant */
|
||||
.highlight .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */
|
||||
.highlight .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */
|
||||
.highlight .kp { color: #008000 } /* Keyword.Pseudo */
|
||||
.highlight .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */
|
||||
.highlight .kt { color: #B00040 } /* Keyword.Type */
|
||||
.highlight .m { color: #666666 } /* Literal.Number */
|
||||
.highlight .s { color: #BA2121 } /* Literal.String */
|
||||
.highlight .na { color: #687822 } /* Name.Attribute */
|
||||
.highlight .nb { color: #008000 } /* Name.Builtin */
|
||||
.highlight .nc { color: #0000FF; font-weight: bold } /* Name.Class */
|
||||
.highlight .no { color: #880000 } /* Name.Constant */
|
||||
.highlight .nd { color: #AA22FF } /* Name.Decorator */
|
||||
.highlight .ni { color: #717171; font-weight: bold } /* Name.Entity */
|
||||
.highlight .ne { color: #CB3F38; font-weight: bold } /* Name.Exception */
|
||||
.highlight .nf { color: #0000FF } /* Name.Function */
|
||||
.highlight .nl { color: #767600 } /* Name.Label */
|
||||
.highlight .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */
|
||||
.highlight .nt { color: #008000; font-weight: bold } /* Name.Tag */
|
||||
.highlight .nv { color: #19177C } /* Name.Variable */
|
||||
.highlight .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */
|
||||
.highlight .w { color: #bbbbbb } /* Text.Whitespace */
|
||||
.highlight .mb { color: #666666 } /* Literal.Number.Bin */
|
||||
.highlight .mf { color: #666666 } /* Literal.Number.Float */
|
||||
.highlight .mh { color: #666666 } /* Literal.Number.Hex */
|
||||
.highlight .mi { color: #666666 } /* Literal.Number.Integer */
|
||||
.highlight .mo { color: #666666 } /* Literal.Number.Oct */
|
||||
.highlight .sa { color: #BA2121 } /* Literal.String.Affix */
|
||||
.highlight .sb { color: #BA2121 } /* Literal.String.Backtick */
|
||||
.highlight .sc { color: #BA2121 } /* Literal.String.Char */
|
||||
.highlight .dl { color: #BA2121 } /* Literal.String.Delimiter */
|
||||
.highlight .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
|
||||
.highlight .s2 { color: #BA2121 } /* Literal.String.Double */
|
||||
.highlight .se { color: #AA5D1F; font-weight: bold } /* Literal.String.Escape */
|
||||
.highlight .sh { color: #BA2121 } /* Literal.String.Heredoc */
|
||||
.highlight .si { color: #A45A77; font-weight: bold } /* Literal.String.Interpol */
|
||||
.highlight .sx { color: #008000 } /* Literal.String.Other */
|
||||
.highlight .sr { color: #A45A77 } /* Literal.String.Regex */
|
||||
.highlight .s1 { color: #BA2121 } /* Literal.String.Single */
|
||||
.highlight .ss { color: #19177C } /* Literal.String.Symbol */
|
||||
.highlight .bp { color: #008000 } /* Name.Builtin.Pseudo */
|
||||
.highlight .fm { color: #0000FF } /* Name.Function.Magic */
|
||||
.highlight .vc { color: #19177C } /* Name.Variable.Class */
|
||||
.highlight .vg { color: #19177C } /* Name.Variable.Global */
|
||||
.highlight .vi { color: #19177C } /* Name.Variable.Instance */
|
||||
.highlight .vm { color: #19177C } /* Name.Variable.Magic */
|
||||
.highlight .il { color: #666666 } /* Literal.Number.Integer.Long */
|
||||
566
linx64/mpi/openmpi/share/doc/prrte/html/_static/searchtools.js
Normal file
566
linx64/mpi/openmpi/share/doc/prrte/html/_static/searchtools.js
Normal file
@@ -0,0 +1,566 @@
|
||||
/*
|
||||
* searchtools.js
|
||||
* ~~~~~~~~~~~~~~~~
|
||||
*
|
||||
* Sphinx JavaScript utilities for the full-text search.
|
||||
*
|
||||
* :copyright: Copyright 2007-2022 by the Sphinx team, see AUTHORS.
|
||||
* :license: BSD, see LICENSE for details.
|
||||
*
|
||||
*/
|
||||
"use strict";
|
||||
|
||||
/**
|
||||
* Simple result scoring code.
|
||||
*/
|
||||
if (typeof Scorer === "undefined") {
|
||||
var Scorer = {
|
||||
// Implement the following function to further tweak the score for each result
|
||||
// The function takes a result array [docname, title, anchor, descr, score, filename]
|
||||
// and returns the new score.
|
||||
/*
|
||||
score: result => {
|
||||
const [docname, title, anchor, descr, score, filename] = result
|
||||
return score
|
||||
},
|
||||
*/
|
||||
|
||||
// query matches the full name of an object
|
||||
objNameMatch: 11,
|
||||
// or matches in the last dotted part of the object name
|
||||
objPartialMatch: 6,
|
||||
// Additive scores depending on the priority of the object
|
||||
objPrio: {
|
||||
0: 15, // used to be importantResults
|
||||
1: 5, // used to be objectResults
|
||||
2: -5, // used to be unimportantResults
|
||||
},
|
||||
// Used when the priority is not in the mapping.
|
||||
objPrioDefault: 0,
|
||||
|
||||
// query found in title
|
||||
title: 15,
|
||||
partialTitle: 7,
|
||||
// query found in terms
|
||||
term: 5,
|
||||
partialTerm: 2,
|
||||
};
|
||||
}
|
||||
|
||||
const _removeChildren = (element) => {
|
||||
while (element && element.lastChild) element.removeChild(element.lastChild);
|
||||
};
|
||||
|
||||
/**
|
||||
* See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions#escaping
|
||||
*/
|
||||
const _escapeRegExp = (string) =>
|
||||
string.replace(/[.*+\-?^${}()|[\]\\]/g, "\\$&"); // $& means the whole matched string
|
||||
|
||||
const _displayItem = (item, searchTerms) => {
|
||||
const docBuilder = DOCUMENTATION_OPTIONS.BUILDER;
|
||||
const docUrlRoot = DOCUMENTATION_OPTIONS.URL_ROOT;
|
||||
const docFileSuffix = DOCUMENTATION_OPTIONS.FILE_SUFFIX;
|
||||
const docLinkSuffix = DOCUMENTATION_OPTIONS.LINK_SUFFIX;
|
||||
const showSearchSummary = DOCUMENTATION_OPTIONS.SHOW_SEARCH_SUMMARY;
|
||||
|
||||
const [docName, title, anchor, descr, score, _filename] = item;
|
||||
|
||||
let listItem = document.createElement("li");
|
||||
let requestUrl;
|
||||
let linkUrl;
|
||||
if (docBuilder === "dirhtml") {
|
||||
// dirhtml builder
|
||||
let dirname = docName + "/";
|
||||
if (dirname.match(/\/index\/$/))
|
||||
dirname = dirname.substring(0, dirname.length - 6);
|
||||
else if (dirname === "index/") dirname = "";
|
||||
requestUrl = docUrlRoot + dirname;
|
||||
linkUrl = requestUrl;
|
||||
} else {
|
||||
// normal html builders
|
||||
requestUrl = docUrlRoot + docName + docFileSuffix;
|
||||
linkUrl = docName + docLinkSuffix;
|
||||
}
|
||||
let linkEl = listItem.appendChild(document.createElement("a"));
|
||||
linkEl.href = linkUrl + anchor;
|
||||
linkEl.dataset.score = score;
|
||||
linkEl.innerHTML = title;
|
||||
if (descr)
|
||||
listItem.appendChild(document.createElement("span")).innerHTML =
|
||||
" (" + descr + ")";
|
||||
else if (showSearchSummary)
|
||||
fetch(requestUrl)
|
||||
.then((responseData) => responseData.text())
|
||||
.then((data) => {
|
||||
if (data)
|
||||
listItem.appendChild(
|
||||
Search.makeSearchSummary(data, searchTerms)
|
||||
);
|
||||
});
|
||||
Search.output.appendChild(listItem);
|
||||
};
|
||||
const _finishSearch = (resultCount) => {
|
||||
Search.stopPulse();
|
||||
Search.title.innerText = _("Search Results");
|
||||
if (!resultCount)
|
||||
Search.status.innerText = Documentation.gettext(
|
||||
"Your search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories."
|
||||
);
|
||||
else
|
||||
Search.status.innerText = _(
|
||||
`Search finished, found ${resultCount} page(s) matching the search query.`
|
||||
);
|
||||
};
|
||||
const _displayNextItem = (
|
||||
results,
|
||||
resultCount,
|
||||
searchTerms
|
||||
) => {
|
||||
// results left, load the summary and display it
|
||||
// this is intended to be dynamic (don't sub resultsCount)
|
||||
if (results.length) {
|
||||
_displayItem(results.pop(), searchTerms);
|
||||
setTimeout(
|
||||
() => _displayNextItem(results, resultCount, searchTerms),
|
||||
5
|
||||
);
|
||||
}
|
||||
// search finished, update title and status message
|
||||
else _finishSearch(resultCount);
|
||||
};
|
||||
|
||||
/**
|
||||
* Default splitQuery function. Can be overridden in ``sphinx.search`` with a
|
||||
* custom function per language.
|
||||
*
|
||||
* The regular expression works by splitting the string on consecutive characters
|
||||
* that are not Unicode letters, numbers, underscores, or emoji characters.
|
||||
* This is the same as ``\W+`` in Python, preserving the surrogate pair area.
|
||||
*/
|
||||
if (typeof splitQuery === "undefined") {
|
||||
var splitQuery = (query) => query
|
||||
.split(/[^\p{Letter}\p{Number}_\p{Emoji_Presentation}]+/gu)
|
||||
.filter(term => term) // remove remaining empty strings
|
||||
}
|
||||
|
||||
/**
|
||||
* Search Module
|
||||
*/
|
||||
const Search = {
|
||||
_index: null,
|
||||
_queued_query: null,
|
||||
_pulse_status: -1,
|
||||
|
||||
htmlToText: (htmlString) => {
|
||||
const htmlElement = new DOMParser().parseFromString(htmlString, 'text/html');
|
||||
htmlElement.querySelectorAll(".headerlink").forEach((el) => { el.remove() });
|
||||
const docContent = htmlElement.querySelector('[role="main"]');
|
||||
if (docContent !== undefined) return docContent.textContent;
|
||||
console.warn(
|
||||
"Content block not found. Sphinx search tries to obtain it via '[role=main]'. Could you check your theme or template."
|
||||
);
|
||||
return "";
|
||||
},
|
||||
|
||||
init: () => {
|
||||
const query = new URLSearchParams(window.location.search).get("q");
|
||||
document
|
||||
.querySelectorAll('input[name="q"]')
|
||||
.forEach((el) => (el.value = query));
|
||||
if (query) Search.performSearch(query);
|
||||
},
|
||||
|
||||
loadIndex: (url) =>
|
||||
(document.body.appendChild(document.createElement("script")).src = url),
|
||||
|
||||
setIndex: (index) => {
|
||||
Search._index = index;
|
||||
if (Search._queued_query !== null) {
|
||||
const query = Search._queued_query;
|
||||
Search._queued_query = null;
|
||||
Search.query(query);
|
||||
}
|
||||
},
|
||||
|
||||
hasIndex: () => Search._index !== null,
|
||||
|
||||
deferQuery: (query) => (Search._queued_query = query),
|
||||
|
||||
stopPulse: () => (Search._pulse_status = -1),
|
||||
|
||||
startPulse: () => {
|
||||
if (Search._pulse_status >= 0) return;
|
||||
|
||||
const pulse = () => {
|
||||
Search._pulse_status = (Search._pulse_status + 1) % 4;
|
||||
Search.dots.innerText = ".".repeat(Search._pulse_status);
|
||||
if (Search._pulse_status >= 0) window.setTimeout(pulse, 500);
|
||||
};
|
||||
pulse();
|
||||
},
|
||||
|
||||
/**
|
||||
* perform a search for something (or wait until index is loaded)
|
||||
*/
|
||||
performSearch: (query) => {
|
||||
// create the required interface elements
|
||||
const searchText = document.createElement("h2");
|
||||
searchText.textContent = _("Searching");
|
||||
const searchSummary = document.createElement("p");
|
||||
searchSummary.classList.add("search-summary");
|
||||
searchSummary.innerText = "";
|
||||
const searchList = document.createElement("ul");
|
||||
searchList.classList.add("search");
|
||||
|
||||
const out = document.getElementById("search-results");
|
||||
Search.title = out.appendChild(searchText);
|
||||
Search.dots = Search.title.appendChild(document.createElement("span"));
|
||||
Search.status = out.appendChild(searchSummary);
|
||||
Search.output = out.appendChild(searchList);
|
||||
|
||||
const searchProgress = document.getElementById("search-progress");
|
||||
// Some themes don't use the search progress node
|
||||
if (searchProgress) {
|
||||
searchProgress.innerText = _("Preparing search...");
|
||||
}
|
||||
Search.startPulse();
|
||||
|
||||
// index already loaded, the browser was quick!
|
||||
if (Search.hasIndex()) Search.query(query);
|
||||
else Search.deferQuery(query);
|
||||
},
|
||||
|
||||
/**
|
||||
* execute search (requires search index to be loaded)
|
||||
*/
|
||||
query: (query) => {
|
||||
const filenames = Search._index.filenames;
|
||||
const docNames = Search._index.docnames;
|
||||
const titles = Search._index.titles;
|
||||
const allTitles = Search._index.alltitles;
|
||||
const indexEntries = Search._index.indexentries;
|
||||
|
||||
// stem the search terms and add them to the correct list
|
||||
const stemmer = new Stemmer();
|
||||
const searchTerms = new Set();
|
||||
const excludedTerms = new Set();
|
||||
const highlightTerms = new Set();
|
||||
const objectTerms = new Set(splitQuery(query.toLowerCase().trim()));
|
||||
splitQuery(query.trim()).forEach((queryTerm) => {
|
||||
const queryTermLower = queryTerm.toLowerCase();
|
||||
|
||||
// maybe skip this "word"
|
||||
// stopwords array is from language_data.js
|
||||
if (
|
||||
stopwords.indexOf(queryTermLower) !== -1 ||
|
||||
queryTerm.match(/^\d+$/)
|
||||
)
|
||||
return;
|
||||
|
||||
// stem the word
|
||||
let word = stemmer.stemWord(queryTermLower);
|
||||
// select the correct list
|
||||
if (word[0] === "-") excludedTerms.add(word.substr(1));
|
||||
else {
|
||||
searchTerms.add(word);
|
||||
highlightTerms.add(queryTermLower);
|
||||
}
|
||||
});
|
||||
|
||||
if (SPHINX_HIGHLIGHT_ENABLED) { // set in sphinx_highlight.js
|
||||
localStorage.setItem("sphinx_highlight_terms", [...highlightTerms].join(" "))
|
||||
}
|
||||
|
||||
// console.debug("SEARCH: searching for:");
|
||||
// console.info("required: ", [...searchTerms]);
|
||||
// console.info("excluded: ", [...excludedTerms]);
|
||||
|
||||
// array of [docname, title, anchor, descr, score, filename]
|
||||
let results = [];
|
||||
_removeChildren(document.getElementById("search-progress"));
|
||||
|
||||
const queryLower = query.toLowerCase();
|
||||
for (const [title, foundTitles] of Object.entries(allTitles)) {
|
||||
if (title.toLowerCase().includes(queryLower) && (queryLower.length >= title.length/2)) {
|
||||
for (const [file, id] of foundTitles) {
|
||||
let score = Math.round(100 * queryLower.length / title.length)
|
||||
results.push([
|
||||
docNames[file],
|
||||
titles[file] !== title ? `${titles[file]} > ${title}` : title,
|
||||
id !== null ? "#" + id : "",
|
||||
null,
|
||||
score,
|
||||
filenames[file],
|
||||
]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// search for explicit entries in index directives
|
||||
for (const [entry, foundEntries] of Object.entries(indexEntries)) {
|
||||
if (entry.includes(queryLower) && (queryLower.length >= entry.length/2)) {
|
||||
for (const [file, id] of foundEntries) {
|
||||
let score = Math.round(100 * queryLower.length / entry.length)
|
||||
results.push([
|
||||
docNames[file],
|
||||
titles[file],
|
||||
id ? "#" + id : "",
|
||||
null,
|
||||
score,
|
||||
filenames[file],
|
||||
]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// lookup as object
|
||||
objectTerms.forEach((term) =>
|
||||
results.push(...Search.performObjectSearch(term, objectTerms))
|
||||
);
|
||||
|
||||
// lookup as search terms in fulltext
|
||||
results.push(...Search.performTermsSearch(searchTerms, excludedTerms));
|
||||
|
||||
// let the scorer override scores with a custom scoring function
|
||||
if (Scorer.score) results.forEach((item) => (item[4] = Scorer.score(item)));
|
||||
|
||||
// now sort the results by score (in opposite order of appearance, since the
|
||||
// display function below uses pop() to retrieve items) and then
|
||||
// alphabetically
|
||||
results.sort((a, b) => {
|
||||
const leftScore = a[4];
|
||||
const rightScore = b[4];
|
||||
if (leftScore === rightScore) {
|
||||
// same score: sort alphabetically
|
||||
const leftTitle = a[1].toLowerCase();
|
||||
const rightTitle = b[1].toLowerCase();
|
||||
if (leftTitle === rightTitle) return 0;
|
||||
return leftTitle > rightTitle ? -1 : 1; // inverted is intentional
|
||||
}
|
||||
return leftScore > rightScore ? 1 : -1;
|
||||
});
|
||||
|
||||
// remove duplicate search results
|
||||
// note the reversing of results, so that in the case of duplicates, the highest-scoring entry is kept
|
||||
let seen = new Set();
|
||||
results = results.reverse().reduce((acc, result) => {
|
||||
let resultStr = result.slice(0, 4).concat([result[5]]).map(v => String(v)).join(',');
|
||||
if (!seen.has(resultStr)) {
|
||||
acc.push(result);
|
||||
seen.add(resultStr);
|
||||
}
|
||||
return acc;
|
||||
}, []);
|
||||
|
||||
results = results.reverse();
|
||||
|
||||
// for debugging
|
||||
//Search.lastresults = results.slice(); // a copy
|
||||
// console.info("search results:", Search.lastresults);
|
||||
|
||||
// print the results
|
||||
_displayNextItem(results, results.length, searchTerms);
|
||||
},
|
||||
|
||||
/**
|
||||
* search for object names
|
||||
*/
|
||||
performObjectSearch: (object, objectTerms) => {
|
||||
const filenames = Search._index.filenames;
|
||||
const docNames = Search._index.docnames;
|
||||
const objects = Search._index.objects;
|
||||
const objNames = Search._index.objnames;
|
||||
const titles = Search._index.titles;
|
||||
|
||||
const results = [];
|
||||
|
||||
const objectSearchCallback = (prefix, match) => {
|
||||
const name = match[4]
|
||||
const fullname = (prefix ? prefix + "." : "") + name;
|
||||
const fullnameLower = fullname.toLowerCase();
|
||||
if (fullnameLower.indexOf(object) < 0) return;
|
||||
|
||||
let score = 0;
|
||||
const parts = fullnameLower.split(".");
|
||||
|
||||
// check for different match types: exact matches of full name or
|
||||
// "last name" (i.e. last dotted part)
|
||||
if (fullnameLower === object || parts.slice(-1)[0] === object)
|
||||
score += Scorer.objNameMatch;
|
||||
else if (parts.slice(-1)[0].indexOf(object) > -1)
|
||||
score += Scorer.objPartialMatch; // matches in last name
|
||||
|
||||
const objName = objNames[match[1]][2];
|
||||
const title = titles[match[0]];
|
||||
|
||||
// If more than one term searched for, we require other words to be
|
||||
// found in the name/title/description
|
||||
const otherTerms = new Set(objectTerms);
|
||||
otherTerms.delete(object);
|
||||
if (otherTerms.size > 0) {
|
||||
const haystack = `${prefix} ${name} ${objName} ${title}`.toLowerCase();
|
||||
if (
|
||||
[...otherTerms].some((otherTerm) => haystack.indexOf(otherTerm) < 0)
|
||||
)
|
||||
return;
|
||||
}
|
||||
|
||||
let anchor = match[3];
|
||||
if (anchor === "") anchor = fullname;
|
||||
else if (anchor === "-") anchor = objNames[match[1]][1] + "-" + fullname;
|
||||
|
||||
const descr = objName + _(", in ") + title;
|
||||
|
||||
// add custom score for some objects according to scorer
|
||||
if (Scorer.objPrio.hasOwnProperty(match[2]))
|
||||
score += Scorer.objPrio[match[2]];
|
||||
else score += Scorer.objPrioDefault;
|
||||
|
||||
results.push([
|
||||
docNames[match[0]],
|
||||
fullname,
|
||||
"#" + anchor,
|
||||
descr,
|
||||
score,
|
||||
filenames[match[0]],
|
||||
]);
|
||||
};
|
||||
Object.keys(objects).forEach((prefix) =>
|
||||
objects[prefix].forEach((array) =>
|
||||
objectSearchCallback(prefix, array)
|
||||
)
|
||||
);
|
||||
return results;
|
||||
},
|
||||
|
||||
/**
|
||||
* search for full-text terms in the index
|
||||
*/
|
||||
performTermsSearch: (searchTerms, excludedTerms) => {
|
||||
// prepare search
|
||||
const terms = Search._index.terms;
|
||||
const titleTerms = Search._index.titleterms;
|
||||
const filenames = Search._index.filenames;
|
||||
const docNames = Search._index.docnames;
|
||||
const titles = Search._index.titles;
|
||||
|
||||
const scoreMap = new Map();
|
||||
const fileMap = new Map();
|
||||
|
||||
// perform the search on the required terms
|
||||
searchTerms.forEach((word) => {
|
||||
const files = [];
|
||||
const arr = [
|
||||
{ files: terms[word], score: Scorer.term },
|
||||
{ files: titleTerms[word], score: Scorer.title },
|
||||
];
|
||||
// add support for partial matches
|
||||
if (word.length > 2) {
|
||||
const escapedWord = _escapeRegExp(word);
|
||||
Object.keys(terms).forEach((term) => {
|
||||
if (term.match(escapedWord) && !terms[word])
|
||||
arr.push({ files: terms[term], score: Scorer.partialTerm });
|
||||
});
|
||||
Object.keys(titleTerms).forEach((term) => {
|
||||
if (term.match(escapedWord) && !titleTerms[word])
|
||||
arr.push({ files: titleTerms[word], score: Scorer.partialTitle });
|
||||
});
|
||||
}
|
||||
|
||||
// no match but word was a required one
|
||||
if (arr.every((record) => record.files === undefined)) return;
|
||||
|
||||
// found search word in contents
|
||||
arr.forEach((record) => {
|
||||
if (record.files === undefined) return;
|
||||
|
||||
let recordFiles = record.files;
|
||||
if (recordFiles.length === undefined) recordFiles = [recordFiles];
|
||||
files.push(...recordFiles);
|
||||
|
||||
// set score for the word in each file
|
||||
recordFiles.forEach((file) => {
|
||||
if (!scoreMap.has(file)) scoreMap.set(file, {});
|
||||
scoreMap.get(file)[word] = record.score;
|
||||
});
|
||||
});
|
||||
|
||||
// create the mapping
|
||||
files.forEach((file) => {
|
||||
if (fileMap.has(file) && fileMap.get(file).indexOf(word) === -1)
|
||||
fileMap.get(file).push(word);
|
||||
else fileMap.set(file, [word]);
|
||||
});
|
||||
});
|
||||
|
||||
// now check if the files don't contain excluded terms
|
||||
const results = [];
|
||||
for (const [file, wordList] of fileMap) {
|
||||
// check if all requirements are matched
|
||||
|
||||
// as search terms with length < 3 are discarded
|
||||
const filteredTermCount = [...searchTerms].filter(
|
||||
(term) => term.length > 2
|
||||
).length;
|
||||
if (
|
||||
wordList.length !== searchTerms.size &&
|
||||
wordList.length !== filteredTermCount
|
||||
)
|
||||
continue;
|
||||
|
||||
// ensure that none of the excluded terms is in the search result
|
||||
if (
|
||||
[...excludedTerms].some(
|
||||
(term) =>
|
||||
terms[term] === file ||
|
||||
titleTerms[term] === file ||
|
||||
(terms[term] || []).includes(file) ||
|
||||
(titleTerms[term] || []).includes(file)
|
||||
)
|
||||
)
|
||||
break;
|
||||
|
||||
// select one (max) score for the file.
|
||||
const score = Math.max(...wordList.map((w) => scoreMap.get(file)[w]));
|
||||
// add result to the result list
|
||||
results.push([
|
||||
docNames[file],
|
||||
titles[file],
|
||||
"",
|
||||
null,
|
||||
score,
|
||||
filenames[file],
|
||||
]);
|
||||
}
|
||||
return results;
|
||||
},
|
||||
|
||||
/**
|
||||
* helper function to return a node containing the
|
||||
* search summary for a given text. keywords is a list
|
||||
* of stemmed words.
|
||||
*/
|
||||
makeSearchSummary: (htmlText, keywords) => {
|
||||
const text = Search.htmlToText(htmlText);
|
||||
if (text === "") return null;
|
||||
|
||||
const textLower = text.toLowerCase();
|
||||
const actualStartPosition = [...keywords]
|
||||
.map((k) => textLower.indexOf(k.toLowerCase()))
|
||||
.filter((i) => i > -1)
|
||||
.slice(-1)[0];
|
||||
const startWithContext = Math.max(actualStartPosition - 120, 0);
|
||||
|
||||
const top = startWithContext === 0 ? "" : "...";
|
||||
const tail = startWithContext + 240 < text.length ? "..." : "";
|
||||
|
||||
let summary = document.createElement("p");
|
||||
summary.classList.add("context");
|
||||
summary.textContent = top + text.substr(startWithContext, 240).trim() + tail;
|
||||
|
||||
return summary;
|
||||
},
|
||||
};
|
||||
|
||||
_ready(Search.init);
|
||||
@@ -0,0 +1,144 @@
|
||||
/* Highlighting utilities for Sphinx HTML documentation. */
|
||||
"use strict";
|
||||
|
||||
const SPHINX_HIGHLIGHT_ENABLED = true
|
||||
|
||||
/**
|
||||
* highlight a given string on a node by wrapping it in
|
||||
* span elements with the given class name.
|
||||
*/
|
||||
const _highlight = (node, addItems, text, className) => {
|
||||
if (node.nodeType === Node.TEXT_NODE) {
|
||||
const val = node.nodeValue;
|
||||
const parent = node.parentNode;
|
||||
const pos = val.toLowerCase().indexOf(text);
|
||||
if (
|
||||
pos >= 0 &&
|
||||
!parent.classList.contains(className) &&
|
||||
!parent.classList.contains("nohighlight")
|
||||
) {
|
||||
let span;
|
||||
|
||||
const closestNode = parent.closest("body, svg, foreignObject");
|
||||
const isInSVG = closestNode && closestNode.matches("svg");
|
||||
if (isInSVG) {
|
||||
span = document.createElementNS("http://www.w3.org/2000/svg", "tspan");
|
||||
} else {
|
||||
span = document.createElement("span");
|
||||
span.classList.add(className);
|
||||
}
|
||||
|
||||
span.appendChild(document.createTextNode(val.substr(pos, text.length)));
|
||||
parent.insertBefore(
|
||||
span,
|
||||
parent.insertBefore(
|
||||
document.createTextNode(val.substr(pos + text.length)),
|
||||
node.nextSibling
|
||||
)
|
||||
);
|
||||
node.nodeValue = val.substr(0, pos);
|
||||
|
||||
if (isInSVG) {
|
||||
const rect = document.createElementNS(
|
||||
"http://www.w3.org/2000/svg",
|
||||
"rect"
|
||||
);
|
||||
const bbox = parent.getBBox();
|
||||
rect.x.baseVal.value = bbox.x;
|
||||
rect.y.baseVal.value = bbox.y;
|
||||
rect.width.baseVal.value = bbox.width;
|
||||
rect.height.baseVal.value = bbox.height;
|
||||
rect.setAttribute("class", className);
|
||||
addItems.push({ parent: parent, target: rect });
|
||||
}
|
||||
}
|
||||
} else if (node.matches && !node.matches("button, select, textarea")) {
|
||||
node.childNodes.forEach((el) => _highlight(el, addItems, text, className));
|
||||
}
|
||||
};
|
||||
const _highlightText = (thisNode, text, className) => {
|
||||
let addItems = [];
|
||||
_highlight(thisNode, addItems, text, className);
|
||||
addItems.forEach((obj) =>
|
||||
obj.parent.insertAdjacentElement("beforebegin", obj.target)
|
||||
);
|
||||
};
|
||||
|
||||
/**
|
||||
* Small JavaScript module for the documentation.
|
||||
*/
|
||||
const SphinxHighlight = {
|
||||
|
||||
/**
|
||||
* highlight the search words provided in localstorage in the text
|
||||
*/
|
||||
highlightSearchWords: () => {
|
||||
if (!SPHINX_HIGHLIGHT_ENABLED) return; // bail if no highlight
|
||||
|
||||
// get and clear terms from localstorage
|
||||
const url = new URL(window.location);
|
||||
const highlight =
|
||||
localStorage.getItem("sphinx_highlight_terms")
|
||||
|| url.searchParams.get("highlight")
|
||||
|| "";
|
||||
localStorage.removeItem("sphinx_highlight_terms")
|
||||
url.searchParams.delete("highlight");
|
||||
window.history.replaceState({}, "", url);
|
||||
|
||||
// get individual terms from highlight string
|
||||
const terms = highlight.toLowerCase().split(/\s+/).filter(x => x);
|
||||
if (terms.length === 0) return; // nothing to do
|
||||
|
||||
// There should never be more than one element matching "div.body"
|
||||
const divBody = document.querySelectorAll("div.body");
|
||||
const body = divBody.length ? divBody[0] : document.querySelector("body");
|
||||
window.setTimeout(() => {
|
||||
terms.forEach((term) => _highlightText(body, term, "highlighted"));
|
||||
}, 10);
|
||||
|
||||
const searchBox = document.getElementById("searchbox");
|
||||
if (searchBox === null) return;
|
||||
searchBox.appendChild(
|
||||
document
|
||||
.createRange()
|
||||
.createContextualFragment(
|
||||
'<p class="highlight-link">' +
|
||||
'<a href="javascript:SphinxHighlight.hideSearchWords()">' +
|
||||
_("Hide Search Matches") +
|
||||
"</a></p>"
|
||||
)
|
||||
);
|
||||
},
|
||||
|
||||
/**
|
||||
* helper function to hide the search marks again
|
||||
*/
|
||||
hideSearchWords: () => {
|
||||
document
|
||||
.querySelectorAll("#searchbox .highlight-link")
|
||||
.forEach((el) => el.remove());
|
||||
document
|
||||
.querySelectorAll("span.highlighted")
|
||||
.forEach((el) => el.classList.remove("highlighted"));
|
||||
localStorage.removeItem("sphinx_highlight_terms")
|
||||
},
|
||||
|
||||
initEscapeListener: () => {
|
||||
// only install a listener if it is really needed
|
||||
if (!DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS) return;
|
||||
|
||||
document.addEventListener("keydown", (event) => {
|
||||
// bail for input elements
|
||||
if (BLACKLISTED_KEY_CONTROL_ELEMENTS.has(document.activeElement.tagName)) return;
|
||||
// bail with special keys
|
||||
if (event.shiftKey || event.altKey || event.ctrlKey || event.metaKey) return;
|
||||
if (DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS && (event.key === "Escape")) {
|
||||
SphinxHighlight.hideSearchWords();
|
||||
event.preventDefault();
|
||||
}
|
||||
});
|
||||
},
|
||||
};
|
||||
|
||||
_ready(SphinxHighlight.highlightSearchWords);
|
||||
_ready(SphinxHighlight.initEscapeListener);
|
||||
2042
linx64/mpi/openmpi/share/doc/prrte/html/_static/underscore-1.13.1.js
Normal file
2042
linx64/mpi/openmpi/share/doc/prrte/html/_static/underscore-1.13.1.js
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
243
linx64/mpi/openmpi/share/doc/prrte/html/configuration.html
Normal file
243
linx64/mpi/openmpi/share/doc/prrte/html/configuration.html
Normal file
@@ -0,0 +1,243 @@
|
||||
<!DOCTYPE html>
|
||||
<html class="writer-html5" lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>5. PRRTE DVM Configuration — PMIx Reference Run Time Environment 3.0.8 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/theme.css" />
|
||||
|
||||
|
||||
<!--[if lt IE 9]>
|
||||
<script src="_static/js/html5shiv.min.js"></script>
|
||||
<![endif]-->
|
||||
|
||||
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
|
||||
<script src="_static/jquery.js"></script>
|
||||
<script src="_static/underscore.js"></script>
|
||||
<script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
|
||||
<script src="_static/doctools.js"></script>
|
||||
<script src="_static/sphinx_highlight.js"></script>
|
||||
<script src="_static/js/theme.js"></script>
|
||||
<link rel="index" title="Index" href="genindex.html" />
|
||||
<link rel="search" title="Search" href="search.html" />
|
||||
<link rel="next" title="6. How Things Work" href="how-things-work/index.html" />
|
||||
<link rel="prev" title="4. Installing PRRTE" href="install.html" />
|
||||
</head>
|
||||
|
||||
<body class="wy-body-for-nav">
|
||||
<div class="wy-grid-for-nav">
|
||||
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
|
||||
<div class="wy-side-scroll">
|
||||
<div class="wy-side-nav-search" >
|
||||
|
||||
|
||||
|
||||
<a href="index.html" class="icon icon-home">
|
||||
PMIx Reference Run Time Environment
|
||||
</a>
|
||||
<div role="search">
|
||||
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
|
||||
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
|
||||
<input type="hidden" name="check_keywords" value="yes" />
|
||||
<input type="hidden" name="area" value="default" />
|
||||
</form>
|
||||
</div>
|
||||
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
|
||||
<ul class="current">
|
||||
<li class="toctree-l1"><a class="reference internal" href="quickstart.html">1. Quick start</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="release-notes.html">2. Release Notes</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="getting-help.html">3. Getting help</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="install.html">4. Installing PRRTE</a></li>
|
||||
<li class="toctree-l1 current"><a class="current reference internal" href="#">5. PRRTE DVM Configuration</a><ul>
|
||||
<li class="toctree-l2"><a class="reference internal" href="#configuration-options">5.1. Configuration Options</a><ul>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#bootstrap-options">5.1.1. Bootstrap Options</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#operational-options">5.1.2. Operational Options</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#logging-options">5.1.3. Logging Options</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="#configurator-tool">5.2. Configurator Tool</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="how-things-work/index.html">6. How Things Work</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="hosts/index.html">7. Host specification</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="placement/index.html">8. Process placement</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="notifications.html">9. Notifications</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="session-directory.html">10. Session directory</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="developers/index.html">11. Developer’s guide</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="contributing.html">12. Contributing to PRRTE</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="license.html">13. License</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="man/index.html">14. PRRTE manual pages</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="versions.html">15. Software Version Numbers</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="news/index.html">16. News</a></li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
|
||||
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
||||
<a href="index.html">PMIx Reference Run Time Environment</a>
|
||||
</nav>
|
||||
|
||||
<div class="wy-nav-content">
|
||||
<div class="rst-content">
|
||||
<div role="navigation" aria-label="Page navigation">
|
||||
<ul class="wy-breadcrumbs">
|
||||
<li><a href="index.html" class="icon icon-home" aria-label="Home"></a></li>
|
||||
<li class="breadcrumb-item active"><span class="section-number">5. </span>PRRTE DVM Configuration</li>
|
||||
<li class="wy-breadcrumbs-aside">
|
||||
<a href="_sources/configuration.rst.txt" rel="nofollow"> View page source</a>
|
||||
</li>
|
||||
</ul>
|
||||
<hr/>
|
||||
</div>
|
||||
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||||
<div itemprop="articleBody">
|
||||
|
||||
<style>
|
||||
.wy-table-responsive table td,.wy-table-responsive table th{white-space:normal}
|
||||
</style><div class="section" id="prrte-dvm-configuration">
|
||||
<h1><span class="section-number">5. </span>PRRTE DVM Configuration<a class="headerlink" href="#prrte-dvm-configuration" title="Permalink to this heading"></a></h1>
|
||||
<p>The PMIx Reference RunTime Environment (PRRTE) can be instantiated
|
||||
as a Distributed Virtual Machine (DVM) in two ways. First, the
|
||||
<code class="docutils literal notranslate"><span class="pre">prte</span></code> command can be executed at a shell prompt. This will discover
|
||||
the available resources (either from hostfile or as allocated by a
|
||||
resource manager) and start a PRRTE shepherd daemon (<a class="reference internal" href="man/man1/prted.1.html#man1-prted"><span class="std std-ref">prted(1)</span></a>) on each of the indicated nodes.</p>
|
||||
<p>The other method, however, is to bootstrap the DVM at time of cluster
|
||||
startup. Bootstrapping PRRTE allows the DVM to serve as the system-level
|
||||
runtime, providing a full-service PMIx environment to sessions under
|
||||
its purview. Integration to an appropriately enabled scheduler can
|
||||
provide a full workload managed environment for users.</p>
|
||||
<p>Establishing the DVM using the bootstrap method requires that a PRRTE
|
||||
configuration file be created and made available on every node of the
|
||||
cluster at node startup. The configuration file provides necessary
|
||||
information for establishing the communication infrastructure between
|
||||
the DVM controller and the compute node daemons. It also provides a
|
||||
means for easily defining DVM behavior for options such as logging,
|
||||
system-level prolog and epilog scripts for each session, and other
|
||||
PRRTE features.</p>
|
||||
<p>The configuration file can be manually created or can be created using
|
||||
the <a class="reference external" href="configurator.html">PRRTE configuration tool</a>.
|
||||
Manual creation can best be done
|
||||
by editing the example configuration file (<code class="docutils literal notranslate"><span class="pre"><source-location>/src/etc/prte.conf</span></code>).
|
||||
This file contains all the supported configuration options, with all
|
||||
entries commented out. Simply uncomment the options of interest and
|
||||
set them to appropriate values. The file will be installed into the
|
||||
final <code class="docutils literal notranslate"><span class="pre"><install-location>/etc</span></code> when <code class="docutils literal notranslate"><span class="pre">make</span> <span class="pre">install</span></code> is performed.</p>
|
||||
<div class="section" id="configuration-options">
|
||||
<h2><span class="section-number">5.1. </span>Configuration Options<a class="headerlink" href="#configuration-options" title="Permalink to this heading"></a></h2>
|
||||
<p>The following options are supported by PRRTE v3.0.8.
|
||||
While we make every effort to maintain compatibility with prior versions,
|
||||
we recommend that you check options when installing new versions to
|
||||
see what may have changed and/or been added. We also recommend that
|
||||
you use the <a class="reference external" href="configurator.html">PRRTE DVM configurator</a> for the
|
||||
version you are using to ensure that it is fully compatible.</p>
|
||||
<div class="section" id="bootstrap-options">
|
||||
<h3><span class="section-number">5.1.1. </span>Bootstrap Options<a class="headerlink" href="#bootstrap-options" title="Permalink to this heading"></a></h3>
|
||||
<p><code class="docutils literal notranslate"><span class="pre">ClusterName=<string></span> <span class="pre">(default:</span> <span class="pre">"cluster")</span></code> is the name of the cluster upon
|
||||
which the DVM is executing. This is used by PRRTE to form the namespace
|
||||
for the DVM daemons, which is taken as <code class="docutils literal notranslate"><span class="pre"><clustername>-prte-dvm</span></code>.
|
||||
Using different names for each of your clusters is important if you use a single
|
||||
database to record information from multiple PRRTE-managed clusters.</p>
|
||||
<p><code class="docutils literal notranslate"><span class="pre">DVMControllerHost=<hostname></span></code> is the host upon which the DVM controller
|
||||
will be executing. The <code class="docutils literal notranslate"><span class="pre">prted</span></code> that finds itself booting onto this host
|
||||
will declare itself to be the system controller and will initialize itself
|
||||
accordingly.</p>
|
||||
<p><code class="docutils literal notranslate"><span class="pre">DVMControllerPort=<number></span> <span class="pre">(default:</span> <span class="pre">7817)</span></code> is the TCP port upon which the
|
||||
DVM controller will be listening for connections from its <code class="docutils literal notranslate"><span class="pre">prted</span></code> daemons
|
||||
on the remaining system nodes.</p>
|
||||
<p><code class="docutils literal notranslate"><span class="pre">PRTEDPort=<number</span> <span class="pre">(default:</span> <span class="pre">7818)</span></code> is the TCP port upon which each
|
||||
<code class="docutils literal notranslate"><span class="pre">prted</span></code> daemon will be listening for connections from its peer daemons
|
||||
on the other system nodes.</p>
|
||||
<p><code class="docutils literal notranslate"><span class="pre">DVMNodes=<regex</span> <span class="pre">of</span> <span class="pre">DVM</span> <span class="pre">nodes></span> <span class="pre">(default:</span> <span class="pre">none)</span></code> provides a regular expression
|
||||
identifying the nodes that upon which user applications can run. IP addresses can
|
||||
be provided in place of hostnames if desired.The regular expression can consist of
|
||||
a simple comma-delimited list of hostnames, or a comma-delimited list of hostname
|
||||
ranges (e.g., “linux0,linux[2-10]”), or a PMIx “native” regular expression.</p>
|
||||
</div>
|
||||
<div class="section" id="operational-options">
|
||||
<h3><span class="section-number">5.1.2. </span>Operational Options<a class="headerlink" href="#operational-options" title="Permalink to this heading"></a></h3>
|
||||
<p><code class="docutils literal notranslate"><span class="pre">DVMTempDir=<path></span> <span class="pre">(default:</span> <span class="pre">/tmp)</span></code> is the temporary directory that the
|
||||
DVM daemons and controller are to use as the base for their session directories.
|
||||
Working files/directories for the DVM will be placed under this location.</p>
|
||||
<p><code class="docutils literal notranslate"><span class="pre">SessionTmpDir=<path></span> <span class="pre">(default:</span> <span class="pre">DVMTempDir)</span></code> is the temporary directory that
|
||||
the DVM daemons are to use as the base for session directories for all
|
||||
application sessions. Working files for each session will be placed under
|
||||
this location, separated out into a directory for each session.</p>
|
||||
</div>
|
||||
<div class="section" id="logging-options">
|
||||
<h3><span class="section-number">5.1.3. </span>Logging Options<a class="headerlink" href="#logging-options" title="Permalink to this heading"></a></h3>
|
||||
<p><code class="docutils literal notranslate"><span class="pre">ControllerLogJobState=<true|false></span> <span class="pre">(default:</span> <span class="pre">false)</span></code> directs the DVM
|
||||
controller to log each DVM-launched job state transition. Log entry includes
|
||||
the namespace of the job, the state to which it is transitioning, and the
|
||||
date/time stamp when the transition was ordered.</p>
|
||||
<p><code class="docutils literal notranslate"><span class="pre">ControllerLogProcState=<true|false></span> <span class="pre">(default:</span> <span class="pre">false)</span></code> directs the DVM
|
||||
controller to log each process (in a DVM-launched job) state transition.
|
||||
Log entry includes the namespace and rank of the process, the state to
|
||||
which it is transitioning, and the date/time stamp when the transition was
|
||||
ordered.</p>
|
||||
<p><code class="docutils literal notranslate"><span class="pre">ControllerLogPath=<path></span> <span class="pre">(default:</span> <span class="pre">DVMTempDir)</span></code> is the path to where the logs are to
|
||||
be written. If a relative path is provided,
|
||||
then the directory will be created under the <code class="docutils literal notranslate"><span class="pre">DVMTempDir</span></code> location. The
|
||||
path defaults to the specified SessionTmpDir in the absence of any input
|
||||
to this field. The log filename is formatted as <code class="docutils literal notranslate"><span class="pre">prtectrlr-<hostname>-log<</span></code>.</p>
|
||||
<p><code class="docutils literal notranslate"><span class="pre">PRTEDLogJobState=<true|false></span> <span class="pre">(default:</span> <span class="pre">false)</span></code> directs each <code class="docutils literal notranslate"><span class="pre">prted</span></code>
|
||||
in the DVM to log each DVM-launched job state transition. Log entry includes
|
||||
the namespace of the job, the state to which it is transitioning, and the
|
||||
date/time stamp when the transition was ordered.</p>
|
||||
<p><code class="docutils literal notranslate"><span class="pre">PRTEDLogProcState=<true|false></span> <span class="pre">(default:</span> <span class="pre">false)</span></code> directs each <code class="docutils literal notranslate"><span class="pre">prted</span></code>
|
||||
in the DVM to log each process (in a DVM-launched job) state transition.
|
||||
Log entry includes the namespace and rank of the process, the state to
|
||||
which it is transitioning, and the date/time stamp when the transition was
|
||||
ordered.</p>
|
||||
<p><code class="docutils literal notranslate"><span class="pre">PRRTEDLogPath=<path></span> <span class="pre">(default:</span> <span class="pre">DVMTempDir)</span></code> is the path to where the logs are to
|
||||
be written. If a relative path is provided,
|
||||
then the directory will be created under the <code class="docutils literal notranslate"><span class="pre">DVMTempDir</span></code> location. The
|
||||
path defaults to the specified SessionTmpDir in the absence of any input
|
||||
to this field. The log filename is formatted as <code class="docutils literal notranslate"><span class="pre">prted-<hostname>-log<</span></code>.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="section" id="configurator-tool">
|
||||
<h2><span class="section-number">5.2. </span>Configurator Tool<a class="headerlink" href="#configurator-tool" title="Permalink to this heading"></a></h2>
|
||||
<p>The <a class="reference external" href="configurator.html">PRRTE configuration tool</a> contains all the supported options in an
|
||||
easy-to-use form. Once you have filled out the desired entries, the
|
||||
“submit” button will show the resulting configuration file on the
|
||||
browser window — a simple “copy/paste” operation into your target
|
||||
configuration file will yield the final result.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
|
||||
<a href="install.html" class="btn btn-neutral float-left" title="4. Installing PRRTE" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
|
||||
<a href="how-things-work/index.html" class="btn btn-neutral float-right" title="6. How Things Work" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
|
||||
</div>
|
||||
|
||||
<hr/>
|
||||
|
||||
<div role="contentinfo">
|
||||
<p>© Copyright 2003-2025, The PRRTE Community.</p>
|
||||
</div>
|
||||
|
||||
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
|
||||
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
|
||||
provided by <a href="https://readthedocs.org">Read the Docs</a>.
|
||||
|
||||
|
||||
</footer>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
<script>
|
||||
jQuery(function () {
|
||||
SphinxRtdTheme.Navigation.enable(true);
|
||||
});
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
424
linx64/mpi/openmpi/share/doc/prrte/html/configurator.html
Normal file
424
linx64/mpi/openmpi/share/doc/prrte/html/configurator.html
Normal file
@@ -0,0 +1,424 @@
|
||||
<!DOCTYPE html>
|
||||
<html class="writer-html5" lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>PRRTE DVM Configuration Tool — PMIx Reference Run Time Environment 3.0.8 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/theme.css" />
|
||||
|
||||
|
||||
<!--[if lt IE 9]>
|
||||
<script src="_static/js/html5shiv.min.js"></script>
|
||||
<![endif]-->
|
||||
|
||||
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
|
||||
<script src="_static/jquery.js"></script>
|
||||
<script src="_static/underscore.js"></script>
|
||||
<script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
|
||||
<script src="_static/doctools.js"></script>
|
||||
<script src="_static/sphinx_highlight.js"></script>
|
||||
<script src="_static/js/theme.js"></script>
|
||||
<link rel="index" title="Index" href="genindex.html" />
|
||||
<link rel="search" title="Search" href="search.html" />
|
||||
</head>
|
||||
|
||||
<body class="wy-body-for-nav">
|
||||
<div class="wy-grid-for-nav">
|
||||
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
|
||||
<div class="wy-side-scroll">
|
||||
<div class="wy-side-nav-search" >
|
||||
|
||||
|
||||
|
||||
<a href="index.html" class="icon icon-home">
|
||||
PMIx Reference Run Time Environment
|
||||
</a>
|
||||
<div role="search">
|
||||
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
|
||||
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
|
||||
<input type="hidden" name="check_keywords" value="yes" />
|
||||
<input type="hidden" name="area" value="default" />
|
||||
</form>
|
||||
</div>
|
||||
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="quickstart.html">1. Quick start</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="release-notes.html">2. Release Notes</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="getting-help.html">3. Getting help</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="install.html">4. Installing PRRTE</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="configuration.html">5. PRRTE DVM Configuration</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="how-things-work/index.html">6. How Things Work</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="hosts/index.html">7. Host specification</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="placement/index.html">8. Process placement</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="notifications.html">9. Notifications</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="session-directory.html">10. Session directory</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="developers/index.html">11. Developer’s guide</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="contributing.html">12. Contributing to PRRTE</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="license.html">13. License</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="man/index.html">14. PRRTE manual pages</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="versions.html">15. Software Version Numbers</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="news/index.html">16. News</a></li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
|
||||
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
||||
<a href="index.html">PMIx Reference Run Time Environment</a>
|
||||
</nav>
|
||||
|
||||
<div class="wy-nav-content">
|
||||
<div class="rst-content">
|
||||
<div role="navigation" aria-label="Page navigation">
|
||||
<ul class="wy-breadcrumbs">
|
||||
<li><a href="index.html" class="icon icon-home" aria-label="Home"></a></li>
|
||||
<li class="breadcrumb-item active">PRRTE DVM Configuration Tool</li>
|
||||
<li class="wy-breadcrumbs-aside">
|
||||
</li>
|
||||
</ul>
|
||||
<hr/>
|
||||
</div>
|
||||
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||||
<div itemprop="articleBody">
|
||||
|
||||
<!--
|
||||
Copyright (C) 2023 Nanook Consulting. All rights reserved
|
||||
|
||||
This file is part of the PMIx Reference RunTime Environment (PRRTE), an
|
||||
RTE that provides full PMIx support. For details, see the repository
|
||||
at <https://github.com/openpmix/prrte/>.
|
||||
|
||||
PRRTE is free software distributed under the 3-clause BSD license. It
|
||||
is distributed in the hope that it will be useful, but WITHOUT ANY
|
||||
WARRANTY or implied warranty of MERCHANTABILITY or FITNESS
|
||||
FOR A PARTICULAR PURPOSE. See the full license statement at
|
||||
<https://docs.prrte.org/en/latest/license.html> for details.
|
||||
|
||||
-->
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>PRRTE DVM Configuration Tool</title>
|
||||
<meta name="description" content="PRRTE DVM Configuration Tool: An easy way to create a PRRTE configuration file" />
|
||||
<style>
|
||||
.onoffswitch {
|
||||
position: relative; width: 90px;
|
||||
-webkit-user-select:none; -moz-user-select:none; -ms-user-select: none;
|
||||
}
|
||||
.onoffswitch-checkbox {
|
||||
display: none;
|
||||
}
|
||||
.onoffswitch-label {
|
||||
display: block; overflow: hidden; cursor: pointer;
|
||||
border: 2px solid #999999; border-radius: 20px;
|
||||
}
|
||||
.onoffswitch-inner {
|
||||
display: block; width: 200%; margin-left: -100%;
|
||||
transition: margin 0.3s ease-in 0s;
|
||||
}
|
||||
.onoffswitch-inner:before, .onoffswitch-inner:after {
|
||||
display: block; float: left; width: 50%; height: 30px; padding: 0; line-height: 30px;
|
||||
font-size: 14px; color: white; font-family: Trebuchet, Arial, sans-serif; font-weight: bold;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
.onoffswitch-inner:before {
|
||||
content: "ON";
|
||||
padding-left: 10px;
|
||||
background-color: #34A7C1; color: #FFFFFF;
|
||||
}
|
||||
.onoffswitch-inner:after {
|
||||
content: "OFF";
|
||||
padding-right: 10px;
|
||||
background-color: #EEEEEE; color: #999999;
|
||||
text-align: right;
|
||||
}
|
||||
.onoffswitch-switch {
|
||||
display: block; width: 18px; margin: 6px;
|
||||
background: #FFFFFF;
|
||||
position: absolute; top: 0; bottom: 0;
|
||||
right: 56px;
|
||||
border: 2px solid #999999; border-radius: 20px;
|
||||
transition: all 0.3s ease-in 0s;
|
||||
}
|
||||
.onoffswitch-checkbox:checked + .onoffswitch-label .onoffswitch-inner {
|
||||
margin-left: 0;
|
||||
}
|
||||
.onoffswitch-checkbox:checked + .onoffswitch-label .onoffswitch-switch {
|
||||
right: 0px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<SCRIPT type="text/javascript">
|
||||
<!--
|
||||
function get_field(name,form)
|
||||
{
|
||||
if (form.value) {
|
||||
return name + "=" + form.value
|
||||
}
|
||||
return "#" + name + "="
|
||||
}
|
||||
|
||||
function get_checkbox_value(form)
|
||||
{
|
||||
if (form.checked) {
|
||||
return "ON"
|
||||
} else {
|
||||
return "OFF"
|
||||
}
|
||||
}
|
||||
|
||||
function displayfile()
|
||||
{
|
||||
var printme = "# prte.conf file generated by prte-configurator.html.<br>" +
|
||||
"# Put this file on all nodes of your cluster.<br>" +
|
||||
"# See the prte.conf documentation for more information.<br>" +
|
||||
"#<br>" +
|
||||
"# Bootstrap Options<br>" +
|
||||
get_field("ClusterName",document.config.cluster_name) + "<br>" +
|
||||
get_field("DVMControllerHost",document.config.controller_host) + "<br>" +
|
||||
get_field("DVMControllerPort",document.config.controller_port) + "<br>" +
|
||||
get_field("PRTEDPort",document.config.prted_port) + "<br>" +
|
||||
get_field("DVMNodes",document.config.dvm_nodes) + "<br>" +
|
||||
"# <br>" +
|
||||
"# Operational Options<br>" +
|
||||
get_field("DVMTempDir",document.config.dvm_tmpdir) + "<br>" +
|
||||
get_field("SessionTmpDir",document.config.session_tmpdir) + "<br>" +
|
||||
"# <br>" +
|
||||
"# Logging Options<br>" +
|
||||
"ControllerLogJobState=" + get_checkbox_value(document.config.ctrlr_logjobstate) + "<br>" +
|
||||
"ControllerLogProcState=" + get_checkbox_value(document.config.ctrlr_logprocstate) + "<br>" +
|
||||
get_field("ControllerLogPath",document.config.ctrlr_logpath) + "<br>" +
|
||||
"PRTEDLogJobState=" + get_checkbox_value(document.config.prted_logjobstate) + "<br>" +
|
||||
"PRTEDLogProcState=" + get_checkbox_value(document.config.prted_logprocstate) + "<br>" +
|
||||
get_field("PRTEDLogPath",document.config.prted_logpath) + "<br>"
|
||||
|
||||
document.open();
|
||||
document.write(printme);
|
||||
document.close();
|
||||
}
|
||||
|
||||
-->
|
||||
</SCRIPT>
|
||||
<!-- <div style='visibility:hidden;text-align:left;background:#ccc;border:1px solid black;position: absolute;left:100;z-index:1;padding:5;' id='out_box'></div> -->
|
||||
<form name=config>
|
||||
<H1>PRRTE Version v3.0.8 DVM Configuration Tool</H1>
|
||||
<P>This configuration tool is intended to help system administrators create
|
||||
a PRRTE configuration file that sets important configuration parameters.</P>
|
||||
|
||||
<P>While every attempt is made to maintain compatibility of the PRRTE
|
||||
configuration tool and options across versions, we recommend that the
|
||||
configuration file be built using the tool distributed with the version
|
||||
being installed on your cluster. Some parameters will be set to default
|
||||
values, but you can manually edit the resulting <I>prte.conf</I> file as desired
|
||||
for greater flexibility. See the PRRTE documentation at <A HREF="https://docs.prrte.org">https://docs.prrte.org</A>,
|
||||
or your locally generated docs (if available), for more
|
||||
details about the configuration parameters for this version.</P>
|
||||
|
||||
<P>Note that while PRRTE daemons create log files and other files as needed,
|
||||
they treat the lack of parent directories (e.g., the specified "DVMTempDir")
|
||||
as a fatal error. This prevents the daemons from running if critical file
|
||||
systems are not mounted.</P>
|
||||
|
||||
<P>After you have filled in the fields of interest, use the
|
||||
"Submit" button on the bottom of the page to display the resulting
|
||||
<I>prte.conf</I> file. It will appear on your web browser. Save the file
|
||||
in text format as <I>prte.conf</I> for use by the DVM.
|
||||
|
||||
<P><B>NOTE:</B> Hostname values should not be specified as fully qualified domain
|
||||
names (e.g. use <I>foo</I> rather than <I>foo.bar.com</I>).
|
||||
</P>
|
||||
|
||||
<P><B>NOTE:</B> This configuration file must be installed as <I>prte.conf</I> in the
|
||||
<I>etc</I> directory under the PRRTE installation location on all nodes in your cluster.
|
||||
For example, if PRRTE was installed in <I>/prrte</I>, then the configuration file
|
||||
must be stored as <I>/prrte/etc/prte.conf</I> so that all prted daemons can find it.
|
||||
</P>
|
||||
|
||||
<H2>Supported Options</H2>
|
||||
The following options are supported by PRRTE v3.0.8.
|
||||
|
||||
<H3>Bootstrap Options</H3>
|
||||
|
||||
<b>ClusterName</b>: <input type="text" name="cluster_name" value="cluster">
|
||||
<BR>
|
||||
The name of the cluster upon which the DVM is executing. This is used by PRRTE
|
||||
to form the namespace for the DVM daemons, which is taken as <I><clustername>-prte-dvm</I>.
|
||||
Using different names for each of your clusters is important if you use a single
|
||||
database to record information from multiple PRRTE-managed clusters.
|
||||
<BR>
|
||||
<BR>
|
||||
|
||||
<b>DVMControllerHost</b>: <input type="text" name="controller_host" value="host0">
|
||||
<BR>
|
||||
The host upon which the DVM controller will be executing. The <I>prted</I> that
|
||||
finds itself booting onto this host will declare itself to be the system controller
|
||||
and will initialize itself accordingly.
|
||||
<BR>
|
||||
<BR>
|
||||
|
||||
<b>DVMControllerPort</b>: <input type="text" name="controller_port" value="7817">
|
||||
<BR>
|
||||
The TCP port upon which the
|
||||
DVM controller will be listening for connections from its <I>prted</I> daemons
|
||||
on the remaining system nodes.
|
||||
<BR>
|
||||
<BR>
|
||||
|
||||
<b>PRTEDPort</b>: <input type="text" name="prted_port" value="7818">
|
||||
<BR>
|
||||
The TCP port upon which each
|
||||
<I>prted</I> daemon will be listening for connections from its peer daemons
|
||||
on the other system nodes.
|
||||
<BR>
|
||||
<BR>
|
||||
|
||||
<b>DVMNodes</b>: <input type="text" name="dvm_nodes" value="">
|
||||
<BR>
|
||||
Provides a regular expression
|
||||
identifying the nodes that upon which user applications can run. IP addresses can
|
||||
be provided in place of hostnames if desired.The regular expression can consist of
|
||||
a simple comma-delimited list of hostnames, or a comma-delimited list of hostname
|
||||
ranges (e.g., "linux0,linux[2-10]"), or a PMIx "native" regular expression.
|
||||
<BR>
|
||||
<BR>
|
||||
|
||||
|
||||
<H3>Operational Options</H3>
|
||||
|
||||
<b>DVMTempDir</b>: <input type="text" name="dvm_tmpdir" value="/tmp">
|
||||
<BR>
|
||||
The temporary directory that the
|
||||
DVM daemons and controller are to use as the base for their session directories.
|
||||
Working files/directories for the DVM will be placed under this location.
|
||||
<BR>
|
||||
<BR>
|
||||
|
||||
<b>SessionTmpDir</b>: <input type="text" name="session_tmpdir" value="/tmp">
|
||||
<BR>
|
||||
The temporary directory that
|
||||
the DVM daemons are to use as the base for session directories for all
|
||||
application sessions. Working files for each session will be placed under
|
||||
this location, separated out into a directory for each session.
|
||||
<BR>
|
||||
<BR>
|
||||
|
||||
<H3>Logging Options</H3>
|
||||
|
||||
<b>ControllerLogJobState</b>:
|
||||
<div class="onoffswitch">
|
||||
<input type="checkbox" name="ctrlr_logjobstate" class="onoffswitch-checkbox" id="ControllerLogJobState" checked>
|
||||
<label class="onoffswitch-label" for="ControllerLogJobState">
|
||||
<span class="onoffswitch-inner"></span>
|
||||
<span class="onoffswitch-switch"></span>
|
||||
</label>
|
||||
</div>
|
||||
Directs the DVM
|
||||
controller to log each DVM-launched job state transition. Log entry includes
|
||||
the namespace of the job, the state to which it is transitioning, and the
|
||||
date/time stamp when the transition was ordered.
|
||||
<BR>
|
||||
<BR>
|
||||
|
||||
<b>ControllerLogProcState</b>:
|
||||
<div class="onoffswitch">
|
||||
<input type="checkbox" name="ctrlr_logprocstate" class="onoffswitch-checkbox" id="ControllerLogProcState" checked>
|
||||
<label class="onoffswitch-label" for="ControllerLogProcState">
|
||||
<span class="onoffswitch-inner"></span>
|
||||
<span class="onoffswitch-switch"></span>
|
||||
</label>
|
||||
</div>
|
||||
Directs the DVM
|
||||
controller to log each process (in a DVM-launched job) state transition.
|
||||
Log entry includes the namespace and rank of the process, the state to
|
||||
which it is transitioning, and the date/time stamp when the transition was
|
||||
ordered.
|
||||
<BR>
|
||||
<BR>
|
||||
|
||||
<b>ControllerLogPath</b>: <input type="text" name="ctrlr_logpath" value="">
|
||||
<BR>
|
||||
Path to where the logs are to be written. If a relative path is provided,
|
||||
then the directory will be created under the <I>DVMTempDir</I> location. The
|
||||
path defaults to the specified SessionTmpDir in the absence of any input
|
||||
to this field. The log filename is formatted as <I>prtectrlr-<hostname>-log</I>.
|
||||
<BR>
|
||||
<BR>
|
||||
|
||||
<b>PRTEDLogJobState</b>:
|
||||
<div class="onoffswitch">
|
||||
<input type="checkbox" name="prted_logjobstate" class="onoffswitch-checkbox" id="PRTEDLogJobState" checked>
|
||||
<label class="onoffswitch-label" for="PRTEDLogJobState">
|
||||
<span class="onoffswitch-inner"></span>
|
||||
<span class="onoffswitch-switch"></span>
|
||||
</label>
|
||||
</div>
|
||||
Directs each <I>prted</I>
|
||||
in the DVM to log each DVM-launched job state transition. Log entry includes
|
||||
the namespace of the job, the state to which it is transitioning, and the
|
||||
date/time stamp when the transition was ordered.
|
||||
<BR>
|
||||
<BR>
|
||||
|
||||
<b>PRTEDLogProcState</b>:
|
||||
<div class="onoffswitch">
|
||||
<input type="checkbox" name="prted_logprocstate" class="onoffswitch-checkbox" id="PRTEDLogProcState" checked>
|
||||
<label class="onoffswitch-label" for="PRTEDLogProcState">
|
||||
<span class="onoffswitch-inner"></span>
|
||||
<span class="onoffswitch-switch"></span>
|
||||
</label>
|
||||
</div>
|
||||
Directs each <I>prted</I>
|
||||
in the DVM to log each process (in a DVM-launched job) state transition.
|
||||
Log entry includes the namespace and rank of the process, the state to
|
||||
which it is transitioning, and the date/time stamp when the transition was
|
||||
ordered.
|
||||
<BR>
|
||||
<BR>
|
||||
|
||||
<b>PRTEDLogPath</b>: <input type="text" name="prted_logpath" value="">
|
||||
<BR>
|
||||
Path to where the logs are to be written. If a relative path is provided,
|
||||
then the directory will be created under the <I>DVMTempDir</I> location. The
|
||||
path defaults to the specified SessionTmpDir in the absence of any input
|
||||
to this field. The log filename is formatted as <I>prted-<hostname>-log</I>.
|
||||
|
||||
<BR>
|
||||
<BR>
|
||||
<input type=button value="Submit" onClick="javascript:displayfile()">
|
||||
<input type=reset value="Reset Form">
|
||||
</form>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<footer>
|
||||
|
||||
<hr/>
|
||||
|
||||
<div role="contentinfo">
|
||||
<p>© Copyright 2003-2025, The PRRTE Community.</p>
|
||||
</div>
|
||||
|
||||
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
|
||||
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
|
||||
provided by <a href="https://readthedocs.org">Read the Docs</a>.
|
||||
|
||||
|
||||
</footer>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
<script>
|
||||
jQuery(function () {
|
||||
SphinxRtdTheme.Navigation.enable(true);
|
||||
});
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
202
linx64/mpi/openmpi/share/doc/prrte/html/contributing.html
Normal file
202
linx64/mpi/openmpi/share/doc/prrte/html/contributing.html
Normal file
@@ -0,0 +1,202 @@
|
||||
<!DOCTYPE html>
|
||||
<html class="writer-html5" lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>12. Contributing to PRRTE — PMIx Reference Run Time Environment 3.0.8 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/theme.css" />
|
||||
|
||||
|
||||
<!--[if lt IE 9]>
|
||||
<script src="_static/js/html5shiv.min.js"></script>
|
||||
<![endif]-->
|
||||
|
||||
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
|
||||
<script src="_static/jquery.js"></script>
|
||||
<script src="_static/underscore.js"></script>
|
||||
<script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
|
||||
<script src="_static/doctools.js"></script>
|
||||
<script src="_static/sphinx_highlight.js"></script>
|
||||
<script src="_static/js/theme.js"></script>
|
||||
<link rel="index" title="Index" href="genindex.html" />
|
||||
<link rel="search" title="Search" href="search.html" />
|
||||
<link rel="next" title="13. License" href="license.html" />
|
||||
<link rel="prev" title="11.5. ReStructured Text for those who know Markdown" href="developers/rst-for-markdown-expats.html" />
|
||||
</head>
|
||||
|
||||
<body class="wy-body-for-nav">
|
||||
<div class="wy-grid-for-nav">
|
||||
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
|
||||
<div class="wy-side-scroll">
|
||||
<div class="wy-side-nav-search" >
|
||||
|
||||
|
||||
|
||||
<a href="index.html" class="icon icon-home">
|
||||
PMIx Reference Run Time Environment
|
||||
</a>
|
||||
<div role="search">
|
||||
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
|
||||
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
|
||||
<input type="hidden" name="check_keywords" value="yes" />
|
||||
<input type="hidden" name="area" value="default" />
|
||||
</form>
|
||||
</div>
|
||||
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
|
||||
<ul class="current">
|
||||
<li class="toctree-l1"><a class="reference internal" href="quickstart.html">1. Quick start</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="release-notes.html">2. Release Notes</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="getting-help.html">3. Getting help</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="install.html">4. Installing PRRTE</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="configuration.html">5. PRRTE DVM Configuration</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="how-things-work/index.html">6. How Things Work</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="hosts/index.html">7. Host specification</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="placement/index.html">8. Process placement</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="notifications.html">9. Notifications</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="session-directory.html">10. Session directory</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="developers/index.html">11. Developer’s guide</a></li>
|
||||
<li class="toctree-l1 current"><a class="current reference internal" href="#">12. Contributing to PRRTE</a><ul>
|
||||
<li class="toctree-l2"><a class="reference internal" href="#open-source-contributions">12.1. Open source contributions</a><ul>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#contributor-s-declaration">12.1.1. Contributor’s Declaration</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="license.html">13. License</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="man/index.html">14. PRRTE manual pages</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="versions.html">15. Software Version Numbers</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="news/index.html">16. News</a></li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
|
||||
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
||||
<a href="index.html">PMIx Reference Run Time Environment</a>
|
||||
</nav>
|
||||
|
||||
<div class="wy-nav-content">
|
||||
<div class="rst-content">
|
||||
<div role="navigation" aria-label="Page navigation">
|
||||
<ul class="wy-breadcrumbs">
|
||||
<li><a href="index.html" class="icon icon-home" aria-label="Home"></a></li>
|
||||
<li class="breadcrumb-item active"><span class="section-number">12. </span>Contributing to PRRTE</li>
|
||||
<li class="wy-breadcrumbs-aside">
|
||||
<a href="_sources/contributing.rst.txt" rel="nofollow"> View page source</a>
|
||||
</li>
|
||||
</ul>
|
||||
<hr/>
|
||||
</div>
|
||||
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||||
<div itemprop="articleBody">
|
||||
|
||||
<style>
|
||||
.wy-table-responsive table td,.wy-table-responsive table th{white-space:normal}
|
||||
</style><div class="section" id="contributing-to-prrte">
|
||||
<h1><span class="section-number">12. </span>Contributing to PRRTE<a class="headerlink" href="#contributing-to-prrte" title="Permalink to this heading"></a></h1>
|
||||
<div class="section" id="open-source-contributions">
|
||||
<h2><span class="section-number">12.1. </span>Open source contributions<a class="headerlink" href="#open-source-contributions" title="Permalink to this heading"></a></h2>
|
||||
<p>All code contributions are submitted as pull requests on the <a class="reference external" href="https://github.com/openpmix/prrte/">PRRTE
|
||||
GitHub repository</a>.</p>
|
||||
<div class="admonition important">
|
||||
<p class="admonition-title">Important</p>
|
||||
<p>All commits must include a <code class="docutils literal notranslate"><span class="pre">Signed-off-by:</span></code> line,
|
||||
indicating the submitter’s agreement to the <a class="reference internal" href="#contributing-contributors-declaration-label"><span class="std std-ref">PRRTE
|
||||
Contributor’s Declaration</span></a>.</p>
|
||||
</div>
|
||||
<div class="section" id="contributor-s-declaration">
|
||||
<span id="contributing-contributors-declaration-label"></span><h3><span class="section-number">12.1.1. </span>Contributor’s Declaration<a class="headerlink" href="#contributor-s-declaration" title="Permalink to this heading"></a></h3>
|
||||
<p>In order to ensure that we can keep distributing PRRTE under our
|
||||
<a class="reference internal" href="license.html"><span class="doc">open source license</span></a>, we need to ensure that
|
||||
all contributions are compatible with that license. Put differently:
|
||||
we need to have an established intellectual property pedigree of the
|
||||
code in PRRTE. This means being able to ensure that all code
|
||||
included in PRRTE is free, open source, and able to be distributed
|
||||
under <a class="reference internal" href="license.html"><span class="doc">the BSD license</span></a>.</p>
|
||||
<p>PRRTE has therefore adopted requirements based on the signed-off-by
|
||||
process as described in Section 11 of the Linux kernel document on
|
||||
<a class="reference external" href="https://www.kernel.org/doc/html/latest/process/submitting-patches.html#sign-your-work-the-developer-s-certificate-of-origin">Submitting Patches</a>.
|
||||
Each proposed contribution to the PRRTE code base must include the
|
||||
text <code class="docutils literal notranslate"><span class="pre">Signed-off-by:</span></code> followed by the contributor’s name and email
|
||||
address. This is a developer’s certification that he or she has the
|
||||
right to submit the patch for inclusion into the project, and
|
||||
indicates agreement to the Developer’s Certificate of Origin:</p>
|
||||
<blockquote>
|
||||
<div><p>By making a contribution to this project, I certify that:</p>
|
||||
<ol class="arabic simple">
|
||||
<li><p>The contribution was created in whole or in part by me and I
|
||||
have the right to submit it under the <a class="reference internal" href="license.html"><span class="doc">PRRTE open
|
||||
source license</span></a>; or</p></li>
|
||||
<li><p>The contribution is based upon previous work that, to the best
|
||||
of my knowledge, is covered under an appropriate open source
|
||||
license and I have the right under that license to submit that
|
||||
work with modifications, whether created in whole or in part by
|
||||
me, under the <a class="reference internal" href="license.html"><span class="doc">PRRTE open source license</span></a> (unless I am permitted to submit under a
|
||||
different license); or</p></li>
|
||||
<li><p>The contribution was provided directly to me by some other
|
||||
person who certified (1) or (2) and I have not modified it.</p></li>
|
||||
<li><p>I understand and agree that this project and the contribution
|
||||
are public and that a record of the contribution (including all
|
||||
personal information I submit with it, including my sign-off)
|
||||
is maintained indefinitely and may be redistributed consistent
|
||||
with this project and the open source license(s) involved.</p></li>
|
||||
</ol>
|
||||
</div></blockquote>
|
||||
<p>Proposed contributions failing to include the <code class="docutils literal notranslate"><span class="pre">Signed-off-by:</span></code>
|
||||
certification will not be accepted into any PRRTE code
|
||||
repository. The community reserves the right to revert any commit
|
||||
inadvertently made without the required certification.</p>
|
||||
<div class="admonition note">
|
||||
<p class="admonition-title">Note</p>
|
||||
<p>This policy prevents a situation where intellectual property
|
||||
gets into the PRRTE code base and then someone later
|
||||
claims that we owe them money for it. PRRTE is a free,
|
||||
open source code base. We intend it to remain that way.</p>
|
||||
</div>
|
||||
<p>If you have not already done so, please ensure that <em>every</em> commit in
|
||||
your pull request contains the <code class="docutils literal notranslate"><span class="pre">Signed-off-by:</span></code> line.</p>
|
||||
<div class="tip admonition">
|
||||
<p class="admonition-title">Pro tip</p>
|
||||
<p>You can use the <code class="docutils literal notranslate"><span class="pre">-s</span></code> flag to the <code class="docutils literal notranslate"><span class="pre">git</span> <span class="pre">commit</span></code> command (i.e.,
|
||||
<code class="docutils literal notranslate"><span class="pre">git</span> <span class="pre">commit</span> <span class="pre">-s</span> <span class="pre">...</span></code>) to automatically add the appropriate
|
||||
<code class="docutils literal notranslate"><span class="pre">Signed-off-by:</span></code> line to your commit message.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
|
||||
<a href="developers/rst-for-markdown-expats.html" class="btn btn-neutral float-left" title="11.5. ReStructured Text for those who know Markdown" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
|
||||
<a href="license.html" class="btn btn-neutral float-right" title="13. License" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
|
||||
</div>
|
||||
|
||||
<hr/>
|
||||
|
||||
<div role="contentinfo">
|
||||
<p>© Copyright 2003-2025, The PRRTE Community.</p>
|
||||
</div>
|
||||
|
||||
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
|
||||
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
|
||||
provided by <a href="https://readthedocs.org">Read the Docs</a>.
|
||||
|
||||
|
||||
</footer>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
<script>
|
||||
jQuery(function () {
|
||||
SphinxRtdTheme.Navigation.enable(true);
|
||||
});
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,197 @@
|
||||
<!DOCTYPE html>
|
||||
<html class="writer-html5" lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>11.2. GitHub, Git, and related topics — PMIx Reference Run Time Environment 3.0.8 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../_static/css/theme.css" />
|
||||
|
||||
|
||||
<!--[if lt IE 9]>
|
||||
<script src="../_static/js/html5shiv.min.js"></script>
|
||||
<![endif]-->
|
||||
|
||||
<script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
|
||||
<script src="../_static/jquery.js"></script>
|
||||
<script src="../_static/underscore.js"></script>
|
||||
<script src="../_static/_sphinx_javascript_frameworks_compat.js"></script>
|
||||
<script src="../_static/doctools.js"></script>
|
||||
<script src="../_static/sphinx_highlight.js"></script>
|
||||
<script src="../_static/js/theme.js"></script>
|
||||
<link rel="index" title="Index" href="../genindex.html" />
|
||||
<link rel="search" title="Search" href="../search.html" />
|
||||
<link rel="next" title="11.3. Manually installing the GNU Autootools" href="gnu-autotools.html" />
|
||||
<link rel="prev" title="11.1. Prerequisites" href="prerequisites.html" />
|
||||
</head>
|
||||
|
||||
<body class="wy-body-for-nav">
|
||||
<div class="wy-grid-for-nav">
|
||||
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
|
||||
<div class="wy-side-scroll">
|
||||
<div class="wy-side-nav-search" >
|
||||
|
||||
|
||||
|
||||
<a href="../index.html" class="icon icon-home">
|
||||
PMIx Reference Run Time Environment
|
||||
</a>
|
||||
<div role="search">
|
||||
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
|
||||
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
|
||||
<input type="hidden" name="check_keywords" value="yes" />
|
||||
<input type="hidden" name="area" value="default" />
|
||||
</form>
|
||||
</div>
|
||||
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
|
||||
<ul class="current">
|
||||
<li class="toctree-l1"><a class="reference internal" href="../quickstart.html">1. Quick start</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../release-notes.html">2. Release Notes</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../getting-help.html">3. Getting help</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../install.html">4. Installing PRRTE</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../configuration.html">5. PRRTE DVM Configuration</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../how-things-work/index.html">6. How Things Work</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../hosts/index.html">7. Host specification</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../placement/index.html">8. Process placement</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../notifications.html">9. Notifications</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../session-directory.html">10. Session directory</a></li>
|
||||
<li class="toctree-l1 current"><a class="reference internal" href="index.html">11. Developer’s guide</a><ul class="current">
|
||||
<li class="toctree-l2"><a class="reference internal" href="prerequisites.html">11.1. Prerequisites</a></li>
|
||||
<li class="toctree-l2 current"><a class="current reference internal" href="#">11.2. GitHub, Git, and related topics</a><ul>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#github">11.2.1. GitHub</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#git-commits-open-source-contributor-s-declaration">11.2.2. Git commits: open source / contributor’s declaration</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#git-branch-scheme">11.2.3. Git branch scheme</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="gnu-autotools.html">11.3. Manually installing the GNU Autootools</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="sphinx.html">11.4. Installing and running Sphinx (building the PRRTE docs)</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="rst-for-markdown-expats.html">11.5. ReStructured Text for those who know Markdown</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../contributing.html">12. Contributing to PRRTE</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../license.html">13. License</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../man/index.html">14. PRRTE manual pages</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../versions.html">15. Software Version Numbers</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../news/index.html">16. News</a></li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
|
||||
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
||||
<a href="../index.html">PMIx Reference Run Time Environment</a>
|
||||
</nav>
|
||||
|
||||
<div class="wy-nav-content">
|
||||
<div class="rst-content">
|
||||
<div role="navigation" aria-label="Page navigation">
|
||||
<ul class="wy-breadcrumbs">
|
||||
<li><a href="../index.html" class="icon icon-home" aria-label="Home"></a></li>
|
||||
<li class="breadcrumb-item"><a href="index.html"><span class="section-number">11. </span>Developer’s guide</a></li>
|
||||
<li class="breadcrumb-item active"><span class="section-number">11.2. </span>GitHub, Git, and related topics</li>
|
||||
<li class="wy-breadcrumbs-aside">
|
||||
<a href="../_sources/developers/git-github.rst.txt" rel="nofollow"> View page source</a>
|
||||
</li>
|
||||
</ul>
|
||||
<hr/>
|
||||
</div>
|
||||
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||||
<div itemprop="articleBody">
|
||||
|
||||
<style>
|
||||
.wy-table-responsive table td,.wy-table-responsive table th{white-space:normal}
|
||||
</style><div class="section" id="github-git-and-related-topics">
|
||||
<h1><span class="section-number">11.2. </span>GitHub, Git, and related topics<a class="headerlink" href="#github-git-and-related-topics" title="Permalink to this heading"></a></h1>
|
||||
<div class="section" id="github">
|
||||
<h2><span class="section-number">11.2.1. </span>GitHub<a class="headerlink" href="#github" title="Permalink to this heading"></a></h2>
|
||||
<p>PRRTE’s Git repositories are <a class="reference external" href="https://github.com/openpmix/prrte">hosted at GitHub</a>.</p>
|
||||
<ol class="arabic">
|
||||
<li><p>First, you will need a Git client. We recommend getting the latest
|
||||
version available. If you do not have the command <code class="docutils literal notranslate"><span class="pre">git</span></code> in your
|
||||
path, you will likely need to download and install Git.</p></li>
|
||||
<li><p><a class="reference external" href="https://github.com/openpmix/prrte/">prrte</a> is the main PRRTE
|
||||
repository where most active development is done. Git clone this
|
||||
repository. Note that the use of the <code class="docutils literal notranslate"><span class="pre">--recursive</span></code> CLI option is
|
||||
necessary because PRRTE uses Git submodules:</p>
|
||||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>shell$ git clone --recursive https://github.com/openpmix/prrte.git
|
||||
</pre></div>
|
||||
</div>
|
||||
</li>
|
||||
</ol>
|
||||
<p>Note that Git is natively capable of using many forms of web
|
||||
proxies. If your network setup requires the user of a web proxy,
|
||||
<a class="reference external" href="https://git-scm.com/">consult the Git documentation for more details</a>.</p>
|
||||
</div>
|
||||
<div class="section" id="git-commits-open-source-contributor-s-declaration">
|
||||
<h2><span class="section-number">11.2.2. </span>Git commits: open source / contributor’s declaration<a class="headerlink" href="#git-commits-open-source-contributor-s-declaration" title="Permalink to this heading"></a></h2>
|
||||
<p>In order to remain open source, all new commits to the PRRTE
|
||||
repository must include a <code class="docutils literal notranslate"><span class="pre">Signed-off-by:</span></code> line, indicating the
|
||||
submitter’s agreement to the <a class="reference internal" href="../contributing.html#contributing-contributors-declaration-label"><span class="std std-ref">PRRTE Contributor’s Declaration</span></a>.</p>
|
||||
<div class="admonition tip">
|
||||
<p class="admonition-title">Tip</p>
|
||||
<p>You can use the <code class="docutils literal notranslate"><span class="pre">-s</span></code> option to <code class="docutils literal notranslate"><span class="pre">git</span> <span class="pre">commit</span></code> to
|
||||
automatically add the <code class="docutils literal notranslate"><span class="pre">Signed-off-by:</span></code> line to your commit
|
||||
message.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="section" id="git-branch-scheme">
|
||||
<span id="git-github-branch-scheme-label"></span><h2><span class="section-number">11.2.3. </span>Git branch scheme<a class="headerlink" href="#git-branch-scheme" title="Permalink to this heading"></a></h2>
|
||||
<p>Generally, PRRTE has two types of branches in its Git repository:</p>
|
||||
<ol class="arabic simple">
|
||||
<li><p><code class="docutils literal notranslate"><span class="pre">main</span></code>:</p>
|
||||
<ul class="simple">
|
||||
<li><p>All active development occurs on the <code class="docutils literal notranslate"><span class="pre">main</span></code> branch (new features,
|
||||
bug fixes, etc.).</p></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><p>Release branches of the form <code class="docutils literal notranslate"><span class="pre">vMAJOR.MINOR.x</span></code> (e.g., <code class="docutils literal notranslate"><span class="pre">v4.0.x</span></code>,
|
||||
<code class="docutils literal notranslate"><span class="pre">v4.1.x</span></code>, <code class="docutils literal notranslate"><span class="pre">v5.0.x</span></code>).</p>
|
||||
<ul class="simple">
|
||||
<li><p>The <code class="docutils literal notranslate"><span class="pre">.x</span></code> suffix indicates that this branch is used to create
|
||||
all releases in the PRRTE vMAJOR.MINOR series.</p></li>
|
||||
<li><p>Periodically, the PRRTE community will make a new release
|
||||
branch, typically from <code class="docutils literal notranslate"><span class="pre">main</span></code>.</p></li>
|
||||
<li><p>A Git tag of the form <code class="docutils literal notranslate"><span class="pre">vMAJOR.MINOR.RELEASE</span></code> is used to
|
||||
indicate the specific commit on a release branch from where
|
||||
official PRRTE release tarball was created (e.g., <code class="docutils literal notranslate"><span class="pre">v4.1.0</span></code>,
|
||||
<code class="docutils literal notranslate"><span class="pre">v4.1.1</span></code>, <code class="docutils literal notranslate"><span class="pre">v4.1.2</span></code>, etc.).</p></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
|
||||
<a href="prerequisites.html" class="btn btn-neutral float-left" title="11.1. Prerequisites" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
|
||||
<a href="gnu-autotools.html" class="btn btn-neutral float-right" title="11.3. Manually installing the GNU Autootools" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
|
||||
</div>
|
||||
|
||||
<hr/>
|
||||
|
||||
<div role="contentinfo">
|
||||
<p>© Copyright 2003-2025, The PRRTE Community.</p>
|
||||
</div>
|
||||
|
||||
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
|
||||
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
|
||||
provided by <a href="https://readthedocs.org">Read the Docs</a>.
|
||||
|
||||
|
||||
</footer>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
<script>
|
||||
jQuery(function () {
|
||||
SphinxRtdTheme.Navigation.enable(true);
|
||||
});
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,484 @@
|
||||
<!DOCTYPE html>
|
||||
<html class="writer-html5" lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>11.3. Manually installing the GNU Autootools — PMIx Reference Run Time Environment 3.0.8 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../_static/css/theme.css" />
|
||||
|
||||
|
||||
<!--[if lt IE 9]>
|
||||
<script src="../_static/js/html5shiv.min.js"></script>
|
||||
<![endif]-->
|
||||
|
||||
<script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
|
||||
<script src="../_static/jquery.js"></script>
|
||||
<script src="../_static/underscore.js"></script>
|
||||
<script src="../_static/_sphinx_javascript_frameworks_compat.js"></script>
|
||||
<script src="../_static/doctools.js"></script>
|
||||
<script src="../_static/sphinx_highlight.js"></script>
|
||||
<script src="../_static/js/theme.js"></script>
|
||||
<link rel="index" title="Index" href="../genindex.html" />
|
||||
<link rel="search" title="Search" href="../search.html" />
|
||||
<link rel="next" title="11.4. Installing and running Sphinx (building the PRRTE docs)" href="sphinx.html" />
|
||||
<link rel="prev" title="11.2. GitHub, Git, and related topics" href="git-github.html" />
|
||||
</head>
|
||||
|
||||
<body class="wy-body-for-nav">
|
||||
<div class="wy-grid-for-nav">
|
||||
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
|
||||
<div class="wy-side-scroll">
|
||||
<div class="wy-side-nav-search" >
|
||||
|
||||
|
||||
|
||||
<a href="../index.html" class="icon icon-home">
|
||||
PMIx Reference Run Time Environment
|
||||
</a>
|
||||
<div role="search">
|
||||
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
|
||||
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
|
||||
<input type="hidden" name="check_keywords" value="yes" />
|
||||
<input type="hidden" name="area" value="default" />
|
||||
</form>
|
||||
</div>
|
||||
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
|
||||
<ul class="current">
|
||||
<li class="toctree-l1"><a class="reference internal" href="../quickstart.html">1. Quick start</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../release-notes.html">2. Release Notes</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../getting-help.html">3. Getting help</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../install.html">4. Installing PRRTE</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../configuration.html">5. PRRTE DVM Configuration</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../how-things-work/index.html">6. How Things Work</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../hosts/index.html">7. Host specification</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../placement/index.html">8. Process placement</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../notifications.html">9. Notifications</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../session-directory.html">10. Session directory</a></li>
|
||||
<li class="toctree-l1 current"><a class="reference internal" href="index.html">11. Developer’s guide</a><ul class="current">
|
||||
<li class="toctree-l2"><a class="reference internal" href="prerequisites.html">11.1. Prerequisites</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="git-github.html">11.2. GitHub, Git, and related topics</a></li>
|
||||
<li class="toctree-l2 current"><a class="current reference internal" href="#">11.3. Manually installing the GNU Autootools</a><ul>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#use-a-package-manager">11.3.1. Use a package manager</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#autotools-versions">11.3.2. Autotools versions</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#checking-your-versions">11.3.3. Checking your versions</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#installing-the-gnu-autotools-from-source">11.3.4. Installing the GNU Autotools from source</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#build-and-install-ordering">11.3.5. Build and install ordering</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="sphinx.html">11.4. Installing and running Sphinx (building the PRRTE docs)</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="rst-for-markdown-expats.html">11.5. ReStructured Text for those who know Markdown</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../contributing.html">12. Contributing to PRRTE</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../license.html">13. License</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../man/index.html">14. PRRTE manual pages</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../versions.html">15. Software Version Numbers</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../news/index.html">16. News</a></li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
|
||||
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
||||
<a href="../index.html">PMIx Reference Run Time Environment</a>
|
||||
</nav>
|
||||
|
||||
<div class="wy-nav-content">
|
||||
<div class="rst-content">
|
||||
<div role="navigation" aria-label="Page navigation">
|
||||
<ul class="wy-breadcrumbs">
|
||||
<li><a href="../index.html" class="icon icon-home" aria-label="Home"></a></li>
|
||||
<li class="breadcrumb-item"><a href="index.html"><span class="section-number">11. </span>Developer’s guide</a></li>
|
||||
<li class="breadcrumb-item active"><span class="section-number">11.3. </span>Manually installing the GNU Autootools</li>
|
||||
<li class="wy-breadcrumbs-aside">
|
||||
<a href="../_sources/developers/gnu-autotools.rst.txt" rel="nofollow"> View page source</a>
|
||||
</li>
|
||||
</ul>
|
||||
<hr/>
|
||||
</div>
|
||||
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||||
<div itemprop="articleBody">
|
||||
|
||||
<style>
|
||||
.wy-table-responsive table td,.wy-table-responsive table th{white-space:normal}
|
||||
</style><div class="section" id="manually-installing-the-gnu-autootools">
|
||||
<span id="developers-installing-autotools-label"></span><h1><span class="section-number">11.3. </span>Manually installing the GNU Autootools<a class="headerlink" href="#manually-installing-the-gnu-autootools" title="Permalink to this heading"></a></h1>
|
||||
<p>There is enough detail in building the GNU Autotools that it warrants
|
||||
its own section.</p>
|
||||
<div class="admonition note">
|
||||
<p class="admonition-title">Note</p>
|
||||
<p>As noted above, you only need to read/care about this
|
||||
section if you are building PRRTE from a Git clone. End
|
||||
users installing an PRRTE distribution tarball do <em>not</em>
|
||||
need to have the GNU Autotools installed.</p>
|
||||
</div>
|
||||
<div class="section" id="use-a-package-manager">
|
||||
<h2><span class="section-number">11.3.1. </span>Use a package manager<a class="headerlink" href="#use-a-package-manager" title="Permalink to this heading"></a></h2>
|
||||
<p>It is recommended that you use your Linux distribution’s package
|
||||
manager, or Homebrew or MacPorts on macOS to install recent versions
|
||||
of GNU Autoconf, Automake, and Libtool.</p>
|
||||
<p>If you cannot, keep reading in this section to see how to build and
|
||||
install these applications manually (i.e., download the source from
|
||||
the internet and build/install it yourself).</p>
|
||||
</div>
|
||||
<div class="section" id="autotools-versions">
|
||||
<h2><span class="section-number">11.3.2. </span>Autotools versions<a class="headerlink" href="#autotools-versions" title="Permalink to this heading"></a></h2>
|
||||
<p>The following tools are required for developers to compile PRRTE
|
||||
from its repository sources (users who download PRRTE tarballs do
|
||||
not need these tools - they are only required for developers working
|
||||
on the internals of PRRTE itself):</p>
|
||||
<table class="docutils align-default">
|
||||
<colgroup>
|
||||
<col style="width: 33%" />
|
||||
<col style="width: 33%" />
|
||||
<col style="width: 33%" />
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr class="row-odd"><th class="head"><p>Software package</p></th>
|
||||
<th class="head"><p>Notes</p></th>
|
||||
<th class="head"><p>URL</p></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr class="row-even"><td><p>GNU m4</p></td>
|
||||
<td><p>See version chart below</p></td>
|
||||
<td><p><a class="reference external" href="https://ftp.gnu.org/gnu/m4/">https://ftp.gnu.org/gnu/m4/</a></p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p>GNU Autoconf</p></td>
|
||||
<td><p>See version chart below</p></td>
|
||||
<td><p><a class="reference external" href="https://ftp.gnu.org/gnu/autoconf/">https://ftp.gnu.org/gnu/autoconf/</a></p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p>GNU Automake</p></td>
|
||||
<td><p>See version chart below</p></td>
|
||||
<td><p><a class="reference external" href="https://ftp.gnu.org/gnu/automake/">https://ftp.gnu.org/gnu/automake/</a></p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p>GNU Libtool</p></td>
|
||||
<td><p>See version chart below</p></td>
|
||||
<td><p><a class="reference external" href="https://ftp.gnu.org/gnu/libtool/">https://ftp.gnu.org/gnu/libtool/</a></p></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<p>The table below lists the versions that are used to make nightly
|
||||
snapshot and official release PRRTE tarballs. Other versions of the
|
||||
tools <em>may</em> work for some (but almost certainly not all) platforms;
|
||||
the ones listed below are the versions that we know work across an
|
||||
extremely wide variety of platforms and environments.</p>
|
||||
<p>To strengthen the above point: the core PRRTE developers typically
|
||||
use very, very recent versions of the GNU tools. There are known bugs
|
||||
in older versions of the GNU tools that PRRTE no longer compensates
|
||||
for (it seemed senseless to indefinitely support patches for ancient
|
||||
versions of Autoconf, for example).</p>
|
||||
<div class="admonition warning">
|
||||
<p class="admonition-title">Warning</p>
|
||||
<p>You <strong>will</strong> have problems if you do not use recent
|
||||
versions of the GNU Autotools.</p>
|
||||
</div>
|
||||
<p>That being said, <code class="docutils literal notranslate"><span class="pre">autogen.pl</span></code> and <code class="docutils literal notranslate"><span class="pre">configure.ac</span></code> scripts tend to
|
||||
be a bit lenient and enforce slightly older minimum versions than the
|
||||
ones listed below. This is because such older versions still make
|
||||
usable PRRTE builds on many platforms - especially Linux on x86_64
|
||||
with GNU compilers - and are convenient for developers whose Linux
|
||||
distribution may not have as recent as the versions listed below (but are
|
||||
recent enough to produce a working version for their platform).</p>
|
||||
<p>To be clear: the versions listed below are required to support a wide
|
||||
variety of platforms and environments, and are used to make nightly
|
||||
and official release tarballs. When building PRRTE, YMMV when using
|
||||
versions older than those listed below — especially if you are
|
||||
not building on Linux x86_64 with the GNU compilers.</p>
|
||||
<p>Using older versions is unsupported. If you run into problems, upgrade
|
||||
to at least the versions listed below.</p>
|
||||
<div class="admonition note">
|
||||
<p class="admonition-title">Note</p>
|
||||
<p>You may need to scroll right in the following table.</p>
|
||||
</div>
|
||||
<div class="error admonition">
|
||||
<p class="admonition-title">PRRTE Docs TODO</p>
|
||||
<p>The table below is almost certainly wrong; it has all the values
|
||||
from Open MPI. Need to update the table below with the appropriate
|
||||
values for PRRTE.</p>
|
||||
</div>
|
||||
<table class="docutils align-default">
|
||||
<colgroup>
|
||||
<col style="width: 14%" />
|
||||
<col style="width: 14%" />
|
||||
<col style="width: 14%" />
|
||||
<col style="width: 14%" />
|
||||
<col style="width: 14%" />
|
||||
<col style="width: 14%" />
|
||||
<col style="width: 14%" />
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr class="row-odd"><th class="head"><p>PRRTE</p></th>
|
||||
<th class="head"><p>M4</p></th>
|
||||
<th class="head"><p>Autoconf</p></th>
|
||||
<th class="head"><p>Automake</p></th>
|
||||
<th class="head"><p>Libtool</p></th>
|
||||
<th class="head"><p>Flex</p></th>
|
||||
<th class="head"><p>Sphinx</p></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr class="row-even"><td><p>v1.0.x</p></td>
|
||||
<td><p>NA</p></td>
|
||||
<td><p>2.58 - 2.59</p></td>
|
||||
<td><p>1.7 - 1.9.6</p></td>
|
||||
<td><p>1.5.16 - 1.5.22</p></td>
|
||||
<td><p>2.5.4</p></td>
|
||||
<td><p>NA</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p>v1.1.x</p></td>
|
||||
<td><p>NA</p></td>
|
||||
<td><p>2.59</p></td>
|
||||
<td><p>1.9.6</p></td>
|
||||
<td><p>1.5.16 - 1.5.22</p></td>
|
||||
<td><p>2.5.4</p></td>
|
||||
<td><p>NA</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p>v1.2.x</p></td>
|
||||
<td><p>NA</p></td>
|
||||
<td><p>2.59</p></td>
|
||||
<td><p>1.9.6</p></td>
|
||||
<td><p>1.5.22 - 2.1a</p></td>
|
||||
<td><p>2.5.4</p></td>
|
||||
<td><p>NA</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p>v1.3.x</p></td>
|
||||
<td><p>1.4.11</p></td>
|
||||
<td><p>2.63</p></td>
|
||||
<td><p>1.10.1</p></td>
|
||||
<td><p>2.2.6b</p></td>
|
||||
<td><p>2.5.4</p></td>
|
||||
<td><p>NA</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p>v1.4.x</p></td>
|
||||
<td><p>1.4.11</p></td>
|
||||
<td><p>2.63</p></td>
|
||||
<td><p>1.10.3</p></td>
|
||||
<td><p>2.2.6b</p></td>
|
||||
<td><p>2.5.4</p></td>
|
||||
<td><p>NA</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p>v1.5.x for x=0-4</p></td>
|
||||
<td><p>1.4.13</p></td>
|
||||
<td><p>2.65</p></td>
|
||||
<td><p>1.11.1</p></td>
|
||||
<td><p>2.2.6b</p></td>
|
||||
<td><p>2.5.4</p></td>
|
||||
<td><p>NA</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p>v1.5.x for x>=5</p></td>
|
||||
<td><p>1.4.16</p></td>
|
||||
<td><p>2.68</p></td>
|
||||
<td><p>1.11.3</p></td>
|
||||
<td><p>2.4.2</p></td>
|
||||
<td><p>2.5.35</p></td>
|
||||
<td><p>NA</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p>v1.6.x</p></td>
|
||||
<td><p>1.4.16</p></td>
|
||||
<td><p>2.68</p></td>
|
||||
<td><p>1.11.3</p></td>
|
||||
<td><p>2.4.2</p></td>
|
||||
<td><p>2.5.35</p></td>
|
||||
<td><p>NA</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p>v1.7.x</p></td>
|
||||
<td><p>1.4.16</p></td>
|
||||
<td><p>2.69</p></td>
|
||||
<td><p>1.12.2</p></td>
|
||||
<td><p>2.4.2</p></td>
|
||||
<td><p>2.5.35</p></td>
|
||||
<td><p>NA</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p>v1.8.x</p></td>
|
||||
<td><p>1.4.16</p></td>
|
||||
<td><p>2.69</p></td>
|
||||
<td><p>1.12.2</p></td>
|
||||
<td><p>2.4.2</p></td>
|
||||
<td><p>2.5.35</p></td>
|
||||
<td><p>NA</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p>v1.10.x</p></td>
|
||||
<td><p>1.4.16</p></td>
|
||||
<td><p>2.69</p></td>
|
||||
<td><p>1.12.2</p></td>
|
||||
<td><p>2.4.2</p></td>
|
||||
<td><p>2.5.35</p></td>
|
||||
<td><p>NA</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p>v2.0.x through v4.y</p></td>
|
||||
<td><p>1.4.17</p></td>
|
||||
<td><p>2.69</p></td>
|
||||
<td><p>1.15</p></td>
|
||||
<td><p>2.4.6</p></td>
|
||||
<td><p>2.5.35</p></td>
|
||||
<td><p>NA</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p>v5.0.x</p></td>
|
||||
<td><p>1.4.17</p></td>
|
||||
<td><p>2.69</p></td>
|
||||
<td><p>1.15</p></td>
|
||||
<td><p>2.4.6</p></td>
|
||||
<td><p>2.5.35</p></td>
|
||||
<td><p>4.2.0</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p>Git main</p></td>
|
||||
<td><p>1.4.17</p></td>
|
||||
<td><p>2.69</p></td>
|
||||
<td><p>1.15</p></td>
|
||||
<td><p>2.4.6</p></td>
|
||||
<td><p>2.5.35</p></td>
|
||||
<td><p>4.2.0</p></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="section" id="checking-your-versions">
|
||||
<h2><span class="section-number">11.3.3. </span>Checking your versions<a class="headerlink" href="#checking-your-versions" title="Permalink to this heading"></a></h2>
|
||||
<p>You can check what versions of the Autotools you have installed with
|
||||
the following:</p>
|
||||
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>shell$<span class="w"> </span>m4<span class="w"> </span>--version
|
||||
shell$<span class="w"> </span>autoconf<span class="w"> </span>--version
|
||||
shell$<span class="w"> </span>automake<span class="w"> </span>--version
|
||||
shell$<span class="w"> </span>libtoolize<span class="w"> </span>--version
|
||||
</pre></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="section" id="installing-the-gnu-autotools-from-source">
|
||||
<h2><span class="section-number">11.3.4. </span>Installing the GNU Autotools from source<a class="headerlink" href="#installing-the-gnu-autotools-from-source" title="Permalink to this heading"></a></h2>
|
||||
<div class="admonition note">
|
||||
<p class="admonition-title">Note</p>
|
||||
<p>Most operating system packaging systems (to include Homebrew
|
||||
and MacPorts on MacOS) install recent-enough versions of the
|
||||
GNU Autotools. You should generally only install the GNU
|
||||
Autotools manually if you can’t use your operating system
|
||||
packaging system to install them for you.</p>
|
||||
</div>
|
||||
<p>The GNU Autotools sources can be can be downloaded from:</p>
|
||||
<ul class="simple">
|
||||
<li><p><a class="reference external" href="https://ftp.gnu.org/gnu/autoconf/">https://ftp.gnu.org/gnu/autoconf/</a></p></li>
|
||||
<li><p><a class="reference external" href="https://ftp.gnu.org/gnu/automake/">https://ftp.gnu.org/gnu/automake/</a></p></li>
|
||||
<li><p><a class="reference external" href="https://ftp.gnu.org/gnu/libtool/">https://ftp.gnu.org/gnu/libtool/</a></p></li>
|
||||
<li><p>And if you need it: <a class="reference external" href="https://ftp.gnu.org/gnu/m4/">https://ftp.gnu.org/gnu/m4/</a></p></li>
|
||||
</ul>
|
||||
<p>It is certainly easiest to download/build/install all four of these
|
||||
tools together. But note that PRRTE has no specific m4
|
||||
requirements; it is only listed here because Autoconf requires minimum
|
||||
versions of GNU m4. Hence, you may or may not <em>need</em> to actually
|
||||
install a new version of GNU m4. That being said, if you are confused
|
||||
or don’t know, just install the latest GNU m4 with the rest of the GNU
|
||||
Autotools and everything will work out fine.</p>
|
||||
</div>
|
||||
<div class="section" id="build-and-install-ordering">
|
||||
<h2><span class="section-number">11.3.5. </span>Build and install ordering<a class="headerlink" href="#build-and-install-ordering" title="Permalink to this heading"></a></h2>
|
||||
<p>You must build and install the GNU Autotools in the following order:</p>
|
||||
<ol class="arabic simple">
|
||||
<li><p>m4</p></li>
|
||||
<li><p>Autoconf</p></li>
|
||||
<li><p>Automake</p></li>
|
||||
<li><p>Libtool</p></li>
|
||||
</ol>
|
||||
<div class="admonition important">
|
||||
<p class="admonition-title">Important</p>
|
||||
<p>You <em>must</em> install the last three tools (Autoconf,
|
||||
Automake, Libtool) into the same prefix directory.
|
||||
These three tools are somewhat inter-related, and if
|
||||
they’re going to be used together, they <em>must</em> share a
|
||||
common installation prefix.</p>
|
||||
</div>
|
||||
<p>You can install m4 anywhere as long as it can be found in the path;
|
||||
it may be convenient to install it in the same prefix as the other
|
||||
three. Or you can use any recent-enough m4 that is in your path.</p>
|
||||
<div class="admonition warning">
|
||||
<p class="admonition-title">Warning</p>
|
||||
<p>It is <em>strongly</em> encouraged that you do <strong>not</strong> install
|
||||
your new versions over the OS-installed versions. This could cause
|
||||
other things on your system to break. Instead, install into
|
||||
<code class="docutils literal notranslate"><span class="pre">$HOME/local</span></code>, or <code class="docutils literal notranslate"><span class="pre">/usr/local</span></code>, or wherever else you tend to
|
||||
install “local” kinds of software.</p>
|
||||
<p>In doing so, be sure to prefix your <code class="docutils literal notranslate"><span class="pre">$PATH</span></code> with the directory
|
||||
where they are installed. For example, if you install into
|
||||
<code class="docutils literal notranslate"><span class="pre">$HOME/local</span></code>, you may want to edit your shell startup file
|
||||
(<code class="docutils literal notranslate"><span class="pre">.bashrc</span></code>, <code class="docutils literal notranslate"><span class="pre">.cshrc</span></code>, <code class="docutils literal notranslate"><span class="pre">.tcshrc</span></code>, etc.) to have something
|
||||
like</p>
|
||||
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span><span class="c1"># For bash/sh:</span>
|
||||
<span class="nb">export</span><span class="w"> </span><span class="nv">PATH</span><span class="o">=</span><span class="nv">$HOME</span>/local/bin:<span class="nv">$PATH</span>
|
||||
<span class="c1"># For csh/tcsh:</span>
|
||||
<span class="nb">set</span><span class="w"> </span><span class="nv">path</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="o">(</span><span class="nv">$HOME</span>/local/bin<span class="w"> </span><span class="nv">$path</span><span class="o">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>Ensure to set your <code class="docutils literal notranslate"><span class="pre">$PATH</span></code> <em>before</em> you configure/build/install
|
||||
the four packages.</p>
|
||||
</div>
|
||||
<p>All four packages require two simple commands to build and
|
||||
install:</p>
|
||||
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>shell$<span class="w"> </span><span class="nb">cd</span><span class="w"> </span>M4_DIRECTORY
|
||||
shell$<span class="w"> </span>./configure<span class="w"> </span>--prefix<span class="o">=</span>PREFIX
|
||||
shell$<span class="w"> </span>make<span class="w"> </span>all<span class="w"> </span>install
|
||||
</pre></div>
|
||||
</div>
|
||||
<div class="admonition important">
|
||||
<p class="admonition-title">Important</p>
|
||||
<p>If you are using a shell that does not automatically
|
||||
re-index the <code class="docutils literal notranslate"><span class="pre">$PATH</span></code> (e.g., the <code class="docutils literal notranslate"><span class="pre">csh</span></code> or <code class="docutils literal notranslate"><span class="pre">tcsh</span></code>
|
||||
shells), be sure to run the <code class="docutils literal notranslate"><span class="pre">rehash</span></code> command before
|
||||
you install the next package so that the executables
|
||||
that were just installed can be found by the next
|
||||
package.</p>
|
||||
</div>
|
||||
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span><span class="c1"># Make $PATH be re-indexed if necessary, e.g., via "rehash"</span>
|
||||
shell$<span class="w"> </span><span class="nb">cd</span><span class="w"> </span>AUTOCONF_DIRECTORY
|
||||
shell$<span class="w"> </span>./configure<span class="w"> </span>--prefix<span class="o">=</span>PREFIX
|
||||
shell$<span class="w"> </span>make<span class="w"> </span>all<span class="w"> </span>install
|
||||
</pre></div>
|
||||
</div>
|
||||
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span><span class="c1"># Make $PATH be re-indexed if necessary, e.g., via "rehash"</span>
|
||||
shell$<span class="w"> </span><span class="nb">cd</span><span class="w"> </span>AUTOMAKE_DIRECTORY
|
||||
shell$<span class="w"> </span>./configure<span class="w"> </span>--prefix<span class="o">=</span>PREFIX
|
||||
shell$<span class="w"> </span>make<span class="w"> </span>all<span class="w"> </span>install
|
||||
</pre></div>
|
||||
</div>
|
||||
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span><span class="c1"># Make $PATH be re-indexed if necessary, e.g., via "rehash"</span>
|
||||
shell$<span class="w"> </span><span class="nb">cd</span><span class="w"> </span>LIBTOOL_DIRECTORY
|
||||
shell$<span class="w"> </span>./configure<span class="w"> </span>--prefix<span class="o">=</span>PREFIX
|
||||
shell$<span class="w"> </span>make<span class="w"> </span>all<span class="w"> </span>install
|
||||
</pre></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
|
||||
<a href="git-github.html" class="btn btn-neutral float-left" title="11.2. GitHub, Git, and related topics" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
|
||||
<a href="sphinx.html" class="btn btn-neutral float-right" title="11.4. Installing and running Sphinx (building the PRRTE docs)" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
|
||||
</div>
|
||||
|
||||
<hr/>
|
||||
|
||||
<div role="contentinfo">
|
||||
<p>© Copyright 2003-2025, The PRRTE Community.</p>
|
||||
</div>
|
||||
|
||||
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
|
||||
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
|
||||
provided by <a href="https://readthedocs.org">Read the Docs</a>.
|
||||
|
||||
|
||||
</footer>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
<script>
|
||||
jQuery(function () {
|
||||
SphinxRtdTheme.Navigation.enable(true);
|
||||
});
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
148
linx64/mpi/openmpi/share/doc/prrte/html/developers/index.html
Normal file
148
linx64/mpi/openmpi/share/doc/prrte/html/developers/index.html
Normal file
@@ -0,0 +1,148 @@
|
||||
<!DOCTYPE html>
|
||||
<html class="writer-html5" lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>11. Developer’s guide — PMIx Reference Run Time Environment 3.0.8 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../_static/css/theme.css" />
|
||||
|
||||
|
||||
<!--[if lt IE 9]>
|
||||
<script src="../_static/js/html5shiv.min.js"></script>
|
||||
<![endif]-->
|
||||
|
||||
<script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
|
||||
<script src="../_static/jquery.js"></script>
|
||||
<script src="../_static/underscore.js"></script>
|
||||
<script src="../_static/_sphinx_javascript_frameworks_compat.js"></script>
|
||||
<script src="../_static/doctools.js"></script>
|
||||
<script src="../_static/sphinx_highlight.js"></script>
|
||||
<script src="../_static/js/theme.js"></script>
|
||||
<link rel="index" title="Index" href="../genindex.html" />
|
||||
<link rel="search" title="Search" href="../search.html" />
|
||||
<link rel="next" title="11.1. Prerequisites" href="prerequisites.html" />
|
||||
<link rel="prev" title="10. Session directory" href="../session-directory.html" />
|
||||
</head>
|
||||
|
||||
<body class="wy-body-for-nav">
|
||||
<div class="wy-grid-for-nav">
|
||||
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
|
||||
<div class="wy-side-scroll">
|
||||
<div class="wy-side-nav-search" >
|
||||
|
||||
|
||||
|
||||
<a href="../index.html" class="icon icon-home">
|
||||
PMIx Reference Run Time Environment
|
||||
</a>
|
||||
<div role="search">
|
||||
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
|
||||
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
|
||||
<input type="hidden" name="check_keywords" value="yes" />
|
||||
<input type="hidden" name="area" value="default" />
|
||||
</form>
|
||||
</div>
|
||||
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
|
||||
<ul class="current">
|
||||
<li class="toctree-l1"><a class="reference internal" href="../quickstart.html">1. Quick start</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../release-notes.html">2. Release Notes</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../getting-help.html">3. Getting help</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../install.html">4. Installing PRRTE</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../configuration.html">5. PRRTE DVM Configuration</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../how-things-work/index.html">6. How Things Work</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../hosts/index.html">7. Host specification</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../placement/index.html">8. Process placement</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../notifications.html">9. Notifications</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../session-directory.html">10. Session directory</a></li>
|
||||
<li class="toctree-l1 current"><a class="current reference internal" href="#">11. Developer’s guide</a><ul>
|
||||
<li class="toctree-l2"><a class="reference internal" href="prerequisites.html">11.1. Prerequisites</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="git-github.html">11.2. GitHub, Git, and related topics</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="gnu-autotools.html">11.3. Manually installing the GNU Autootools</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="sphinx.html">11.4. Installing and running Sphinx (building the PRRTE docs)</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="rst-for-markdown-expats.html">11.5. ReStructured Text for those who know Markdown</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../contributing.html">12. Contributing to PRRTE</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../license.html">13. License</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../man/index.html">14. PRRTE manual pages</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../versions.html">15. Software Version Numbers</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../news/index.html">16. News</a></li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
|
||||
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
||||
<a href="../index.html">PMIx Reference Run Time Environment</a>
|
||||
</nav>
|
||||
|
||||
<div class="wy-nav-content">
|
||||
<div class="rst-content">
|
||||
<div role="navigation" aria-label="Page navigation">
|
||||
<ul class="wy-breadcrumbs">
|
||||
<li><a href="../index.html" class="icon icon-home" aria-label="Home"></a></li>
|
||||
<li class="breadcrumb-item active"><span class="section-number">11. </span>Developer’s guide</li>
|
||||
<li class="wy-breadcrumbs-aside">
|
||||
<a href="../_sources/developers/index.rst.txt" rel="nofollow"> View page source</a>
|
||||
</li>
|
||||
</ul>
|
||||
<hr/>
|
||||
</div>
|
||||
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||||
<div itemprop="articleBody">
|
||||
|
||||
<style>
|
||||
.wy-table-responsive table td,.wy-table-responsive table th{white-space:normal}
|
||||
</style><div class="section" id="developer-s-guide">
|
||||
<h1><span class="section-number">11. </span>Developer’s guide<a class="headerlink" href="#developer-s-guide" title="Permalink to this heading"></a></h1>
|
||||
<p>This section is here for those who are building/exploring the
|
||||
internals of PRRTE in its source code form, most likely through a
|
||||
developer’s tree (i.e., a Git clone).</p>
|
||||
<p>If you are simply <em>using</em> PRRTE, you probably don’t need to read this
|
||||
section.</p>
|
||||
<div class="toctree-wrapper compound">
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="prerequisites.html">11.1. Prerequisites</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="git-github.html">11.2. GitHub, Git, and related topics</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="gnu-autotools.html">11.3. Manually installing the GNU Autootools</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="sphinx.html">11.4. Installing and running Sphinx (building the PRRTE docs)</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="rst-for-markdown-expats.html">11.5. ReStructured Text for those who know Markdown</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
|
||||
<a href="../session-directory.html" class="btn btn-neutral float-left" title="10. Session directory" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
|
||||
<a href="prerequisites.html" class="btn btn-neutral float-right" title="11.1. Prerequisites" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
|
||||
</div>
|
||||
|
||||
<hr/>
|
||||
|
||||
<div role="contentinfo">
|
||||
<p>© Copyright 2003-2025, The PRRTE Community.</p>
|
||||
</div>
|
||||
|
||||
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
|
||||
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
|
||||
provided by <a href="https://readthedocs.org">Read the Docs</a>.
|
||||
|
||||
|
||||
</footer>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
<script>
|
||||
jQuery(function () {
|
||||
SphinxRtdTheme.Navigation.enable(true);
|
||||
});
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,265 @@
|
||||
<!DOCTYPE html>
|
||||
<html class="writer-html5" lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>11.1. Prerequisites — PMIx Reference Run Time Environment 3.0.8 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../_static/css/theme.css" />
|
||||
|
||||
|
||||
<!--[if lt IE 9]>
|
||||
<script src="../_static/js/html5shiv.min.js"></script>
|
||||
<![endif]-->
|
||||
|
||||
<script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
|
||||
<script src="../_static/jquery.js"></script>
|
||||
<script src="../_static/underscore.js"></script>
|
||||
<script src="../_static/_sphinx_javascript_frameworks_compat.js"></script>
|
||||
<script src="../_static/doctools.js"></script>
|
||||
<script src="../_static/sphinx_highlight.js"></script>
|
||||
<script src="../_static/js/theme.js"></script>
|
||||
<link rel="index" title="Index" href="../genindex.html" />
|
||||
<link rel="search" title="Search" href="../search.html" />
|
||||
<link rel="next" title="11.2. GitHub, Git, and related topics" href="git-github.html" />
|
||||
<link rel="prev" title="11. Developer’s guide" href="index.html" />
|
||||
</head>
|
||||
|
||||
<body class="wy-body-for-nav">
|
||||
<div class="wy-grid-for-nav">
|
||||
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
|
||||
<div class="wy-side-scroll">
|
||||
<div class="wy-side-nav-search" >
|
||||
|
||||
|
||||
|
||||
<a href="../index.html" class="icon icon-home">
|
||||
PMIx Reference Run Time Environment
|
||||
</a>
|
||||
<div role="search">
|
||||
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
|
||||
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
|
||||
<input type="hidden" name="check_keywords" value="yes" />
|
||||
<input type="hidden" name="area" value="default" />
|
||||
</form>
|
||||
</div>
|
||||
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
|
||||
<ul class="current">
|
||||
<li class="toctree-l1"><a class="reference internal" href="../quickstart.html">1. Quick start</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../release-notes.html">2. Release Notes</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../getting-help.html">3. Getting help</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../install.html">4. Installing PRRTE</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../configuration.html">5. PRRTE DVM Configuration</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../how-things-work/index.html">6. How Things Work</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../hosts/index.html">7. Host specification</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../placement/index.html">8. Process placement</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../notifications.html">9. Notifications</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../session-directory.html">10. Session directory</a></li>
|
||||
<li class="toctree-l1 current"><a class="reference internal" href="index.html">11. Developer’s guide</a><ul class="current">
|
||||
<li class="toctree-l2 current"><a class="current reference internal" href="#">11.1. Prerequisites</a><ul>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#compilers">11.1.1. Compilers</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#gnu-autotools">11.1.2. GNU Autotools</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#perl">11.1.3. Perl</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#flex">11.1.4. Flex</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#sphinx-and-therefore-python">11.1.5. Sphinx (and therefore Python)</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="git-github.html">11.2. GitHub, Git, and related topics</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="gnu-autotools.html">11.3. Manually installing the GNU Autootools</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="sphinx.html">11.4. Installing and running Sphinx (building the PRRTE docs)</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="rst-for-markdown-expats.html">11.5. ReStructured Text for those who know Markdown</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../contributing.html">12. Contributing to PRRTE</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../license.html">13. License</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../man/index.html">14. PRRTE manual pages</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../versions.html">15. Software Version Numbers</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../news/index.html">16. News</a></li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
|
||||
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
||||
<a href="../index.html">PMIx Reference Run Time Environment</a>
|
||||
</nav>
|
||||
|
||||
<div class="wy-nav-content">
|
||||
<div class="rst-content">
|
||||
<div role="navigation" aria-label="Page navigation">
|
||||
<ul class="wy-breadcrumbs">
|
||||
<li><a href="../index.html" class="icon icon-home" aria-label="Home"></a></li>
|
||||
<li class="breadcrumb-item"><a href="index.html"><span class="section-number">11. </span>Developer’s guide</a></li>
|
||||
<li class="breadcrumb-item active"><span class="section-number">11.1. </span>Prerequisites</li>
|
||||
<li class="wy-breadcrumbs-aside">
|
||||
<a href="../_sources/developers/prerequisites.rst.txt" rel="nofollow"> View page source</a>
|
||||
</li>
|
||||
</ul>
|
||||
<hr/>
|
||||
</div>
|
||||
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||||
<div itemprop="articleBody">
|
||||
|
||||
<style>
|
||||
.wy-table-responsive table td,.wy-table-responsive table th{white-space:normal}
|
||||
</style><div class="section" id="prerequisites">
|
||||
<h1><span class="section-number">11.1. </span>Prerequisites<a class="headerlink" href="#prerequisites" title="Permalink to this heading"></a></h1>
|
||||
<div class="section" id="compilers">
|
||||
<h2><span class="section-number">11.1.1. </span>Compilers<a class="headerlink" href="#compilers" title="Permalink to this heading"></a></h2>
|
||||
<p>Although it should probably be assumed, you’ll need a C compiler that
|
||||
supports C99.</p>
|
||||
</div>
|
||||
<div class="section" id="gnu-autotools">
|
||||
<h2><span class="section-number">11.1.2. </span>GNU Autotools<a class="headerlink" href="#gnu-autotools" title="Permalink to this heading"></a></h2>
|
||||
<p>When building PRRTE from its repository sources, the GNU Autotools
|
||||
must be installed (i.e., <a class="reference external" href="https://www.gnu.org/software/autoconf/">GNU Autoconf</a>, <a class="reference external" href="https://www.gnu.org/software/automake/">GNU Automake</a>, and <a class="reference external" href="https://www.gnu.org/software/libtool/">GNU Libtool</a>).</p>
|
||||
<table class="colwidths-given docutils align-default">
|
||||
<colgroup>
|
||||
<col style="width: 50%" />
|
||||
<col style="width: 50%" />
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr class="row-odd"><th class="head"><p>Tool</p></th>
|
||||
<th class="head"><p>Minimum version</p></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr class="row-even"><td><p>Autoconf</p></td>
|
||||
<td><p>2.69.0</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p>Automake</p></td>
|
||||
<td><p>1.13.4</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p>Libtool</p></td>
|
||||
<td><p>2.4.2</p></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="admonition note">
|
||||
<p class="admonition-title">Note</p>
|
||||
<p>The GNU Autotools are <em>not</em> required when building PRRTE
|
||||
from distribution tarballs. PRRTE distribution tarballs
|
||||
are bootstrapped such that end-users do not need to have the
|
||||
GNU Autotools installed.</p>
|
||||
</div>
|
||||
<p>You can generally install GNU Autoconf, Automake, and Libtool via your
|
||||
Linux distribution native package system, or via Homebrew or MacPorts
|
||||
on MacOS. This usually “just works.”</p>
|
||||
<p>If you run into problems with the GNU Autotools, or need to download /
|
||||
build them manually, see the <a class="reference internal" href="gnu-autotools.html#developers-installing-autotools-label"><span class="std std-ref">how to build and install GNU
|
||||
Autotools section</span></a> for much
|
||||
more detail.</p>
|
||||
</div>
|
||||
<div class="section" id="perl">
|
||||
<h2><span class="section-number">11.1.3. </span>Perl<a class="headerlink" href="#perl" title="Permalink to this heading"></a></h2>
|
||||
<p>PRRTE still uses Perl for a few of its build scripts (most notably,
|
||||
<code class="docutils literal notranslate"><span class="pre">autogen.pl</span></code>).</p>
|
||||
<p>Generally speaking, any recent-ish release of Perl 5 should be
|
||||
sufficient to correctly execute PRRTE’s Perl scripts.</p>
|
||||
</div>
|
||||
<div class="section" id="flex">
|
||||
<h2><span class="section-number">11.1.4. </span>Flex<a class="headerlink" href="#flex" title="Permalink to this heading"></a></h2>
|
||||
<p>Minimum supported version: 2.5.4.</p>
|
||||
<p><a class="reference external" href="https://github.com/westes/flex">Flex</a> is used during the
|
||||
compilation of a developer’s checkout (it is not used to build
|
||||
official distribution tarballs). Other flavors of lex are <em>not</em>
|
||||
supported: given the choice of making parsing code portable between
|
||||
all flavors of lex and doing more interesting work on PRRTE, we
|
||||
greatly prefer the latter.</p>
|
||||
<p>Note that no testing has been performed to see what the minimum
|
||||
version of Flex is required by PRRTE. We suggest that you use
|
||||
v2.5.35 at the earliest.</p>
|
||||
<p>For now, PRRTE will allow developer builds with Flex 2.5.4. This
|
||||
is primarily motivated by the fact that RedHat/CentOS 5 ships with
|
||||
Flex 2.5.4. It is likely that someday PRRTE developer builds will
|
||||
require Flex version >=2.5.35.</p>
|
||||
<p>Note that the <code class="docutils literal notranslate"><span class="pre">flex</span></code>-generated code generates some compiler warnings
|
||||
on some platforms, but the warnings do not seem to be consistent or
|
||||
uniform on all platforms, compilers, and flex versions. As such, we
|
||||
have done little to try to remove those warnings.</p>
|
||||
<p>If you do not have Flex installed and cannot easily install it via
|
||||
your operating system’s packaging system (to include Homebrew or
|
||||
MacPorts on MacOS), see <a class="reference external" href="https://github.com/westes/flex">the Flex Github repository</a>.</p>
|
||||
</div>
|
||||
<div class="section" id="sphinx-and-therefore-python">
|
||||
<h2><span class="section-number">11.1.5. </span>Sphinx (and therefore Python)<a class="headerlink" href="#sphinx-and-therefore-python" title="Permalink to this heading"></a></h2>
|
||||
<p><a class="reference external" href="https://www.sphinx-doc.org/">Sphinx</a> is a Python-based tool used to
|
||||
generate both the HTML version of the documentation (that you are
|
||||
reading right now) and the nroff man pages.</p>
|
||||
<p>Official PRRTE distribution tarballs contain pre-built HTML
|
||||
documentation and man pages. This means that – similar to the GNU
|
||||
Autotools – end users do not need to have Sphinx installed, but will
|
||||
still have both the HTML documentation and man pages installed as part
|
||||
of the normal configure / build / install process.</p>
|
||||
<p>However, the HTML documentation and man pages are <em>not</em> stored in PRRTE’s
|
||||
Git repository; only the ReStructred Text source code of the
|
||||
documentation is in the Git repository. Hence, if you are building
|
||||
PRRTE from a Git clone, you will need Sphinx (and some Python
|
||||
modules) in order to build the HTML documentation and man pages.</p>
|
||||
<div class="admonition important">
|
||||
<p class="admonition-title">Important</p>
|
||||
<p>Most systems do not have Sphinx and/or the required
|
||||
Python modules installed by default. <a class="reference internal" href="sphinx.html#developers-installing-sphinx-label"><span class="std std-ref">See the
|
||||
Installing Sphinx section</span></a> for details on
|
||||
how to install Sphinx and the required Python modules.</p>
|
||||
</div>
|
||||
<p>If <code class="docutils literal notranslate"><span class="pre">configure</span></code> is able to find Sphinx and the required Python
|
||||
modules, it will automatically generate the HTML documentation and man
|
||||
pages during the normal build procedure (i.e., during <code class="docutils literal notranslate"><span class="pre">make</span> <span class="pre">all</span></code>).
|
||||
If <code class="docutils literal notranslate"><span class="pre">configure</span></code> is <em>not</em> able to find Sphinx and/or the required
|
||||
Python modules, it will simply skip building the documentation.</p>
|
||||
<div class="admonition note">
|
||||
<p class="admonition-title">Note</p>
|
||||
<p>If you have built/installed PRRTE from a Git clone and
|
||||
unexpectedly did not have the man pages installed, it is
|
||||
likely that you do not have Sphinx and/or the required
|
||||
Python modules available.</p>
|
||||
<p><a class="reference internal" href="sphinx.html#developers-installing-sphinx-label"><span class="std std-ref">See the Installing Sphinx section</span></a> for details on how
|
||||
to install Sphinx and the required Python modules.</p>
|
||||
</div>
|
||||
<div class="admonition important">
|
||||
<p class="admonition-title">Important</p>
|
||||
<p><code class="docutils literal notranslate"><span class="pre">make</span> <span class="pre">dist</span></code> will fail if <code class="docutils literal notranslate"><span class="pre">configure</span></code> did not find
|
||||
Sphinx and/or the required Python modules.
|
||||
Specifically: if <code class="docutils literal notranslate"><span class="pre">make</span> <span class="pre">dist</span></code> is not able to generate
|
||||
the most up-to-date HTML documentation and man pages,
|
||||
you cannot build a distribution tarball. <strong>This is an
|
||||
intentional design decision.</strong></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
|
||||
<a href="index.html" class="btn btn-neutral float-left" title="11. Developer’s guide" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
|
||||
<a href="git-github.html" class="btn btn-neutral float-right" title="11.2. GitHub, Git, and related topics" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
|
||||
</div>
|
||||
|
||||
<hr/>
|
||||
|
||||
<div role="contentinfo">
|
||||
<p>© Copyright 2003-2025, The PRRTE Community.</p>
|
||||
</div>
|
||||
|
||||
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
|
||||
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
|
||||
provided by <a href="https://readthedocs.org">Read the Docs</a>.
|
||||
|
||||
|
||||
</footer>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
<script>
|
||||
jQuery(function () {
|
||||
SphinxRtdTheme.Navigation.enable(true);
|
||||
});
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,557 @@
|
||||
<!DOCTYPE html>
|
||||
<html class="writer-html5" lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>11.5. ReStructured Text for those who know Markdown — PMIx Reference Run Time Environment 3.0.8 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../_static/css/theme.css" />
|
||||
|
||||
|
||||
<!--[if lt IE 9]>
|
||||
<script src="../_static/js/html5shiv.min.js"></script>
|
||||
<![endif]-->
|
||||
|
||||
<script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
|
||||
<script src="../_static/jquery.js"></script>
|
||||
<script src="../_static/underscore.js"></script>
|
||||
<script src="../_static/_sphinx_javascript_frameworks_compat.js"></script>
|
||||
<script src="../_static/doctools.js"></script>
|
||||
<script src="../_static/sphinx_highlight.js"></script>
|
||||
<script src="../_static/js/theme.js"></script>
|
||||
<link rel="index" title="Index" href="../genindex.html" />
|
||||
<link rel="search" title="Search" href="../search.html" />
|
||||
<link rel="next" title="12. Contributing to PRRTE" href="../contributing.html" />
|
||||
<link rel="prev" title="11.4. Installing and running Sphinx (building the PRRTE docs)" href="sphinx.html" />
|
||||
</head>
|
||||
|
||||
<body class="wy-body-for-nav">
|
||||
<div class="wy-grid-for-nav">
|
||||
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
|
||||
<div class="wy-side-scroll">
|
||||
<div class="wy-side-nav-search" >
|
||||
|
||||
|
||||
|
||||
<a href="../index.html" class="icon icon-home">
|
||||
PMIx Reference Run Time Environment
|
||||
</a>
|
||||
<div role="search">
|
||||
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
|
||||
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
|
||||
<input type="hidden" name="check_keywords" value="yes" />
|
||||
<input type="hidden" name="area" value="default" />
|
||||
</form>
|
||||
</div>
|
||||
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
|
||||
<ul class="current">
|
||||
<li class="toctree-l1"><a class="reference internal" href="../quickstart.html">1. Quick start</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../release-notes.html">2. Release Notes</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../getting-help.html">3. Getting help</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../install.html">4. Installing PRRTE</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../configuration.html">5. PRRTE DVM Configuration</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../how-things-work/index.html">6. How Things Work</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../hosts/index.html">7. Host specification</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../placement/index.html">8. Process placement</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../notifications.html">9. Notifications</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../session-directory.html">10. Session directory</a></li>
|
||||
<li class="toctree-l1 current"><a class="reference internal" href="index.html">11. Developer’s guide</a><ul class="current">
|
||||
<li class="toctree-l2"><a class="reference internal" href="prerequisites.html">11.1. Prerequisites</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="git-github.html">11.2. GitHub, Git, and related topics</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="gnu-autotools.html">11.3. Manually installing the GNU Autootools</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="sphinx.html">11.4. Installing and running Sphinx (building the PRRTE docs)</a></li>
|
||||
<li class="toctree-l2 current"><a class="current reference internal" href="#">11.5. ReStructured Text for those who know Markdown</a><ul>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#whitespace-and-indenting">11.5.1. Whitespace and indenting</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#fixed-width-font">11.5.2. Fixed width font</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#italics">11.5.3. Italics</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#boldface">11.5.4. Boldface</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#chapter-and-section-delimiters">11.5.5. Chapter and section delimiters</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#multi-line-code-fixed-width-font">11.5.6. Multi-line code/fixed-width font</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#un-numbered-bullets">11.5.7. Un-numbered bullets</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#numbered-bullets">11.5.8. Numbered bullets:</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#comments">11.5.9. Comments</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#including-files">11.5.10. Including files</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#hyperlinks-to-urls">11.5.11. Hyperlinks to URLs</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#hyperlinks-to-anchors">11.5.12. Hyperlinks to anchors</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#hyperlinks-to-other-rst-pages">11.5.13. Hyperlinks to other (RST) pages</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#macros">11.5.14. Macros</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#brightly-colored-boxes">11.5.15. Brightly-colored boxes</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../contributing.html">12. Contributing to PRRTE</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../license.html">13. License</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../man/index.html">14. PRRTE manual pages</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../versions.html">15. Software Version Numbers</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../news/index.html">16. News</a></li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
|
||||
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
||||
<a href="../index.html">PMIx Reference Run Time Environment</a>
|
||||
</nav>
|
||||
|
||||
<div class="wy-nav-content">
|
||||
<div class="rst-content">
|
||||
<div role="navigation" aria-label="Page navigation">
|
||||
<ul class="wy-breadcrumbs">
|
||||
<li><a href="../index.html" class="icon icon-home" aria-label="Home"></a></li>
|
||||
<li class="breadcrumb-item"><a href="index.html"><span class="section-number">11. </span>Developer’s guide</a></li>
|
||||
<li class="breadcrumb-item active"><span class="section-number">11.5. </span>ReStructured Text for those who know Markdown</li>
|
||||
<li class="wy-breadcrumbs-aside">
|
||||
<a href="../_sources/developers/rst-for-markdown-expats.rst.txt" rel="nofollow"> View page source</a>
|
||||
</li>
|
||||
</ul>
|
||||
<hr/>
|
||||
</div>
|
||||
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||||
<div itemprop="articleBody">
|
||||
|
||||
<style>
|
||||
.wy-table-responsive table td,.wy-table-responsive table th{white-space:normal}
|
||||
</style><div class="section" id="restructured-text-for-those-who-know-markdown">
|
||||
<span id="developers-rst-for-markdown-expats"></span><h1><span class="section-number">11.5. </span>ReStructured Text for those who know Markdown<a class="headerlink" href="#restructured-text-for-those-who-know-markdown" title="Permalink to this heading"></a></h1>
|
||||
<p>You can think of RST as “Markdown, but much better”. Meaning:</p>
|
||||
<ol class="arabic simple">
|
||||
<li><p>RST is basically just as simple as Markdown</p></li>
|
||||
<li><p>But RST is both more precise, and has more available formatting
|
||||
constructs (without getting crazy complicated)</p></li>
|
||||
</ol>
|
||||
<p>The full Sphinx / RST documentation is available here:
|
||||
<a class="reference external" href="https://www.sphinx-doc.org/en/master/index.html">https://www.sphinx-doc.org/en/master/index.html</a></p>
|
||||
<p>If you’re familiar with Markdown, the following sections contain some
|
||||
tips to get you started in RST.</p>
|
||||
<div class="section" id="whitespace-and-indenting">
|
||||
<h2><span class="section-number">11.5.1. </span>Whitespace and indenting<a class="headerlink" href="#whitespace-and-indenting" title="Permalink to this heading"></a></h2>
|
||||
<ul>
|
||||
<li><p>MD: Whitespace and indenting generally doesn’t matter in most
|
||||
cases. It does matter with bullets and sub bullets, but the rules
|
||||
get pretty weird, and vary between different Markdown renderers.</p></li>
|
||||
<li><p>RST: <strong>Indenting matters</strong>. A lot. Just like Python. In
|
||||
general, you indent all RST text to keep it within the same level.
|
||||
For example, all this text would be a single paragraph</p>
|
||||
<p><strong>Blank lines also matter</strong>. A lot. You use blank lines to
|
||||
delimit sections within an indenting level. For example, the
|
||||
blank line before this paragraph denotes a paragraph break.</p>
|
||||
<div class="admonition note">
|
||||
<p class="admonition-title">Note</p>
|
||||
<p>RST was created by the Python community. Hence,
|
||||
whitespace is quite important.</p>
|
||||
<ul class="simple">
|
||||
<li><p>Indenting matters</p></li>
|
||||
<li><p>Blank lines between content matter</p></li>
|
||||
</ul>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
<p>Using a blank line and outdenting indicates the end of the previous
|
||||
item. For example, this paragraph is not part of the MD/RST
|
||||
bulleted list.</p>
|
||||
</div>
|
||||
<div class="section" id="fixed-width-font">
|
||||
<h2><span class="section-number">11.5.2. </span>Fixed width font<a class="headerlink" href="#fixed-width-font" title="Permalink to this heading"></a></h2>
|
||||
<ul>
|
||||
<li><p>MD: Use single quotes:</p>
|
||||
<div class="highlight-md notranslate"><div class="highlight"><pre><span></span><span class="sb">`hello world`</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</li>
|
||||
<li><p>RST: Use a pair of single quotes:</p>
|
||||
<div class="highlight-rst notranslate"><div class="highlight"><pre><span></span><span class="s">``hello world``</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="section" id="italics">
|
||||
<h2><span class="section-number">11.5.3. </span>Italics<a class="headerlink" href="#italics" title="Permalink to this heading"></a></h2>
|
||||
<ul class="simple">
|
||||
<li><p>MD: <code class="docutils literal notranslate"><span class="pre">*hello</span> <span class="pre">world*</span></code> or <code class="docutils literal notranslate"><span class="pre">_hello</span> <span class="pre">world_</span></code></p></li>
|
||||
<li><p>RST: <code class="docutils literal notranslate"><span class="pre">*hello</span> <span class="pre">world*</span></code></p></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="section" id="boldface">
|
||||
<h2><span class="section-number">11.5.4. </span>Boldface<a class="headerlink" href="#boldface" title="Permalink to this heading"></a></h2>
|
||||
<ul class="simple">
|
||||
<li><p>MD: <code class="docutils literal notranslate"><span class="pre">**hello</span> <span class="pre">world**</span></code></p></li>
|
||||
<li><p>RST: Same as MD</p></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="section" id="chapter-and-section-delimiters">
|
||||
<h2><span class="section-number">11.5.5. </span>Chapter and section delimiters<a class="headerlink" href="#chapter-and-section-delimiters" title="Permalink to this heading"></a></h2>
|
||||
<ul>
|
||||
<li><p>MD: Either use one or more pound signs (#, ##, ###) to the left of
|
||||
the line of text, or underline the line of text with pound signs</p></li>
|
||||
<li><p>RST: Have a single line of text, underlined by non-ASCII
|
||||
characters.</p>
|
||||
<ul>
|
||||
<li><p>The length of the underlying <em>must</em> be at least as long as the
|
||||
line of text</p></li>
|
||||
<li><p>Which non-ASCII character is used for the underlying does not
|
||||
matter, but the order in which they are used denotes chapters
|
||||
/ sections / subsections / etc.</p>
|
||||
<p>In these PRRTE docs, the sequence of underline characters we use
|
||||
are:</p>
|
||||
<div class="highlight-rst notranslate"><div class="highlight"><pre><span></span><span class="gh">Chapter 1: hello world</span>
|
||||
<span class="gh">======================</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<div class="highlight-rst notranslate"><div class="highlight"><pre><span></span><span class="gh">Section 1: hello world</span>
|
||||
<span class="gh">----------------------</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<div class="highlight-rst notranslate"><div class="highlight"><pre><span></span><span class="gh">Subsection 1: hello world</span>
|
||||
<span class="gh">^^^^^^^^^^^^^^^^^^^^^^^^^</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<div class="highlight-rst notranslate"><div class="highlight"><pre><span></span><span class="gh">Subsubsection 1: hello world</span>
|
||||
<span class="gh">++++++++++++++++++++++++++++</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>Meaning: underlines made of <code class="docutils literal notranslate"><span class="pre">=</span></code> denotes chapters, underlines
|
||||
made of <code class="docutils literal notranslate"><span class="pre">-</span></code> denotes sections, underlines made of <code class="docutils literal notranslate"><span class="pre">^</span></code> denotes
|
||||
subsections, and underlines made of <code class="docutils literal notranslate"><span class="pre">+</span></code> denote subsubsections.</p>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="section" id="multi-line-code-fixed-width-font">
|
||||
<h2><span class="section-number">11.5.6. </span>Multi-line code/fixed-width font<a class="headerlink" href="#multi-line-code-fixed-width-font" title="Permalink to this heading"></a></h2>
|
||||
<ul>
|
||||
<li><p>MD: Use three single quotes to delimit blocks of text. Optionally
|
||||
include a token keyword to denote the syntax highlighting to use
|
||||
inside that block.</p>
|
||||
<div class="highlight-md notranslate"><div class="highlight"><pre><span></span><span class="sb">```c</span>
|
||||
<span class="kt">int</span><span class="w"> </span><span class="nf">main</span><span class="p">()</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="n">printf</span><span class="p">(</span><span class="s">"Hello world</span><span class="se">\n</span><span class="s">"</span><span class="p">);</span><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="mi">0</span><span class="w"> </span><span class="p">}</span>
|
||||
<span class="sb">```</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</li>
|
||||
<li><p>RST: Use <code class="docutils literal notranslate"><span class="pre">..</span> <span class="pre">code-block::</span> <span class="pre">KEYWORD</span></code> to start a section of code.</p>
|
||||
<div class="highlight-rst notranslate"><div class="highlight"><pre><span></span><span class="p">..</span> <span class="ow">code-block</span><span class="p">::</span> c
|
||||
|
||||
int main() { printf("Hello world\n"); return 0 }
|
||||
</pre></div>
|
||||
</div>
|
||||
<ul>
|
||||
<li><p>KEYWORD indicates which syntax highlighting to use (e.g., <code class="docutils literal notranslate"><span class="pre">c</span></code>,
|
||||
<code class="docutils literal notranslate"><span class="pre">c++</span></code> <code class="docutils literal notranslate"><span class="pre">make</span></code>, <code class="docutils literal notranslate"><span class="pre">sh</span></code>, <code class="docutils literal notranslate"><span class="pre">ini</span></code>, <code class="docutils literal notranslate"><span class="pre">Fortran</span></code>, <code class="docutils literal notranslate"><span class="pre">diff</span></code>,
|
||||
<code class="docutils literal notranslate"><span class="pre">python</span></code>, <code class="docutils literal notranslate"><span class="pre">java</span></code>, <code class="docutils literal notranslate"><span class="pre">rst</span></code>, … etc.).</p></li>
|
||||
<li><p>KEYWORD can be omitted if no specific highlighting is to be
|
||||
used.</p></li>
|
||||
<li><p>There <em>MUST</em> be a blank line after the <code class="docutils literal notranslate"><span class="pre">code-block</span></code> line.</p></li>
|
||||
<li><p>The lines in the block must be indented to the same column as the
|
||||
first <code class="docutils literal notranslate"><span class="pre">c</span></code> in <code class="docutils literal notranslate"><span class="pre">code-block</span></code>. For example:</p>
|
||||
<div class="highlight-rst notranslate"><div class="highlight"><pre><span></span><span class="p">..</span> <span class="ow">code-block</span><span class="p">::</span> <span class="k">sh</span>
|
||||
|
||||
shell$<span class="w"> </span>tar<span class="w"> </span>xf<span class="w"> </span>prte-<version>.tar.bz2
|
||||
shell$<span class="w"> </span><span class="nb">cd</span><span class="w"> </span>prte-<version>
|
||||
shell$<span class="w"> </span>./configure<span class="w"> </span>--prefix<span class="o">=</span><path><span class="w"> </span><span class="p">|&</span><span class="w"> </span>tee<span class="w"> </span>config.out
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>Note that the code block will be rendered at the same level as
|
||||
where the first <code class="docutils literal notranslate"><span class="pre">.</span></code> of <code class="docutils literal notranslate"><span class="pre">..</span> <span class="pre">code-block::</span></code> starts. In this
|
||||
case, the example code block will be rendered in the bulleted
|
||||
item.</p>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<p>Whereas this parargraph and code block will be outside of the
|
||||
above bulleted list:</p>
|
||||
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>shell$<span class="w"> </span>tar<span class="w"> </span>xf<span class="w"> </span>prte-<version>.tar.bz2
|
||||
shell$<span class="w"> </span><span class="nb">cd</span><span class="w"> </span>prte-<version>
|
||||
shell$<span class="w"> </span>./configure<span class="w"> </span>--prefix<span class="o">=</span><path><span class="w"> </span><span class="p">|&</span><span class="w"> </span>tee<span class="w"> </span>config.out
|
||||
|
||||
<span class="c1"># Fun note: the code-block can contain blank lines.</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>The code-block is terminated by a blank line and then outdent back
|
||||
to the same level as the first <code class="docutils literal notranslate"><span class="pre">.</span></code> in <code class="docutils literal notranslate"><span class="pre">..</span> <span class="pre">code-block::</span></code>.</p>
|
||||
</div>
|
||||
<div class="section" id="un-numbered-bullets">
|
||||
<h2><span class="section-number">11.5.7. </span>Un-numbered bullets<a class="headerlink" href="#un-numbered-bullets" title="Permalink to this heading"></a></h2>
|
||||
<ul>
|
||||
<li><p>MD: Start lines with <code class="docutils literal notranslate"><span class="pre">*</span></code> or <code class="docutils literal notranslate"><span class="pre">-</span></code></p></li>
|
||||
<li><p>RST: Start lines with <code class="docutils literal notranslate"><span class="pre">*</span></code>. You can wrap lines at the same
|
||||
indenting level to make paragraphs in the same bullet.</p>
|
||||
<p>Having a blank line and then more text at the same indenting level
|
||||
makes another paragraph in the same bullet. You even put other
|
||||
directives in this same indenting level.</p>
|
||||
<ul>
|
||||
<li><p>For example, you can start a sub bullet.</p>
|
||||
<p>This text is the next paragraph in the same sub bullet.</p>
|
||||
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>This is a verbatim code block within this same sub bullet.
|
||||
More about code-blocks below.
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>This is the next paragraph (after the code block) in the same
|
||||
sub bullet.</p>
|
||||
</li>
|
||||
<li><p>If you start a new bullet, that terminates the previous bullet.</p></li>
|
||||
<li><p>You <strong>MUST</strong> put blank lines between bullets!</p></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="section" id="numbered-bullets">
|
||||
<h2><span class="section-number">11.5.8. </span>Numbered bullets:<a class="headerlink" href="#numbered-bullets" title="Permalink to this heading"></a></h2>
|
||||
<ul>
|
||||
<li><p>MD: Start lines with <code class="docutils literal notranslate"><span class="pre">#</span></code></p></li>
|
||||
<li><p>RST: Start lines with <code class="docutils literal notranslate"><span class="pre">#.</span></code></p>
|
||||
<div class="admonition important">
|
||||
<p class="admonition-title">Important</p>
|
||||
<p>Yes, the trailing <code class="docutils literal notranslate"><span class="pre">.</span></code> is important</p>
|
||||
</div>
|
||||
<p>For example:</p>
|
||||
<div class="highlight-rst notranslate"><div class="highlight"><pre><span></span><span class="m">#.</span> Item number 1
|
||||
<span class="m">#.</span> The second item
|
||||
<span class="m">#.</span> A third item
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>All the same rules for indentation apply as described above.</p>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="section" id="comments">
|
||||
<h2><span class="section-number">11.5.9. </span>Comments<a class="headerlink" href="#comments" title="Permalink to this heading"></a></h2>
|
||||
<ul>
|
||||
<li><p>MD: Enclose content in <code class="docutils literal notranslate"><span class="pre"><!--</span></code> and <code class="docutils literal notranslate"><span class="pre">--></span></code> (i.e., HTML comments,
|
||||
but they are included in the output)</p></li>
|
||||
<li><p>RST: Start a line with two periods and a space.</p>
|
||||
<p>For example, the following block is a comment, and will not be
|
||||
included in the output:</p>
|
||||
<div class="highlight-rst notranslate"><div class="highlight"><pre><span></span><span class="cp">.. Hello world. This is a comment. This whole block is a</span>
|
||||
<span class="cp"> comment. You can leave it here in the final document, and it</span>
|
||||
<span class="cp"> will not be included in the rendered output.</span>
|
||||
|
||||
<span class="cp"> Your comment can even include blank lines. You terminate a</span>
|
||||
<span class="cp"> comment -- just like most other things in RST -- by a blank</span>
|
||||
<span class="cp"> line and then outdenting back out to the same column as the</span>
|
||||
<span class="cp"> first ".".</span>
|
||||
|
||||
This line is no longer part of the comment.
|
||||
</pre></div>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="section" id="including-files">
|
||||
<h2><span class="section-number">11.5.10. </span>Including files<a class="headerlink" href="#including-files" title="Permalink to this heading"></a></h2>
|
||||
<ul>
|
||||
<li><p>MD: You cannot include files in Markdown.</p></li>
|
||||
<li><p>RST: Use the <code class="docutils literal notranslate"><span class="pre">..</span> <span class="pre">include::</span> <span class="pre">FILENAME</span></code> directive. For example:</p>
|
||||
<div class="highlight-rst notranslate"><div class="highlight"><pre><span></span><span class="p">..</span> <span class="ow">include</span><span class="p">::</span> features-extensions.rst
|
||||
<span class="p">..</span> <span class="ow">include</span><span class="p">::</span> features-java.rst
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>Those directives include those 2 files right here in this RST file.</p>
|
||||
<div class="admonition important">
|
||||
<p class="admonition-title">Important</p>
|
||||
<p>Chapter/section/subsection delimiters will be
|
||||
continued in those files as part of rendering this
|
||||
file.</p>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="section" id="hyperlinks-to-urls">
|
||||
<h2><span class="section-number">11.5.11. </span>Hyperlinks to URLs<a class="headerlink" href="#hyperlinks-to-urls" title="Permalink to this heading"></a></h2>
|
||||
<ul>
|
||||
<li><p>MD:</p>
|
||||
<div class="highlight-md notranslate"><div class="highlight"><pre><span></span>[<span class="nt">this is the link text</span>](<span class="na">https://example.com/</span>)
|
||||
</pre></div>
|
||||
</div>
|
||||
</li>
|
||||
<li><p>RST:</p>
|
||||
<div class="highlight-rst notranslate"><div class="highlight"><pre><span></span><span class="s">`this is the link text </span><span class="si"><https://example.com/></span><span class="s">`_</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<div class="admonition important">
|
||||
<p class="admonition-title">Important</p>
|
||||
<p>Yes, the trailing underscore in RST is important.
|
||||
It’s a little weird, but you’ll cope.</p>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="section" id="hyperlinks-to-anchors">
|
||||
<h2><span class="section-number">11.5.12. </span>Hyperlinks to anchors<a class="headerlink" href="#hyperlinks-to-anchors" title="Permalink to this heading"></a></h2>
|
||||
<ul>
|
||||
<li><p>MD: I forget offhand how to make anchors and links to them in MD.</p></li>
|
||||
<li><p>RST: Use the <code class="docutils literal notranslate"><span class="pre">:ref:</span></code> directive.</p>
|
||||
<p>Make an anchor like this:</p>
|
||||
<div class="highlight-rst notranslate"><div class="highlight"><pre><span></span><span class="p">..</span> <span class="nt">_ANCHOR_NAME:</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>It <em>must</em> start with and underscore and end with a colon.</p>
|
||||
<p>I’ve typically used anchor names that either begin with <code class="docutils literal notranslate"><span class="pre">label-</span></code>
|
||||
or end in <code class="docutils literal notranslate"><span class="pre">-label</span></code> to make it blatantly obvious that it’s a
|
||||
label. For example:</p>
|
||||
<div class="highlight-rst notranslate"><div class="highlight"><pre><span></span><span class="p">..</span> <span class="nt">_building-and-installing-section-label:</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>Then you can use the <code class="docutils literal notranslate"><span class="pre">:ref:</span></code> directive:</p>
|
||||
<div class="highlight-rst notranslate"><div class="highlight"><pre><span></span>be sure to see :ref:`the VPATH build section
|
||||
<span class="nt"><building-and-installing-section-label></span>`.
|
||||
</pre></div>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="section" id="hyperlinks-to-other-rst-pages">
|
||||
<h2><span class="section-number">11.5.13. </span>Hyperlinks to other (RST) pages<a class="headerlink" href="#hyperlinks-to-other-rst-pages" title="Permalink to this heading"></a></h2>
|
||||
<ul>
|
||||
<li><p>MD:</p>
|
||||
<div class="highlight-md notranslate"><div class="highlight"><pre><span></span>[<span class="nt">link text</span>](<span class="na">page_name</span>)
|
||||
</pre></div>
|
||||
</div>
|
||||
</li>
|
||||
<li><p>RST: Use the <code class="docutils literal notranslate"><span class="pre">:doc:</span></code> directive.</p>
|
||||
<p>General format:</p>
|
||||
<div class="highlight-rst notranslate"><div class="highlight"><pre><span></span><span class="na">:doc:</span><span class="nv">`link text <PAGE_PATH>`</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>For example:</p>
|
||||
<div class="highlight-rst notranslate"><div class="highlight"><pre><span></span>You should read <span class="na">:doc:</span><span class="nv">`the Developer's Guide </developers>`</span>.
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>The page path is relative to the <code class="docutils literal notranslate"><span class="pre">docs</span></code> dir in the PRRTE git tree.</p>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="section" id="macros">
|
||||
<h2><span class="section-number">11.5.14. </span>Macros<a class="headerlink" href="#macros" title="Permalink to this heading"></a></h2>
|
||||
<ul>
|
||||
<li><p>MD: There are no macros in Markdown.</p></li>
|
||||
<li><p>RST: We have defined a few PRRTE-specific macros in RST. You can
|
||||
insert these macros anywhere in RST content text.</p>
|
||||
<ul>
|
||||
<li><p><code class="docutils literal notranslate"><span class="pre">|ompi_ver|</span></code> is the full PRRTE version number, including
|
||||
alpha/beta/rc/greek denotation. For example <code class="docutils literal notranslate"><span class="pre">5.0.0rc1</span></code>.</p></li>
|
||||
<li><p><code class="docutils literal notranslate"><span class="pre">|ompi_series|</span></code> is the major/minor PRRTE version, e.g.,
|
||||
<code class="docutils literal notranslate"><span class="pre">5.0.x</span></code>.</p>
|
||||
<div class="admonition important">
|
||||
<p class="admonition-title">Important</p>
|
||||
<p>Think twice about hard-coding the PRRTE version
|
||||
number or series when referring to the current
|
||||
version or series. It can be appropriate to
|
||||
hard-code an “x.y.0” version to denote a
|
||||
generational epoch, but in most other cases, you
|
||||
probably want to use one of the macros.</p>
|
||||
</div>
|
||||
</li>
|
||||
<li><p><code class="docutils literal notranslate"><span class="pre">|mdash|</span></code> is a unicode long dash, an “em” dash. Use it instead
|
||||
of <code class="docutils literal notranslate"><span class="pre">--</span></code>.</p></li>
|
||||
<li><p><code class="docutils literal notranslate"><span class="pre">|rarrow|</span></code> is a unicode right arrow. Use it instead of <code class="docutils literal notranslate"><span class="pre">-></span></code>
|
||||
or <code class="docutils literal notranslate"><span class="pre">--></span></code>.</p></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="section" id="brightly-colored-boxes">
|
||||
<h2><span class="section-number">11.5.15. </span>Brightly-colored boxes<a class="headerlink" href="#brightly-colored-boxes" title="Permalink to this heading"></a></h2>
|
||||
<ul>
|
||||
<li><p>MD: There are no brightly-colored boxes in MD.</p></li>
|
||||
<li><p>RST: You can use various directives to make brightly-colored
|
||||
“note” boxes (Called admonitions) in RST. For example:</p>
|
||||
<div class="admonition important">
|
||||
<p class="admonition-title">Important</p>
|
||||
<p>a green box with a “!” icon</p>
|
||||
<p>Standard indenting rules apply for the content in the box. You
|
||||
can have multiple lines and multiple paragraphs, for example.</p>
|
||||
<p>Yippee.</p>
|
||||
<ul>
|
||||
<li><p>You can even have bullets.</p>
|
||||
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>You can even have code blocks inside the bullet inside the
|
||||
caution box.
|
||||
</pre></div>
|
||||
</div>
|
||||
</li>
|
||||
<li><p>All the standard indenting rules apply.</p></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="admonition hint">
|
||||
<p class="admonition-title">Hint</p>
|
||||
<p>a green box with a “!” icon</p>
|
||||
</div>
|
||||
<div class="admonition note">
|
||||
<p class="admonition-title">Note</p>
|
||||
<p>a blue box with a “!” icon</p>
|
||||
</div>
|
||||
<div class="admonition caution">
|
||||
<p class="admonition-title">Caution</p>
|
||||
<p>an orange box with a “!” icon</p>
|
||||
</div>
|
||||
<div class="admonition attention">
|
||||
<p class="admonition-title">Attention</p>
|
||||
<p>an orange box with a “!” icon</p>
|
||||
</div>
|
||||
<div class="admonition warning">
|
||||
<p class="admonition-title">Warning</p>
|
||||
<p>an orange box with a “!” icon</p>
|
||||
</div>
|
||||
<div class="admonition error">
|
||||
<p class="admonition-title">Error</p>
|
||||
<p>a red box with a “!” icon</p>
|
||||
</div>
|
||||
<div class="admonition danger">
|
||||
<p class="admonition-title">Danger</p>
|
||||
<p>a red box with a “!” icon</p>
|
||||
</div>
|
||||
<div class="tip admonition">
|
||||
<p class="admonition-title">Custom title</p>
|
||||
<p>You can name this box whatever you want:</p>
|
||||
<div class="highlight-rst notranslate"><div class="highlight"><pre><span></span><span class="p">..</span> <span class="ow">admonition</span><span class="p">::</span> Custom title
|
||||
<span class="nc">:class:</span> tip
|
||||
|
||||
Content of your box here.
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>Custom text for this custom admonition. Note that the <code class="docutils literal notranslate"><span class="pre">:class:</span> <span class="pre"><type></span></code>
|
||||
will change the coloring to the color for the basic admonition of that
|
||||
type. E.g., <code class="docutils literal notranslate"><span class="pre">:class:</span> <span class="pre">tip</span></code> makes the box be green.</p>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
|
||||
<a href="sphinx.html" class="btn btn-neutral float-left" title="11.4. Installing and running Sphinx (building the PRRTE docs)" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
|
||||
<a href="../contributing.html" class="btn btn-neutral float-right" title="12. Contributing to PRRTE" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
|
||||
</div>
|
||||
|
||||
<hr/>
|
||||
|
||||
<div role="contentinfo">
|
||||
<p>© Copyright 2003-2025, The PRRTE Community.</p>
|
||||
</div>
|
||||
|
||||
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
|
||||
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
|
||||
provided by <a href="https://readthedocs.org">Read the Docs</a>.
|
||||
|
||||
|
||||
</footer>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
<script>
|
||||
jQuery(function () {
|
||||
SphinxRtdTheme.Navigation.enable(true);
|
||||
});
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
372
linx64/mpi/openmpi/share/doc/prrte/html/developers/sphinx.html
Normal file
372
linx64/mpi/openmpi/share/doc/prrte/html/developers/sphinx.html
Normal file
@@ -0,0 +1,372 @@
|
||||
<!DOCTYPE html>
|
||||
<html class="writer-html5" lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>11.4. Installing and running Sphinx (building the PRRTE docs) — PMIx Reference Run Time Environment 3.0.8 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../_static/css/theme.css" />
|
||||
|
||||
|
||||
<!--[if lt IE 9]>
|
||||
<script src="../_static/js/html5shiv.min.js"></script>
|
||||
<![endif]-->
|
||||
|
||||
<script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
|
||||
<script src="../_static/jquery.js"></script>
|
||||
<script src="../_static/underscore.js"></script>
|
||||
<script src="../_static/_sphinx_javascript_frameworks_compat.js"></script>
|
||||
<script src="../_static/doctools.js"></script>
|
||||
<script src="../_static/sphinx_highlight.js"></script>
|
||||
<script src="../_static/js/theme.js"></script>
|
||||
<link rel="index" title="Index" href="../genindex.html" />
|
||||
<link rel="search" title="Search" href="../search.html" />
|
||||
<link rel="next" title="11.5. ReStructured Text for those who know Markdown" href="rst-for-markdown-expats.html" />
|
||||
<link rel="prev" title="11.3. Manually installing the GNU Autootools" href="gnu-autotools.html" />
|
||||
</head>
|
||||
|
||||
<body class="wy-body-for-nav">
|
||||
<div class="wy-grid-for-nav">
|
||||
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
|
||||
<div class="wy-side-scroll">
|
||||
<div class="wy-side-nav-search" >
|
||||
|
||||
|
||||
|
||||
<a href="../index.html" class="icon icon-home">
|
||||
PMIx Reference Run Time Environment
|
||||
</a>
|
||||
<div role="search">
|
||||
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
|
||||
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
|
||||
<input type="hidden" name="check_keywords" value="yes" />
|
||||
<input type="hidden" name="area" value="default" />
|
||||
</form>
|
||||
</div>
|
||||
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
|
||||
<ul class="current">
|
||||
<li class="toctree-l1"><a class="reference internal" href="../quickstart.html">1. Quick start</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../release-notes.html">2. Release Notes</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../getting-help.html">3. Getting help</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../install.html">4. Installing PRRTE</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../configuration.html">5. PRRTE DVM Configuration</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../how-things-work/index.html">6. How Things Work</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../hosts/index.html">7. Host specification</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../placement/index.html">8. Process placement</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../notifications.html">9. Notifications</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../session-directory.html">10. Session directory</a></li>
|
||||
<li class="toctree-l1 current"><a class="reference internal" href="index.html">11. Developer’s guide</a><ul class="current">
|
||||
<li class="toctree-l2"><a class="reference internal" href="prerequisites.html">11.1. Prerequisites</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="git-github.html">11.2. GitHub, Git, and related topics</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="gnu-autotools.html">11.3. Manually installing the GNU Autootools</a></li>
|
||||
<li class="toctree-l2 current"><a class="current reference internal" href="#">11.4. Installing and running Sphinx (building the PRRTE docs)</a><ul>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#installing-python">11.4.1. Installing Python</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#installing-sphinx">11.4.2. Installing Sphinx</a><ul>
|
||||
<li class="toctree-l4"><a class="reference internal" href="#install-sphinx-in-a-python-virtual-environment">11.4.2.1. Install Sphinx in a Python virtual environment</a></li>
|
||||
<li class="toctree-l4"><a class="reference internal" href="#install-sphinx-globally">11.4.2.2. Install Sphinx globally</a></li>
|
||||
<li class="toctree-l4"><a class="reference internal" href="#install-sphinx-locally">11.4.2.3. Install Sphinx locally</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#running-sphinx">11.4.3. Running Sphinx</a><ul>
|
||||
<li class="toctree-l4"><a class="reference internal" href="#sphinx-execution-time">11.4.3.1. Sphinx execution time</a></li>
|
||||
<li class="toctree-l4"><a class="reference internal" href="#checking-sphinx-html-links">11.4.3.2. Checking Sphinx HTML links</a></li>
|
||||
<li class="toctree-l4"><a class="reference internal" href="#viewing-docs-locally">11.4.3.3. Viewing docs locally</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="rst-for-markdown-expats.html">11.5. ReStructured Text for those who know Markdown</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../contributing.html">12. Contributing to PRRTE</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../license.html">13. License</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../man/index.html">14. PRRTE manual pages</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../versions.html">15. Software Version Numbers</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../news/index.html">16. News</a></li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
|
||||
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
||||
<a href="../index.html">PMIx Reference Run Time Environment</a>
|
||||
</nav>
|
||||
|
||||
<div class="wy-nav-content">
|
||||
<div class="rst-content">
|
||||
<div role="navigation" aria-label="Page navigation">
|
||||
<ul class="wy-breadcrumbs">
|
||||
<li><a href="../index.html" class="icon icon-home" aria-label="Home"></a></li>
|
||||
<li class="breadcrumb-item"><a href="index.html"><span class="section-number">11. </span>Developer’s guide</a></li>
|
||||
<li class="breadcrumb-item active"><span class="section-number">11.4. </span>Installing and running Sphinx (building the PRRTE docs)</li>
|
||||
<li class="wy-breadcrumbs-aside">
|
||||
<a href="../_sources/developers/sphinx.rst.txt" rel="nofollow"> View page source</a>
|
||||
</li>
|
||||
</ul>
|
||||
<hr/>
|
||||
</div>
|
||||
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||||
<div itemprop="articleBody">
|
||||
|
||||
<style>
|
||||
.wy-table-responsive table td,.wy-table-responsive table th{white-space:normal}
|
||||
</style><div class="section" id="installing-and-running-sphinx-building-the-prrte-docs">
|
||||
<span id="developers-installing-sphinx-label"></span><h1><span class="section-number">11.4. </span>Installing and running Sphinx (building the PRRTE docs)<a class="headerlink" href="#installing-and-running-sphinx-building-the-prrte-docs" title="Permalink to this heading"></a></h1>
|
||||
<p>As with all content in the Developer’s Guide, this section is only
|
||||
relevant for developers who work in the PRRTE code base itself.
|
||||
End users who install a binary PRRTE package or build from an
|
||||
official PRRTE distribution tarball do not need to have Sphinx
|
||||
installed.</p>
|
||||
<div class="section" id="installing-python">
|
||||
<h2><span class="section-number">11.4.1. </span>Installing Python<a class="headerlink" href="#installing-python" title="Permalink to this heading"></a></h2>
|
||||
<p>The <a class="reference external" href="https://www.sphinx-doc.org/">Sphinx tool</a> is written in Python,
|
||||
and therefore needs to have Python available. As of late 2022, Sphinx
|
||||
requires Python >= v3.7.</p>
|
||||
<p>This documentation does not contain detailed instructions for
|
||||
installing a Python version sufficient for using Sphinx. Consult your
|
||||
local OS documentation for how to obtain Python >= v3.7, or search the
|
||||
internet for further information.</p>
|
||||
</div>
|
||||
<div class="section" id="installing-sphinx">
|
||||
<h2><span class="section-number">11.4.2. </span>Installing Sphinx<a class="headerlink" href="#installing-sphinx" title="Permalink to this heading"></a></h2>
|
||||
<p><a class="reference external" href="https://www.sphinx-doc.org/en/master/usage/installation.html">The Sphinx documentation</a>
|
||||
recommends installing Sphinx (and its required Python dependencies)
|
||||
via <code class="docutils literal notranslate"><span class="pre">pip</span></code>, which typically requires connectivity to the general
|
||||
internet.</p>
|
||||
<div class="admonition note">
|
||||
<p class="admonition-title">Note</p>
|
||||
<p>If you are running on MacOS, you may be tempted to use
|
||||
Homebrew or MacPorts to install Sphinx. The Sphinx documentation
|
||||
recommends <strong>against</strong> this. Instead, you should use <code class="docutils literal notranslate"><span class="pre">pip</span></code> to
|
||||
install Sphinx.</p>
|
||||
</div>
|
||||
<p>There are three general ways to install Sphinx; you only need one of
|
||||
them.</p>
|
||||
<div class="section" id="install-sphinx-in-a-python-virtual-environment">
|
||||
<h3><span class="section-number">11.4.2.1. </span>Install Sphinx in a Python virtual environment<a class="headerlink" href="#install-sphinx-in-a-python-virtual-environment" title="Permalink to this heading"></a></h3>
|
||||
<p>The preferred method of installing Sphinx for PRRTE documentation
|
||||
development is to install Sphinx in a Python virtual environment.
|
||||
This places Sphinx in a sandbox that will not conflict with other
|
||||
<code class="docutils literal notranslate"><span class="pre">pip</span></code>-installed Python modules. This example installs Sphinx and
|
||||
other Python modules in the <code class="docutils literal notranslate"><span class="pre">ompi-docs-venv</span></code> tree under your PRRTE
|
||||
Git clone directory:</p>
|
||||
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span><span class="c1"># Create the Python virtual environment</span>
|
||||
shell$<span class="w"> </span><span class="nb">cd</span><span class="w"> </span>TOP_OF_PRRTE_GIT_CLONE
|
||||
shell$<span class="w"> </span>python3<span class="w"> </span>-m<span class="w"> </span>venv<span class="w"> </span>ompi-docs-venv
|
||||
<span class="c1"># Or: python3 -m virtualenv ompi-docs-venv</span>
|
||||
<span class="c1"># Or: virtualenv --python=python3 ompi-docs-venv</span>
|
||||
|
||||
<span class="c1"># Activate the virtual environment</span>
|
||||
shell$<span class="w"> </span>.<span class="w"> </span>./ompi-docs-venv/bin/activate
|
||||
|
||||
<span class="c1"># Notice that the shell prompt changes</span>
|
||||
<span class="c1"># Now install the required Python modules</span>
|
||||
<span class="o">(</span>ompi-docs-venv<span class="o">)</span><span class="w"> </span>shell$<span class="w"> </span>pip3<span class="w"> </span>install<span class="w"> </span>-r<span class="w"> </span>docs/requirements.txt
|
||||
<span class="c1"># Or: python3 -m pip install install -r docs/requirements.txt</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>Note that sourcing the <code class="docutils literal notranslate"><span class="pre">activate</span></code> script will change your prompt to
|
||||
put the name of your virtual environment directory at the front, just
|
||||
as a visual reminder that you are operating in a Python virtual
|
||||
environment. You can run <code class="docutils literal notranslate"><span class="pre">deactivate</span></code> to leave the virtual
|
||||
environment.</p>
|
||||
<div class="admonition important">
|
||||
<p class="admonition-title">Important</p>
|
||||
<p>You will need to source the <code class="docutils literal notranslate"><span class="pre">activate</span></code> script to put
|
||||
Sphinx in your <code class="docutils literal notranslate"><span class="pre">PATH</span></code> <em>before</em> running <code class="docutils literal notranslate"><span class="pre">configure</span></code>.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="section" id="install-sphinx-globally">
|
||||
<h3><span class="section-number">11.4.2.2. </span>Install Sphinx globally<a class="headerlink" href="#install-sphinx-globally" title="Permalink to this heading"></a></h3>
|
||||
<p>If Python virtual environments are not desirable on your system, you
|
||||
can install Sphinx globally on your system (you may need to run with
|
||||
root privileges):</p>
|
||||
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>shell$<span class="w"> </span><span class="nb">cd</span><span class="w"> </span>TOP_OF_PRRTE_GIT_CLONE
|
||||
shell$<span class="w"> </span>pip3<span class="w"> </span>install<span class="w"> </span>-r<span class="w"> </span>docs/requirements.txt
|
||||
<span class="c1"># Or: python3 -m pip install install -r docs/requirements.txt</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>This will install Sphinx and some Python modules required for building
|
||||
the PRRTE documentation in a system-wide location.</p>
|
||||
<p>This will likely install the <code class="docutils literal notranslate"><span class="pre">sphinx-build</span></code> executable in a location
|
||||
that is already in your <code class="docutils literal notranslate"><span class="pre">PATH</span></code>. If the location is not already in
|
||||
your <code class="docutils literal notranslate"><span class="pre">PATH</span></code>, then you need to add it to your <code class="docutils literal notranslate"><span class="pre">PATH</span></code>.</p>
|
||||
<div class="admonition important">
|
||||
<p class="admonition-title">Important</p>
|
||||
<p>You will need to ensure that Sphinx is in your <code class="docutils literal notranslate"><span class="pre">PATH</span></code>
|
||||
<em>before</em> running <code class="docutils literal notranslate"><span class="pre">configure</span></code>.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="section" id="install-sphinx-locally">
|
||||
<h3><span class="section-number">11.4.2.3. </span>Install Sphinx locally<a class="headerlink" href="#install-sphinx-locally" title="Permalink to this heading"></a></h3>
|
||||
<p>If you cannot or do not want to install Sphinx globally on your
|
||||
system, the following will install Sphinx somewhere under your
|
||||
<code class="docutils literal notranslate"><span class="pre">$HOME</span></code>. It is the same <code class="docutils literal notranslate"><span class="pre">pip</span></code> command as shown above, but with
|
||||
the addition of the <code class="docutils literal notranslate"><span class="pre">--user</span></code> flag (you should not need <code class="docutils literal notranslate"><span class="pre">root</span></code>
|
||||
permissions to run this command):</p>
|
||||
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>shell$<span class="w"> </span><span class="nb">cd</span><span class="w"> </span>TOP_OF_PRRTE_GIT_CLONE
|
||||
shell$<span class="w"> </span>pip3<span class="w"> </span>install<span class="w"> </span>--user<span class="w"> </span>-r<span class="w"> </span>docs/requirements.txt
|
||||
<span class="c1"># Or: python3 -m pip install install -r docs/requirements.txt</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>This will install Sphinx and some Python modules required for building
|
||||
the PRRTE documentation in a system-wide location.</p>
|
||||
<p>You will likely need to find the location where <code class="docutils literal notranslate"><span class="pre">sphinx-build</span></code> was
|
||||
installed and add it to your <code class="docutils literal notranslate"><span class="pre">PATH</span></code>.</p>
|
||||
<div class="admonition note">
|
||||
<p class="admonition-title">Note</p>
|
||||
<p>On MacOS, look for <code class="docutils literal notranslate"><span class="pre">sphinx-build</span></code> under
|
||||
<code class="docutils literal notranslate"><span class="pre">$HOME/Library/Python/VERSION/bin</span></code> (where <code class="docutils literal notranslate"><span class="pre">VERSION</span></code> is
|
||||
the version number of Python). Or it may have installed to
|
||||
<code class="docutils literal notranslate"><span class="pre">/usr/local/bin/sphinx-build</span></code>. YMMV.</p>
|
||||
</div>
|
||||
<div class="admonition important">
|
||||
<p class="admonition-title">Important</p>
|
||||
<p>You will need to ensure that Sphinx is in your <code class="docutils literal notranslate"><span class="pre">PATH</span></code>
|
||||
<em>before</em> running <code class="docutils literal notranslate"><span class="pre">configure</span></code>.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="section" id="running-sphinx">
|
||||
<h2><span class="section-number">11.4.3. </span>Running Sphinx<a class="headerlink" href="#running-sphinx" title="Permalink to this heading"></a></h2>
|
||||
<p>PRRTE’s build environment is setup to invoke Sphinx automatically;
|
||||
you should not need to invoke Sphinx manually.</p>
|
||||
<div class="admonition important">
|
||||
<p class="admonition-title">Important</p>
|
||||
<p>You will need to ensure that Sphinx is in your <code class="docutils literal notranslate"><span class="pre">PATH</span></code>
|
||||
<em>before</em> running <code class="docutils literal notranslate"><span class="pre">configure</span></code>.</p>
|
||||
</div>
|
||||
<p>As long as <code class="docutils literal notranslate"><span class="pre">configure</span></code> found Sphinx, <code class="docutils literal notranslate"><span class="pre">make</span></code> will invoke Sphinx to
|
||||
build the documentation. You can also run <code class="docutils literal notranslate"><span class="pre">make</span></code> directly in the
|
||||
<code class="docutils literal notranslate"><span class="pre">docs/</span></code> directory to build <em>just</em> the docs and skip building the
|
||||
rest of the PRRTE software. This can be a huge time-saver when
|
||||
iteratively writing, rendering, and viewing/proofing documentation.</p>
|
||||
<div class="admonition note">
|
||||
<p class="admonition-title">Note</p>
|
||||
<p>The fully-built HTML and man page docs are included in
|
||||
official PRRTE distribution tarballs. Meaning: if you
|
||||
download an official distribution PRRTE tarball,
|
||||
the pre-built HTML and man page files are included
|
||||
in the tarball.</p>
|
||||
<p>Sphinx is a requirement for <em>developers</em> who want to build
|
||||
the PRRTE docs. End users do <em>not</em> need to have Sphinx
|
||||
available to build PRRTE or have its docs installed from
|
||||
an official distribution tarball.</p>
|
||||
</div>
|
||||
<div class="section" id="sphinx-execution-time">
|
||||
<h3><span class="section-number">11.4.3.1. </span>Sphinx execution time<a class="headerlink" href="#sphinx-execution-time" title="Permalink to this heading"></a></h3>
|
||||
<p>Sphinx is stateful: subsequent runs can be significantly faster
|
||||
because Sphinx will only re-render HTML files that have changes. This
|
||||
is a nice time saver for PRRTE (e.g., if you are iterating over
|
||||
writing the docs and running <code class="docutils literal notranslate"><span class="pre">make</span></code> to see how they rendered in
|
||||
HTML).</p>
|
||||
<div class="admonition caution">
|
||||
<p class="admonition-title">Caution</p>
|
||||
<p>Sphinx is only <em>somewhat</em> smart in its partial
|
||||
re-rendering. If you change a title in an RST file, for
|
||||
example, Sphinx will (by default) only re-render <em>that</em>
|
||||
page. The Tables of Contents / left hand navigation on
|
||||
other pages may not be updated.</p>
|
||||
<p>You can always force a full re-render via:</p>
|
||||
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>shell$<span class="w"> </span><span class="nb">cd</span><span class="w"> </span>docs
|
||||
shell$<span class="w"> </span>rm<span class="w"> </span>-rf<span class="w"> </span>_build
|
||||
shell$<span class="w"> </span>make
|
||||
</pre></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="section" id="checking-sphinx-html-links">
|
||||
<h3><span class="section-number">11.4.3.2. </span>Checking Sphinx HTML links<a class="headerlink" href="#checking-sphinx-html-links" title="Permalink to this heading"></a></h3>
|
||||
<p><code class="docutils literal notranslate"><span class="pre">make</span> <span class="pre">linkcheck</span></code> will invoke Sphinx’s functionality to check all the
|
||||
external links in the documentation:</p>
|
||||
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>shell$<span class="w"> </span><span class="nb">cd</span><span class="w"> </span>docs
|
||||
shell$<span class="w"> </span>make<span class="w"> </span>linkcheck
|
||||
</pre></div>
|
||||
</div>
|
||||
<div class="admonition important">
|
||||
<p class="admonition-title">Important</p>
|
||||
<p>You will need to be on a computer that has good access
|
||||
to the internet when running this command.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="section" id="viewing-docs-locally">
|
||||
<h3><span class="section-number">11.4.3.3. </span>Viewing docs locally<a class="headerlink" href="#viewing-docs-locally" title="Permalink to this heading"></a></h3>
|
||||
<p>Once you have built the docs in your local Git clone, you can view
|
||||
them locally in the build tree:</p>
|
||||
<ol class="arabic">
|
||||
<li><p>Open <code class="docutils literal notranslate"><span class="pre">docs/_build/html/index.html</span></code> in a browser to view the HTML
|
||||
docs. For example, on MacOS, the following command opens the build
|
||||
tree docs in the default web browser:</p>
|
||||
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>shell$<span class="w"> </span>open<span class="w"> </span>docs/_build/html/index.html
|
||||
</pre></div>
|
||||
</div>
|
||||
</li>
|
||||
<li><p>Use the <code class="docutils literal notranslate"><span class="pre">man</span></code> command to view the Nroff files in
|
||||
<code class="docutils literal notranslate"><span class="pre">docs/_build/man</span></code> (you may need to use an absolute or relative
|
||||
filename to prevent <code class="docutils literal notranslate"><span class="pre">man</span></code> from using its search paths). For
|
||||
example:</p>
|
||||
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>shell$<span class="w"> </span><span class="nb">cd</span><span class="w"> </span>docs/_build/man
|
||||
shell$<span class="w"> </span>man<span class="w"> </span>./prterun.1
|
||||
</pre></div>
|
||||
</div>
|
||||
</li>
|
||||
</ol>
|
||||
<p>Alternatively, you can view these files in their installed locations
|
||||
after running <code class="docutils literal notranslate"><span class="pre">make</span> <span class="pre">install</span></code>:</p>
|
||||
<ol class="arabic">
|
||||
<li><p>The HTML docs are installed (by default) to
|
||||
<code class="docutils literal notranslate"><span class="pre">$prefix/share/doc/prte/html</span></code>. You can use a web browser to
|
||||
open the <code class="docutils literal notranslate"><span class="pre">index.html</span></code> in that directory to view the docs locally.
|
||||
For example, on MacOS, the following command opens the installed
|
||||
docs in the default web browser:</p>
|
||||
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>shell$<span class="w"> </span>open<span class="w"> </span><span class="nv">$prefix</span>/share/doc/prte/html/index.html
|
||||
</pre></div>
|
||||
</div>
|
||||
</li>
|
||||
<li><p>The man pages are installed (by default) to <code class="docutils literal notranslate"><span class="pre">$preix/share/man</span></code>.
|
||||
If your man page search path includes this location, you can invoke
|
||||
commands similar to the following to see the same content that you
|
||||
see in these HTML pages:</p>
|
||||
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span>shell$<span class="w"> </span>man<span class="w"> </span>prterun
|
||||
</pre></div>
|
||||
</div>
|
||||
</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
|
||||
<a href="gnu-autotools.html" class="btn btn-neutral float-left" title="11.3. Manually installing the GNU Autootools" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
|
||||
<a href="rst-for-markdown-expats.html" class="btn btn-neutral float-right" title="11.5. ReStructured Text for those who know Markdown" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
|
||||
</div>
|
||||
|
||||
<hr/>
|
||||
|
||||
<div role="contentinfo">
|
||||
<p>© Copyright 2003-2025, The PRRTE Community.</p>
|
||||
</div>
|
||||
|
||||
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
|
||||
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
|
||||
provided by <a href="https://readthedocs.org">Read the Docs</a>.
|
||||
|
||||
|
||||
</footer>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
<script>
|
||||
jQuery(function () {
|
||||
SphinxRtdTheme.Navigation.enable(true);
|
||||
});
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
122
linx64/mpi/openmpi/share/doc/prrte/html/genindex.html
Normal file
122
linx64/mpi/openmpi/share/doc/prrte/html/genindex.html
Normal file
@@ -0,0 +1,122 @@
|
||||
<!DOCTYPE html>
|
||||
<html class="writer-html5" lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Index — PMIx Reference Run Time Environment 3.0.8 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/theme.css" />
|
||||
|
||||
|
||||
<!--[if lt IE 9]>
|
||||
<script src="_static/js/html5shiv.min.js"></script>
|
||||
<![endif]-->
|
||||
|
||||
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
|
||||
<script src="_static/jquery.js"></script>
|
||||
<script src="_static/underscore.js"></script>
|
||||
<script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
|
||||
<script src="_static/doctools.js"></script>
|
||||
<script src="_static/sphinx_highlight.js"></script>
|
||||
<script src="_static/js/theme.js"></script>
|
||||
<link rel="index" title="Index" href="#" />
|
||||
<link rel="search" title="Search" href="search.html" />
|
||||
</head>
|
||||
|
||||
<body class="wy-body-for-nav">
|
||||
<div class="wy-grid-for-nav">
|
||||
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
|
||||
<div class="wy-side-scroll">
|
||||
<div class="wy-side-nav-search" >
|
||||
|
||||
|
||||
|
||||
<a href="index.html" class="icon icon-home">
|
||||
PMIx Reference Run Time Environment
|
||||
</a>
|
||||
<div role="search">
|
||||
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
|
||||
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
|
||||
<input type="hidden" name="check_keywords" value="yes" />
|
||||
<input type="hidden" name="area" value="default" />
|
||||
</form>
|
||||
</div>
|
||||
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="quickstart.html">1. Quick start</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="release-notes.html">2. Release Notes</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="getting-help.html">3. Getting help</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="install.html">4. Installing PRRTE</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="configuration.html">5. PRRTE DVM Configuration</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="how-things-work/index.html">6. How Things Work</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="hosts/index.html">7. Host specification</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="placement/index.html">8. Process placement</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="notifications.html">9. Notifications</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="session-directory.html">10. Session directory</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="developers/index.html">11. Developer’s guide</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="contributing.html">12. Contributing to PRRTE</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="license.html">13. License</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="man/index.html">14. PRRTE manual pages</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="versions.html">15. Software Version Numbers</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="news/index.html">16. News</a></li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
|
||||
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
||||
<a href="index.html">PMIx Reference Run Time Environment</a>
|
||||
</nav>
|
||||
|
||||
<div class="wy-nav-content">
|
||||
<div class="rst-content">
|
||||
<div role="navigation" aria-label="Page navigation">
|
||||
<ul class="wy-breadcrumbs">
|
||||
<li><a href="index.html" class="icon icon-home" aria-label="Home"></a></li>
|
||||
<li class="breadcrumb-item active">Index</li>
|
||||
<li class="wy-breadcrumbs-aside">
|
||||
</li>
|
||||
</ul>
|
||||
<hr/>
|
||||
</div>
|
||||
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||||
<div itemprop="articleBody">
|
||||
|
||||
|
||||
<h1 id="index">Index</h1>
|
||||
|
||||
<div class="genindex-jumpbox">
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<footer>
|
||||
|
||||
<hr/>
|
||||
|
||||
<div role="contentinfo">
|
||||
<p>© Copyright 2003-2025, The PRRTE Community.</p>
|
||||
</div>
|
||||
|
||||
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
|
||||
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
|
||||
provided by <a href="https://readthedocs.org">Read the Docs</a>.
|
||||
|
||||
|
||||
</footer>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
<script>
|
||||
jQuery(function () {
|
||||
SphinxRtdTheme.Navigation.enable(true);
|
||||
});
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
131
linx64/mpi/openmpi/share/doc/prrte/html/getting-help.html
Normal file
131
linx64/mpi/openmpi/share/doc/prrte/html/getting-help.html
Normal file
@@ -0,0 +1,131 @@
|
||||
<!DOCTYPE html>
|
||||
<html class="writer-html5" lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>3. Getting help — PMIx Reference Run Time Environment 3.0.8 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/theme.css" />
|
||||
|
||||
|
||||
<!--[if lt IE 9]>
|
||||
<script src="_static/js/html5shiv.min.js"></script>
|
||||
<![endif]-->
|
||||
|
||||
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
|
||||
<script src="_static/jquery.js"></script>
|
||||
<script src="_static/underscore.js"></script>
|
||||
<script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
|
||||
<script src="_static/doctools.js"></script>
|
||||
<script src="_static/sphinx_highlight.js"></script>
|
||||
<script src="_static/js/theme.js"></script>
|
||||
<link rel="index" title="Index" href="genindex.html" />
|
||||
<link rel="search" title="Search" href="search.html" />
|
||||
<link rel="next" title="4. Installing PRRTE" href="install.html" />
|
||||
<link rel="prev" title="2. Release Notes" href="release-notes.html" />
|
||||
</head>
|
||||
|
||||
<body class="wy-body-for-nav">
|
||||
<div class="wy-grid-for-nav">
|
||||
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
|
||||
<div class="wy-side-scroll">
|
||||
<div class="wy-side-nav-search" >
|
||||
|
||||
|
||||
|
||||
<a href="index.html" class="icon icon-home">
|
||||
PMIx Reference Run Time Environment
|
||||
</a>
|
||||
<div role="search">
|
||||
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
|
||||
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
|
||||
<input type="hidden" name="check_keywords" value="yes" />
|
||||
<input type="hidden" name="area" value="default" />
|
||||
</form>
|
||||
</div>
|
||||
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
|
||||
<ul class="current">
|
||||
<li class="toctree-l1"><a class="reference internal" href="quickstart.html">1. Quick start</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="release-notes.html">2. Release Notes</a></li>
|
||||
<li class="toctree-l1 current"><a class="current reference internal" href="#">3. Getting help</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="install.html">4. Installing PRRTE</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="configuration.html">5. PRRTE DVM Configuration</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="how-things-work/index.html">6. How Things Work</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="hosts/index.html">7. Host specification</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="placement/index.html">8. Process placement</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="notifications.html">9. Notifications</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="session-directory.html">10. Session directory</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="developers/index.html">11. Developer’s guide</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="contributing.html">12. Contributing to PRRTE</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="license.html">13. License</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="man/index.html">14. PRRTE manual pages</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="versions.html">15. Software Version Numbers</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="news/index.html">16. News</a></li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
|
||||
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
||||
<a href="index.html">PMIx Reference Run Time Environment</a>
|
||||
</nav>
|
||||
|
||||
<div class="wy-nav-content">
|
||||
<div class="rst-content">
|
||||
<div role="navigation" aria-label="Page navigation">
|
||||
<ul class="wy-breadcrumbs">
|
||||
<li><a href="index.html" class="icon icon-home" aria-label="Home"></a></li>
|
||||
<li class="breadcrumb-item active"><span class="section-number">3. </span>Getting help</li>
|
||||
<li class="wy-breadcrumbs-aside">
|
||||
<a href="_sources/getting-help.rst.txt" rel="nofollow"> View page source</a>
|
||||
</li>
|
||||
</ul>
|
||||
<hr/>
|
||||
</div>
|
||||
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||||
<div itemprop="articleBody">
|
||||
|
||||
<style>
|
||||
.wy-table-responsive table td,.wy-table-responsive table th{white-space:normal}
|
||||
</style><div class="section" id="getting-help">
|
||||
<h1><span class="section-number">3. </span>Getting help<a class="headerlink" href="#getting-help" title="Permalink to this heading"></a></h1>
|
||||
<p>The best way to report bugs, send comments, or ask questions is to
|
||||
post them on the <a class="reference external" href="https://github.com/openpmix/prrte/issues">PRRTE GitHub issue tracker</a>.</p>
|
||||
<p>When submitting questions and problems, be sure to include as much
|
||||
extra information as possible.</p>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
|
||||
<a href="release-notes.html" class="btn btn-neutral float-left" title="2. Release Notes" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
|
||||
<a href="install.html" class="btn btn-neutral float-right" title="4. Installing PRRTE" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
|
||||
</div>
|
||||
|
||||
<hr/>
|
||||
|
||||
<div role="contentinfo">
|
||||
<p>© Copyright 2003-2025, The PRRTE Community.</p>
|
||||
</div>
|
||||
|
||||
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
|
||||
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
|
||||
provided by <a href="https://readthedocs.org">Read the Docs</a>.
|
||||
|
||||
|
||||
</footer>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
<script>
|
||||
jQuery(function () {
|
||||
SphinxRtdTheme.Navigation.enable(true);
|
||||
});
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
161
linx64/mpi/openmpi/share/doc/prrte/html/hosts/cli.html
Normal file
161
linx64/mpi/openmpi/share/doc/prrte/html/hosts/cli.html
Normal file
@@ -0,0 +1,161 @@
|
||||
<!DOCTYPE html>
|
||||
<html class="writer-html5" lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>7.3. Listing Hosts on the Command Line — PMIx Reference Run Time Environment 3.0.8 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../_static/css/theme.css" />
|
||||
|
||||
|
||||
<!--[if lt IE 9]>
|
||||
<script src="../_static/js/html5shiv.min.js"></script>
|
||||
<![endif]-->
|
||||
|
||||
<script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
|
||||
<script src="../_static/jquery.js"></script>
|
||||
<script src="../_static/underscore.js"></script>
|
||||
<script src="../_static/_sphinx_javascript_frameworks_compat.js"></script>
|
||||
<script src="../_static/doctools.js"></script>
|
||||
<script src="../_static/sphinx_highlight.js"></script>
|
||||
<script src="../_static/js/theme.js"></script>
|
||||
<link rel="index" title="Index" href="../genindex.html" />
|
||||
<link rel="search" title="Search" href="../search.html" />
|
||||
<link rel="next" title="7.4. Relative host indexing" href="relative-indexing.html" />
|
||||
<link rel="prev" title="7.2. Hostfiles" href="hostfiles.html" />
|
||||
</head>
|
||||
|
||||
<body class="wy-body-for-nav">
|
||||
<div class="wy-grid-for-nav">
|
||||
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
|
||||
<div class="wy-side-scroll">
|
||||
<div class="wy-side-nav-search" >
|
||||
|
||||
|
||||
|
||||
<a href="../index.html" class="icon icon-home">
|
||||
PMIx Reference Run Time Environment
|
||||
</a>
|
||||
<div role="search">
|
||||
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
|
||||
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
|
||||
<input type="hidden" name="check_keywords" value="yes" />
|
||||
<input type="hidden" name="area" value="default" />
|
||||
</form>
|
||||
</div>
|
||||
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
|
||||
<ul class="current">
|
||||
<li class="toctree-l1"><a class="reference internal" href="../quickstart.html">1. Quick start</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../release-notes.html">2. Release Notes</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../getting-help.html">3. Getting help</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../install.html">4. Installing PRRTE</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../configuration.html">5. PRRTE DVM Configuration</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../how-things-work/index.html">6. How Things Work</a></li>
|
||||
<li class="toctree-l1 current"><a class="reference internal" href="index.html">7. Host specification</a><ul class="current">
|
||||
<li class="toctree-l2"><a class="reference internal" href="rm.html">7.1. Resource Manager-Provided Hosts</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="hostfiles.html">7.2. Hostfiles</a></li>
|
||||
<li class="toctree-l2 current"><a class="current reference internal" href="#">7.3. Listing Hosts on the Command Line</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="relative-indexing.html">7.4. Relative host indexing</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../placement/index.html">8. Process placement</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../notifications.html">9. Notifications</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../session-directory.html">10. Session directory</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../developers/index.html">11. Developer’s guide</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../contributing.html">12. Contributing to PRRTE</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../license.html">13. License</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../man/index.html">14. PRRTE manual pages</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../versions.html">15. Software Version Numbers</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../news/index.html">16. News</a></li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
|
||||
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
||||
<a href="../index.html">PMIx Reference Run Time Environment</a>
|
||||
</nav>
|
||||
|
||||
<div class="wy-nav-content">
|
||||
<div class="rst-content">
|
||||
<div role="navigation" aria-label="Page navigation">
|
||||
<ul class="wy-breadcrumbs">
|
||||
<li><a href="../index.html" class="icon icon-home" aria-label="Home"></a></li>
|
||||
<li class="breadcrumb-item"><a href="index.html"><span class="section-number">7. </span>Host specification</a></li>
|
||||
<li class="breadcrumb-item active"><span class="section-number">7.3. </span>Listing Hosts on the Command Line</li>
|
||||
<li class="wy-breadcrumbs-aside">
|
||||
<a href="../_sources/hosts/cli.rst.txt" rel="nofollow"> View page source</a>
|
||||
</li>
|
||||
</ul>
|
||||
<hr/>
|
||||
</div>
|
||||
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||||
<div itemprop="articleBody">
|
||||
|
||||
<style>
|
||||
.wy-table-responsive table td,.wy-table-responsive table th{white-space:normal}
|
||||
</style><div class="section" id="listing-hosts-on-the-command-line">
|
||||
<h1><span class="section-number">7.3. </span>Listing Hosts on the Command Line<a class="headerlink" href="#listing-hosts-on-the-command-line" title="Permalink to this heading"></a></h1>
|
||||
<p>Many PRRTE commands accept the <code class="docutils literal notranslate"><span class="pre">--host</span></code> CLI parameter.
|
||||
<code class="docutils literal notranslate"><span class="pre">--host</span></code> accepts a comma-delimited list of tokens of the form:</p>
|
||||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">host</span><span class="p">[:</span><span class="n">slots</span><span class="p">]</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>The <code class="docutils literal notranslate"><span class="pre">host</span></code> token can be either:</p>
|
||||
<ul class="simple">
|
||||
<li><p>A name that resolves to an IP address, or</p></li>
|
||||
<li><p>An IP address</p></li>
|
||||
</ul>
|
||||
<div class="admonition note">
|
||||
<p class="admonition-title">Note</p>
|
||||
<p>The names and/or IP addresses of hosts are <em>only</em> used for
|
||||
identifying the target host on which to launch. They are
|
||||
<em>not</em> used for determining which network interfaces are used
|
||||
by applications (e.g., MPI or other network-based
|
||||
applications).</p>
|
||||
<p>For network-based applications, consult their documentation
|
||||
for how to specify which network interfaces are used.</p>
|
||||
</div>
|
||||
<p>The optional integer <code class="docutils literal notranslate"><span class="pre">:slots</span></code> parameter tells PRRTE the maximum
|
||||
number of slots to use on that host (see this section on definition
|
||||
of the term <code class="docutils literal notranslate"><span class="pre">slot</span></code> for a description of what a “slot” is).</p>
|
||||
<p>For example:</p>
|
||||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">prterun</span> <span class="o">--</span><span class="n">host</span> <span class="n">node1</span><span class="p">:</span><span class="mi">10</span><span class="p">,</span><span class="n">node2</span><span class="p">,</span><span class="n">node3</span><span class="p">:</span><span class="mi">5</span> <span class="o">...</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
|
||||
<a href="hostfiles.html" class="btn btn-neutral float-left" title="7.2. Hostfiles" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
|
||||
<a href="relative-indexing.html" class="btn btn-neutral float-right" title="7.4. Relative host indexing" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
|
||||
</div>
|
||||
|
||||
<hr/>
|
||||
|
||||
<div role="contentinfo">
|
||||
<p>© Copyright 2003-2025, The PRRTE Community.</p>
|
||||
</div>
|
||||
|
||||
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
|
||||
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
|
||||
provided by <a href="https://readthedocs.org">Read the Docs</a>.
|
||||
|
||||
|
||||
</footer>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
<script>
|
||||
jQuery(function () {
|
||||
SphinxRtdTheme.Navigation.enable(true);
|
||||
});
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
166
linx64/mpi/openmpi/share/doc/prrte/html/hosts/hostfiles.html
Normal file
166
linx64/mpi/openmpi/share/doc/prrte/html/hosts/hostfiles.html
Normal file
@@ -0,0 +1,166 @@
|
||||
<!DOCTYPE html>
|
||||
<html class="writer-html5" lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>7.2. Hostfiles — PMIx Reference Run Time Environment 3.0.8 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../_static/css/theme.css" />
|
||||
|
||||
|
||||
<!--[if lt IE 9]>
|
||||
<script src="../_static/js/html5shiv.min.js"></script>
|
||||
<![endif]-->
|
||||
|
||||
<script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
|
||||
<script src="../_static/jquery.js"></script>
|
||||
<script src="../_static/underscore.js"></script>
|
||||
<script src="../_static/_sphinx_javascript_frameworks_compat.js"></script>
|
||||
<script src="../_static/doctools.js"></script>
|
||||
<script src="../_static/sphinx_highlight.js"></script>
|
||||
<script src="../_static/js/theme.js"></script>
|
||||
<link rel="index" title="Index" href="../genindex.html" />
|
||||
<link rel="search" title="Search" href="../search.html" />
|
||||
<link rel="next" title="7.3. Listing Hosts on the Command Line" href="cli.html" />
|
||||
<link rel="prev" title="7.1. Resource Manager-Provided Hosts" href="rm.html" />
|
||||
</head>
|
||||
|
||||
<body class="wy-body-for-nav">
|
||||
<div class="wy-grid-for-nav">
|
||||
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
|
||||
<div class="wy-side-scroll">
|
||||
<div class="wy-side-nav-search" >
|
||||
|
||||
|
||||
|
||||
<a href="../index.html" class="icon icon-home">
|
||||
PMIx Reference Run Time Environment
|
||||
</a>
|
||||
<div role="search">
|
||||
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
|
||||
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
|
||||
<input type="hidden" name="check_keywords" value="yes" />
|
||||
<input type="hidden" name="area" value="default" />
|
||||
</form>
|
||||
</div>
|
||||
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
|
||||
<ul class="current">
|
||||
<li class="toctree-l1"><a class="reference internal" href="../quickstart.html">1. Quick start</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../release-notes.html">2. Release Notes</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../getting-help.html">3. Getting help</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../install.html">4. Installing PRRTE</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../configuration.html">5. PRRTE DVM Configuration</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../how-things-work/index.html">6. How Things Work</a></li>
|
||||
<li class="toctree-l1 current"><a class="reference internal" href="index.html">7. Host specification</a><ul class="current">
|
||||
<li class="toctree-l2"><a class="reference internal" href="rm.html">7.1. Resource Manager-Provided Hosts</a></li>
|
||||
<li class="toctree-l2 current"><a class="current reference internal" href="#">7.2. Hostfiles</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="cli.html">7.3. Listing Hosts on the Command Line</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="relative-indexing.html">7.4. Relative host indexing</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../placement/index.html">8. Process placement</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../notifications.html">9. Notifications</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../session-directory.html">10. Session directory</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../developers/index.html">11. Developer’s guide</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../contributing.html">12. Contributing to PRRTE</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../license.html">13. License</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../man/index.html">14. PRRTE manual pages</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../versions.html">15. Software Version Numbers</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../news/index.html">16. News</a></li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
|
||||
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
||||
<a href="../index.html">PMIx Reference Run Time Environment</a>
|
||||
</nav>
|
||||
|
||||
<div class="wy-nav-content">
|
||||
<div class="rst-content">
|
||||
<div role="navigation" aria-label="Page navigation">
|
||||
<ul class="wy-breadcrumbs">
|
||||
<li><a href="../index.html" class="icon icon-home" aria-label="Home"></a></li>
|
||||
<li class="breadcrumb-item"><a href="index.html"><span class="section-number">7. </span>Host specification</a></li>
|
||||
<li class="breadcrumb-item active"><span class="section-number">7.2. </span>Hostfiles</li>
|
||||
<li class="wy-breadcrumbs-aside">
|
||||
<a href="../_sources/hosts/hostfiles.rst.txt" rel="nofollow"> View page source</a>
|
||||
</li>
|
||||
</ul>
|
||||
<hr/>
|
||||
</div>
|
||||
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||||
<div itemprop="articleBody">
|
||||
|
||||
<style>
|
||||
.wy-table-responsive table td,.wy-table-responsive table th{white-space:normal}
|
||||
</style><div class="section" id="hostfiles">
|
||||
<h1><span class="section-number">7.2. </span>Hostfiles<a class="headerlink" href="#hostfiles" title="Permalink to this heading"></a></h1>
|
||||
<p>Hostfiles (sometimes called “machine files”) are a combination of two
|
||||
things:</p>
|
||||
<ol class="arabic simple">
|
||||
<li><p>A listing of hosts on which to launch processes.</p></li>
|
||||
<li><p>Optionally, limit the number of processes which can be launched on
|
||||
each host.</p></li>
|
||||
</ol>
|
||||
<p>Hostfile syntax consists of one node name on each line, optionally
|
||||
including a designated number of “slots”:</p>
|
||||
<div class="highlight-sh notranslate"><div class="highlight"><pre><span></span><span class="c1"># This is a comment line, and will be ignored</span>
|
||||
node01<span class="w"> </span><span class="nv">slots</span><span class="o">=</span><span class="m">10</span>
|
||||
node13<span class="w"> </span><span class="nv">slots</span><span class="o">=</span><span class="m">5</span>
|
||||
|
||||
node15
|
||||
node16
|
||||
node17<span class="w"> </span><span class="nv">slots</span><span class="o">=</span><span class="m">3</span>
|
||||
...
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>Blank lines and lines beginning with a <code class="docutils literal notranslate"><span class="pre">#</span></code> are ignored.</p>
|
||||
<p>A “slot” is the PRRTE term for an allocatable unit where we can launch
|
||||
a process. See the section on definition of the term <code class="docutils literal notranslate"><span class="pre">slot</span></code> for a
|
||||
longer description of slots.</p>
|
||||
<p>In the absence of the <code class="docutils literal notranslate"><span class="pre">slot</span></code> 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.</p>
|
||||
<div class="admonition important">
|
||||
<p class="admonition-title">Important</p>
|
||||
<p>If using a resource manager, the user-specified number
|
||||
of slots is capped by the RM-assigned value.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
|
||||
<a href="rm.html" class="btn btn-neutral float-left" title="7.1. Resource Manager-Provided Hosts" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
|
||||
<a href="cli.html" class="btn btn-neutral float-right" title="7.3. Listing Hosts on the Command Line" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
|
||||
</div>
|
||||
|
||||
<hr/>
|
||||
|
||||
<div role="contentinfo">
|
||||
<p>© Copyright 2003-2025, The PRRTE Community.</p>
|
||||
</div>
|
||||
|
||||
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
|
||||
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
|
||||
provided by <a href="https://readthedocs.org">Read the Docs</a>.
|
||||
|
||||
|
||||
</footer>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
<script>
|
||||
jQuery(function () {
|
||||
SphinxRtdTheme.Navigation.enable(true);
|
||||
});
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
149
linx64/mpi/openmpi/share/doc/prrte/html/hosts/index.html
Normal file
149
linx64/mpi/openmpi/share/doc/prrte/html/hosts/index.html
Normal file
@@ -0,0 +1,149 @@
|
||||
<!DOCTYPE html>
|
||||
<html class="writer-html5" lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>7. Host specification — PMIx Reference Run Time Environment 3.0.8 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../_static/css/theme.css" />
|
||||
|
||||
|
||||
<!--[if lt IE 9]>
|
||||
<script src="../_static/js/html5shiv.min.js"></script>
|
||||
<![endif]-->
|
||||
|
||||
<script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
|
||||
<script src="../_static/jquery.js"></script>
|
||||
<script src="../_static/underscore.js"></script>
|
||||
<script src="../_static/_sphinx_javascript_frameworks_compat.js"></script>
|
||||
<script src="../_static/doctools.js"></script>
|
||||
<script src="../_static/sphinx_highlight.js"></script>
|
||||
<script src="../_static/js/theme.js"></script>
|
||||
<link rel="index" title="Index" href="../genindex.html" />
|
||||
<link rel="search" title="Search" href="../search.html" />
|
||||
<link rel="next" title="7.1. Resource Manager-Provided Hosts" href="rm.html" />
|
||||
<link rel="prev" title="6.1. Session Directories" href="../how-things-work/session_dirs.html" />
|
||||
</head>
|
||||
|
||||
<body class="wy-body-for-nav">
|
||||
<div class="wy-grid-for-nav">
|
||||
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
|
||||
<div class="wy-side-scroll">
|
||||
<div class="wy-side-nav-search" >
|
||||
|
||||
|
||||
|
||||
<a href="../index.html" class="icon icon-home">
|
||||
PMIx Reference Run Time Environment
|
||||
</a>
|
||||
<div role="search">
|
||||
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
|
||||
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
|
||||
<input type="hidden" name="check_keywords" value="yes" />
|
||||
<input type="hidden" name="area" value="default" />
|
||||
</form>
|
||||
</div>
|
||||
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
|
||||
<ul class="current">
|
||||
<li class="toctree-l1"><a class="reference internal" href="../quickstart.html">1. Quick start</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../release-notes.html">2. Release Notes</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../getting-help.html">3. Getting help</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../install.html">4. Installing PRRTE</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../configuration.html">5. PRRTE DVM Configuration</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../how-things-work/index.html">6. How Things Work</a></li>
|
||||
<li class="toctree-l1 current"><a class="current reference internal" href="#">7. Host specification</a><ul>
|
||||
<li class="toctree-l2"><a class="reference internal" href="rm.html">7.1. Resource Manager-Provided Hosts</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="hostfiles.html">7.2. Hostfiles</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="cli.html">7.3. Listing Hosts on the Command Line</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="relative-indexing.html">7.4. Relative host indexing</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../placement/index.html">8. Process placement</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../notifications.html">9. Notifications</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../session-directory.html">10. Session directory</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../developers/index.html">11. Developer’s guide</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../contributing.html">12. Contributing to PRRTE</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../license.html">13. License</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../man/index.html">14. PRRTE manual pages</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../versions.html">15. Software Version Numbers</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../news/index.html">16. News</a></li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
|
||||
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
||||
<a href="../index.html">PMIx Reference Run Time Environment</a>
|
||||
</nav>
|
||||
|
||||
<div class="wy-nav-content">
|
||||
<div class="rst-content">
|
||||
<div role="navigation" aria-label="Page navigation">
|
||||
<ul class="wy-breadcrumbs">
|
||||
<li><a href="../index.html" class="icon icon-home" aria-label="Home"></a></li>
|
||||
<li class="breadcrumb-item active"><span class="section-number">7. </span>Host specification</li>
|
||||
<li class="wy-breadcrumbs-aside">
|
||||
<a href="../_sources/hosts/index.rst.txt" rel="nofollow"> View page source</a>
|
||||
</li>
|
||||
</ul>
|
||||
<hr/>
|
||||
</div>
|
||||
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||||
<div itemprop="articleBody">
|
||||
|
||||
<style>
|
||||
.wy-table-responsive table td,.wy-table-responsive table th{white-space:normal}
|
||||
</style><div class="section" id="host-specification">
|
||||
<h1><span class="section-number">7. </span>Host specification<a class="headerlink" href="#host-specification" title="Permalink to this heading"></a></h1>
|
||||
<p>PRRTE identifies hosts on which to launch processes by:</p>
|
||||
<ol class="arabic simple">
|
||||
<li><p>A Resource Manager (RM) telling PRRTE which hosts to use</p></li>
|
||||
<li><p>The user providing a hostfile (also sometimes called a “machine
|
||||
file”)</p></li>
|
||||
<li><p>The user providing a list of hosts on the command line</p></li>
|
||||
</ol>
|
||||
<p>The sections below describe each of these in more detail.</p>
|
||||
<div class="toctree-wrapper compound">
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="rm.html">7.1. Resource Manager-Provided Hosts</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="hostfiles.html">7.2. Hostfiles</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="cli.html">7.3. Listing Hosts on the Command Line</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="relative-indexing.html">7.4. Relative host indexing</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
|
||||
<a href="../how-things-work/session_dirs.html" class="btn btn-neutral float-left" title="6.1. Session Directories" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
|
||||
<a href="rm.html" class="btn btn-neutral float-right" title="7.1. Resource Manager-Provided Hosts" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
|
||||
</div>
|
||||
|
||||
<hr/>
|
||||
|
||||
<div role="contentinfo">
|
||||
<p>© Copyright 2003-2025, The PRRTE Community.</p>
|
||||
</div>
|
||||
|
||||
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
|
||||
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
|
||||
provided by <a href="https://readthedocs.org">Read the Docs</a>.
|
||||
|
||||
|
||||
</footer>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
<script>
|
||||
jQuery(function () {
|
||||
SphinxRtdTheme.Navigation.enable(true);
|
||||
});
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,229 @@
|
||||
<!DOCTYPE html>
|
||||
<html class="writer-html5" lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>7.4. Relative host indexing — PMIx Reference Run Time Environment 3.0.8 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../_static/css/theme.css" />
|
||||
|
||||
|
||||
<!--[if lt IE 9]>
|
||||
<script src="../_static/js/html5shiv.min.js"></script>
|
||||
<![endif]-->
|
||||
|
||||
<script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
|
||||
<script src="../_static/jquery.js"></script>
|
||||
<script src="../_static/underscore.js"></script>
|
||||
<script src="../_static/_sphinx_javascript_frameworks_compat.js"></script>
|
||||
<script src="../_static/doctools.js"></script>
|
||||
<script src="../_static/sphinx_highlight.js"></script>
|
||||
<script src="../_static/js/theme.js"></script>
|
||||
<link rel="index" title="Index" href="../genindex.html" />
|
||||
<link rel="search" title="Search" href="../search.html" />
|
||||
<link rel="next" title="8. Process placement" href="../placement/index.html" />
|
||||
<link rel="prev" title="7.3. Listing Hosts on the Command Line" href="cli.html" />
|
||||
</head>
|
||||
|
||||
<body class="wy-body-for-nav">
|
||||
<div class="wy-grid-for-nav">
|
||||
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
|
||||
<div class="wy-side-scroll">
|
||||
<div class="wy-side-nav-search" >
|
||||
|
||||
|
||||
|
||||
<a href="../index.html" class="icon icon-home">
|
||||
PMIx Reference Run Time Environment
|
||||
</a>
|
||||
<div role="search">
|
||||
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
|
||||
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
|
||||
<input type="hidden" name="check_keywords" value="yes" />
|
||||
<input type="hidden" name="area" value="default" />
|
||||
</form>
|
||||
</div>
|
||||
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
|
||||
<ul class="current">
|
||||
<li class="toctree-l1"><a class="reference internal" href="../quickstart.html">1. Quick start</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../release-notes.html">2. Release Notes</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../getting-help.html">3. Getting help</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../install.html">4. Installing PRRTE</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../configuration.html">5. PRRTE DVM Configuration</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../how-things-work/index.html">6. How Things Work</a></li>
|
||||
<li class="toctree-l1 current"><a class="reference internal" href="index.html">7. Host specification</a><ul class="current">
|
||||
<li class="toctree-l2"><a class="reference internal" href="rm.html">7.1. Resource Manager-Provided Hosts</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="hostfiles.html">7.2. Hostfiles</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="cli.html">7.3. Listing Hosts on the Command Line</a></li>
|
||||
<li class="toctree-l2 current"><a class="current reference internal" href="#">7.4. Relative host indexing</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../placement/index.html">8. Process placement</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../notifications.html">9. Notifications</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../session-directory.html">10. Session directory</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../developers/index.html">11. Developer’s guide</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../contributing.html">12. Contributing to PRRTE</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../license.html">13. License</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../man/index.html">14. PRRTE manual pages</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../versions.html">15. Software Version Numbers</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="../news/index.html">16. News</a></li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
|
||||
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
||||
<a href="../index.html">PMIx Reference Run Time Environment</a>
|
||||
</nav>
|
||||
|
||||
<div class="wy-nav-content">
|
||||
<div class="rst-content">
|
||||
<div role="navigation" aria-label="Page navigation">
|
||||
<ul class="wy-breadcrumbs">
|
||||
<li><a href="../index.html" class="icon icon-home" aria-label="Home"></a></li>
|
||||
<li class="breadcrumb-item"><a href="index.html"><span class="section-number">7. </span>Host specification</a></li>
|
||||
<li class="breadcrumb-item active"><span class="section-number">7.4. </span>Relative host indexing</li>
|
||||
<li class="wy-breadcrumbs-aside">
|
||||
<a href="../_sources/hosts/relative-indexing.rst.txt" rel="nofollow"> View page source</a>
|
||||
</li>
|
||||
</ul>
|
||||
<hr/>
|
||||
</div>
|
||||
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
||||
<div itemprop="articleBody">
|
||||
|
||||
<style>
|
||||
.wy-table-responsive table td,.wy-table-responsive table th{white-space:normal}
|
||||
</style><div class="section" id="relative-host-indexing">
|
||||
<h1><span class="section-number">7.4. </span>Relative host indexing<a class="headerlink" href="#relative-host-indexing" title="Permalink to this heading"></a></h1>
|
||||
<p>Hostfile and <code class="docutils literal notranslate"><span class="pre">--host</span></code> specifications can also be made using relative
|
||||
indexing. This allows a user to stipulate which hosts are to be used
|
||||
for a given app context without specifying the particular host name,
|
||||
but rather its relative position in the allocation.</p>
|
||||
<p>This can probably best be understood through consideration of a few
|
||||
examples. Consider the case where a DVM is comprised of a set of nodes
|
||||
named <code class="docutils literal notranslate"><span class="pre">foo1</span></code>, <code class="docutils literal notranslate"><span class="pre">foo2</span></code>, <code class="docutils literal notranslate"><span class="pre">foo3</span></code>, <code class="docutils literal notranslate"><span class="pre">foo4</span></code>. The user wants the first
|
||||
app context to have exclusive use of the first two nodes, and a second
|
||||
app context to use the last two nodes. Of course, the user could
|
||||
printout the allocation to find the names of the nodes allocated to
|
||||
them and then use <code class="docutils literal notranslate"><span class="pre">--host</span></code> to specify this layout, but this is
|
||||
cumbersome and would require hand-manipulation for every invocation.</p>
|
||||
<p>A simpler method is to utilize PRRTE’s relative indexing capability to
|
||||
specify the desired layout. In this case, a command line containing:</p>
|
||||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="o">--</span><span class="n">host</span> <span class="o">+</span><span class="n">n1</span><span class="p">,</span><span class="o">+</span><span class="n">n2</span> <span class="o">./</span><span class="n">app1</span> <span class="p">:</span> <span class="o">--</span><span class="n">host</span> <span class="o">+</span><span class="n">n3</span><span class="p">,</span><span class="o">+</span><span class="n">n4</span> <span class="o">./</span><span class="n">app2</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>would provide the desired pattern. The <code class="docutils literal notranslate"><span class="pre">+</span></code> syntax indicates that the
|
||||
information is being provided as a relative index into the existing
|
||||
allocation. Two methods of relative indexing are supported:</p>
|
||||
<ul class="simple">
|
||||
<li><p><code class="docutils literal notranslate"><span class="pre">+n#</span></code>: A relative index into the allocation referencing the <code class="docutils literal notranslate"><span class="pre">#</span></code>
|
||||
node. PRRTE will substitute the <code class="docutils literal notranslate"><span class="pre">#</span></code> node in the allocation</p></li>
|
||||
<li><p><code class="docutils literal notranslate"><span class="pre">+e[:#]</span></code>: A request for <code class="docutils literal notranslate"><span class="pre">#</span></code> empty nodes — i.e., PRRTE is
|
||||
to substitute this reference with nodes that have not yet been used
|
||||
by any other app_context. If the <code class="docutils literal notranslate"><span class="pre">:#</span></code> is not provided, PRRTE will
|
||||
substitute the reference with all empty nodes. Note that PRRTE does
|
||||
track the empty nodes that have been assigned in this manner, so
|
||||
multiple uses of this option will result in assignment of unique
|
||||
nodes up to the limit of the available empty nodes. Requests for
|
||||
more empty nodes than are available will generate an error.</p></li>
|
||||
</ul>
|
||||
<p>Relative indexing can be combined with absolute naming of hosts in any
|
||||
arbitrary manner, and can be used in hostfiles as well as with the
|
||||
<code class="docutils literal notranslate"><span class="pre">--host</span></code> command line option. In addition, any slot specification
|
||||
provided in hostfiles will be respected — thus, a user can
|
||||
specify that only a certain number of slots from a relative indexed
|
||||
host are to be used for a given app context.</p>
|
||||
<p>Another example may help illustrate this point. Consider the case
|
||||
where the user has a hostfile containing:</p>
|
||||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">dummy1</span> <span class="n">slots</span><span class="o">=</span><span class="mi">4</span>
|
||||
<span class="n">dummy2</span> <span class="n">slots</span><span class="o">=</span><span class="mi">4</span>
|
||||
<span class="n">dummy3</span> <span class="n">slots</span><span class="o">=</span><span class="mi">4</span>
|
||||
<span class="n">dummy4</span> <span class="n">slots</span><span class="o">=</span><span class="mi">4</span>
|
||||
<span class="n">dummy5</span> <span class="n">slots</span><span class="o">=</span><span class="mi">4</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>This may, for example, be a hostfile that describes a set of
|
||||
commonly-used resources that the user wishes to execute applications
|
||||
against. For this particular application, the user plans to map
|
||||
byslot, and wants the first two ranks to be on the second node of any
|
||||
allocation, the next ranks to land on an empty node, have one rank
|
||||
specifically on <code class="docutils literal notranslate"><span class="pre">dummy4</span></code>, the next rank to be on the second node of the
|
||||
allocation again, and finally any remaining ranks to be on whatever
|
||||
empty nodes are left. To accomplish this, the user provides a hostfile
|
||||
of:</p>
|
||||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="o">+</span><span class="n">n2</span> <span class="n">slots</span><span class="o">=</span><span class="mi">2</span>
|
||||
<span class="o">+</span><span class="n">e</span><span class="p">:</span><span class="mi">1</span>
|
||||
<span class="n">dummy4</span> <span class="n">slots</span><span class="o">=</span><span class="mi">1</span>
|
||||
<span class="o">+</span><span class="n">n2</span>
|
||||
<span class="o">+</span><span class="n">e</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>The user can now use this information in combination with PRRTE’s
|
||||
sequential mapper to obtain their specific layout:</p>
|
||||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="o"><</span><span class="n">launcher</span><span class="o">></span> <span class="o">--</span><span class="n">hostfile</span> <span class="n">dummyhosts</span> <span class="o">--</span><span class="n">hostfile</span> <span class="n">mylayout</span> <span class="o">--</span><span class="n">prtemca</span> <span class="n">rmaps</span> <span class="n">seq</span> <span class="o">./</span><span class="n">my_app</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>which will result in:</p>
|
||||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">rank0</span> <span class="n">being</span> <span class="n">mapped</span> <span class="n">to</span> <span class="n">dummy3</span>
|
||||
<span class="n">rank1</span> <span class="n">to</span> <span class="n">dummy1</span> <span class="k">as</span> <span class="n">the</span> <span class="n">first</span> <span class="n">empty</span> <span class="n">node</span>
|
||||
<span class="n">rank2</span> <span class="n">to</span> <span class="n">dummy4</span>
|
||||
<span class="n">rank3</span> <span class="n">to</span> <span class="n">dummy3</span>
|
||||
<span class="n">rank4</span> <span class="n">to</span> <span class="n">dummy2</span> <span class="ow">and</span> <span class="n">rank5</span> <span class="n">to</span> <span class="n">dummy5</span> <span class="k">as</span> <span class="n">the</span> <span class="n">last</span> <span class="n">remaining</span> <span class="n">unused</span> <span class="n">nodes</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>Note that the sequential mapper ignores the number of slots arguments
|
||||
as it only maps one rank at a time to each node in the list.</p>
|
||||
<p>If the default round-robin mapper had been used, then the mapping
|
||||
would have resulted in:</p>
|
||||
<ul class="simple">
|
||||
<li><p>ranks 0 and 1 being mapped to dummy3 since two slots were specified</p></li>
|
||||
<li><p>ranks 2-5 on dummy1 as the first empty node, which has four slots</p></li>
|
||||
<li><p>rank6 on dummy4 since the hostfile specifies only a single slot from
|
||||
that node is to be used</p></li>
|
||||
<li><p>ranks 7 and 8 on dummy3 since only two slots remain available</p></li>
|
||||
<li><p>ranks 9-12 on dummy2 since it is the next available empty node and
|
||||
has four slots</p></li>
|
||||
<li><p>ranks 13-16 on dummy5 since it is the last remaining unused node and
|
||||
has four slots</p></li>
|
||||
</ul>
|
||||
<p>Thus, the use of relative indexing can allow for complex mappings to
|
||||
be ported across allocations, including those obtained from automated
|
||||
resource managers, without the need for manual manipulation of scripts
|
||||
and/or command lines.</p>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
|
||||
<a href="cli.html" class="btn btn-neutral float-left" title="7.3. Listing Hosts on the Command Line" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
|
||||
<a href="../placement/index.html" class="btn btn-neutral float-right" title="8. Process placement" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
|
||||
</div>
|
||||
|
||||
<hr/>
|
||||
|
||||
<div role="contentinfo">
|
||||
<p>© Copyright 2003-2025, The PRRTE Community.</p>
|
||||
</div>
|
||||
|
||||
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
|
||||
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
|
||||
provided by <a href="https://readthedocs.org">Read the Docs</a>.
|
||||
|
||||
|
||||
</footer>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
<script>
|
||||
jQuery(function () {
|
||||
SphinxRtdTheme.Navigation.enable(true);
|
||||
});
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user