Skip to content

Commit 6984973

Browse files
authored
quickstart content updates (#4)
* quickstart content updates * update copyright year
1 parent 6ad1130 commit 6984973

File tree

3 files changed

+40
-70
lines changed

3 files changed

+40
-70
lines changed

doc/conf.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@
5454
# -- Project information -----------------------------------------------------
5555

5656
project = u'NRM'
57-
copyright = u'2019, Argonne National Laboratory'
57+
copyright = u'2021, Argonne National Laboratory'
5858
author = u'Argo team, Argonne National Laboratory'
5959

6060
# The short X.Y version

doc/index.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ and the notebooks under :doc:`NRM-Python<nrm-python:index>` for python upstream
3030

3131
.. toctree::
3232
:maxdepth: 2
33-
:caption: User Guide:
33+
:caption: User Guides:
3434

3535
quickstart
3636
libnrm

doc/quickstart.rst

Lines changed: 38 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -17,17 +17,6 @@ Container piece
1717
The NRM code now supports mapping slices on both Singularity containers and
1818
NodeOS compute containers.
1919

20-
NodeOS
21-
^^^^^^
22-
23-
For NodeOS container usage, you need to install our container piece
24-
on the system. On a production platform, this should be done by a sysadmin. On
25-
a development platform, this can be achieved with::
26-
27-
git clone https://xgitlab.cels.anl.gov/argo/containers.git
28-
cd containers
29-
make install
30-
3120
Singularity
3221
^^^^^^^^^^^
3322

@@ -37,30 +26,43 @@ page.
3726
NRM
3827
---
3928

40-
The NRM core components (the ``nrmd`` daemon and ``nrm`` client) can be installed
41-
in multiple ways:
29+
The NRM core library must be installed first. Binary releases are available on GitHub_.
30+
If installing via this method, ensure that ``LD_LIBRARY_PATH`` points to the directory
31+
that contains the extracted shared library files. Otherwise, set the ``NRMSO``
32+
and ``PYNRMSO`` environment variables like the following::
33+
34+
tar xf nrm-core-v0.7.0-x86_64-linux.tar.gz
35+
export NRMSO=${PWD}/nrm-core-v0.7.0-x86_64-linux/lib/libnrm-core.so
36+
export PYNRMSO=${PWD}/nrm-core-v0.7.0-x86_64-linux/lib/libnrm-core-python.so
37+
38+
The ``nrm`` client is available in ``nrm-core-v0.7.0-x86_64-linux/bin``.
39+
40+
Alternatively, the NRM core components (the ``nrmd`` daemon and ``nrm`` client)
41+
can be installed in other ways:
4242

4343
Using Spack
4444
^^^^^^^^^^^
45-
::
4645

47-
spack install nrm
46+
The various components of NRM are available on Spack. The ``nrm-core`` package
47+
contains the core library and ``py-nrm`` contains the Python interface. The ``nrm``
48+
package contains documentation and example configuration scripts, and also installs
49+
the other components::
4850

49-
Using Nix
50-
^^^^^^^^^
5151

52-
NRM has a Nix package in our local package repository::
52+
spack install nrm-core
53+
spack install py-nrm
54+
55+
or::
5356

54-
nix-env -f "https://xgitlab.cels.anl.gov/argo/argopkgs/-/archive/master/argopkgs-master.tar.gz" -iA nrm
57+
spack install nrm
5558

5659
Using Pip
5760
^^^^^^^^^
5861

59-
You should be able to get NRM and its dependencies on any machine with::
60-
61-
pip install git+https://xgitlab.cels.anl.gov/argo/nrm.git
62+
After obtaining NRM-Core, you should be able to get the NRM Python interface
63+
and most of its dependencies on any machine with::
6264

63-
And entering the resulting virtual environment with ``pipenv shell``.
65+
pip install https://github.com/anlsys/nrm-python.git
6466

6567
Setup: Launching the `nrmd` daemon
6668
==================================
@@ -76,58 +78,25 @@ default.
7678
-----------------------------
7779

7880
The ``nrmd`` daemon is mainly configured
79-
through its command-line options.::
81+
through its command-line options::
8082

81-
usage: nrmd [-h] [-c FILE] [-d] [-v] [--nrm_log NRM_LOG] [--hwloc HWLOC]
82-
[--argo_nodeos_config ARGO_NODEOS_CONFIG] [--perf PERF]
83-
[--pmpi_lib PMPI_LIB] [--argo_perf_wrapper ARGO_PERF_WRAPPER]
84-
[--singularity SINGULARITY]
85-
[--container-runtime {nodeos,singularity}]
83+
Usage: nrmd [-i|--stdin] [CONFIG] [-y|--yaml]
84+
NRM Daemon
8685

87-
optional arguments:
88-
-h, --help show this help message and exit
89-
-c FILE, --configuration FILE
90-
Specify a config json-formatted config file to
91-
override any of the available CLI options. If an
92-
option is actually provided on the command-line, it
93-
overrides its corresponding value from the
94-
configuration file.
95-
-d, --print_defaults Print the default configuration file.
96-
-v, --verbose increase output verbosity
97-
--nrm_log NRM_LOG Main log file. Override default with the NRM_LOG
98-
environment variable
99-
--hwloc HWLOC Path to the hwloc to use. This path can be relative
100-
and makes uses of the $PATH if necessary. Override
101-
default with the HWLOC environment variable.
102-
--argo_nodeos_config ARGO_NODEOS_CONFIG
103-
Path to the argo_nodeos_config to use. This path can
104-
be relative and makes uses of the $PATH if necessary.
105-
Override default with the ARGO_NODEOS_CONFIG
106-
environment variable.
107-
--perf PERF Path to the linux perf tool to use. This path can be
108-
relative and makes uses of the $PATH if necessary.
109-
Override default with the PERF environment variable.
110-
--pmpi_lib PMPI_LIB Path to the libnrm PMPI library used for the power
111-
policy. Override default with the PMPI environment
112-
variable.
113-
--argo_perf_wrapper ARGO_PERF_WRAPPER
114-
Path to the linux perf tool to use. This path can be
115-
relative and makes uses of the $PATH if necessary.
116-
Override default with the PERFWRAPPER environment
117-
variable.
118-
--singularity SINGULARITY
119-
Path to the singularity command. Override default with
120-
the SINGULARITY environment variable.
121-
--container-runtime {nodeos,singularity}
122-
Choice of container runtime. Override default with the
123-
ARGO_CONTAINER_RUNTIME environment variable.
86+
Available options:
87+
-h,--help Show this help text
88+
-i,--stdin Read configuration on stdin.
89+
CONFIG Input configuration with .yml/.yaml/.dh/.dhall
90+
extension. Leave void for stdin (dhall) input.
91+
-y,--yaml Assume configuration to be yaml instead of dhall.
92+
-h,--help Show this help text
12493

12594
Running jobs using `nrm`
12695
========================
12796

128-
Tasks are configured using a JSON file called a *manifest* and started using the ``nrm``
97+
Tasks are configured using a config file called a *manifest* and started using the ``nrm``
12998
command-line utility. Here's an example manifest that allocates two CPUS and
130-
enables application progress monitoring with a one-second rate limit.::
99+
enables application progress monitoring with a one-second rate limit::
131100

132101
name: basic
133102
version: 0.0.1
@@ -220,3 +189,4 @@ Set a node power target::
220189

221190

222191
.. _Singularity: https://singularity.lbl.gov/install-request
192+
.. _ GitHub: https://github.com/anlsys/nrm-core/releases

0 commit comments

Comments
 (0)