@@ -17,17 +17,6 @@ Container piece
17
17
The NRM code now supports mapping slices on both Singularity containers and
18
18
NodeOS compute containers.
19
19
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
-
31
20
Singularity
32
21
^^^^^^^^^^^
33
22
@@ -37,30 +26,43 @@ page.
37
26
NRM
38
27
---
39
28
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:
42
42
43
43
Using Spack
44
44
^^^^^^^^^^^
45
- ::
46
45
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::
48
50
49
- Using Nix
50
- ^^^^^^^^^
51
51
52
- NRM has a Nix package in our local package repository::
52
+ spack install nrm-core
53
+ spack install py-nrm
54
+
55
+ or::
53
56
54
- nix-env -f "https://xgitlab.cels.anl.gov/argo/argopkgs/-/archive/master/argopkgs-master.tar.gz" -iA nrm
57
+ spack install nrm
55
58
56
59
Using Pip
57
60
^^^^^^^^^
58
61
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::
62
64
63
- And entering the resulting virtual environment with `` pipenv shell ``.
65
+ pip install https://github.com/anlsys/nrm-python.git
64
66
65
67
Setup: Launching the `nrmd ` daemon
66
68
==================================
@@ -76,58 +78,25 @@ default.
76
78
-----------------------------
77
79
78
80
The ``nrmd `` daemon is mainly configured
79
- through its command-line options. ::
81
+ through its command-line options::
80
82
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
86
85
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
124
93
125
94
Running jobs using `nrm `
126
95
========================
127
96
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 ``
129
98
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::
131
100
132
101
name: basic
133
102
version: 0.0.1
@@ -220,3 +189,4 @@ Set a node power target::
220
189
221
190
222
191
.. _Singularity : https://singularity.lbl.gov/install-request
192
+ .. _ GitHub : https://github.com/anlsys/nrm-core/releases
0 commit comments