You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+37-33Lines changed: 37 additions & 33 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
# Sbox
2
2
3
-
Sbox is a toolbox for Slurm that provides information about users' accounts and jobs as well as information about the cluster resources. Sbox also can help Slurm admins to collect users' information by users ID and jobs ID. Interactive command uses Slurm `srun` and `sbatch` commands to request resources interactively including running a Jupyter server on the cluster.
3
+
Sbox is a toolbox for Slurm that provides information about users' accounts and jobs as well as information about the cluster resources. Sbox also can help Slurm admins to collect users' information by user and job IDs. Interactive command uses Slurm `srun` and `sbatch` commands to request resources interactively including running a Jupyter server on the cluster.
4
4
5
5
## Commands
6
6
@@ -16,10 +16,10 @@ Sbox is a toolbox for Slurm that provides information about users' accounts and
16
16
-`-h, --help`: Show the help message and exit.
17
17
-`-a, --account`: Return user's Slurm accounts by using Slurm `sacctmgr`. If the cluster does not use Slurm for users' account management, it returns empty output.
18
18
-`-f, --fairshare`: Return users' fairshare by using Slurm `sshare` command. If the cluster does not follow a fairshare model, it returns empty output.
19
-
-`-g, --group`: Return user's Posix groups by using Unix `groups` command.
19
+
-`-g, --group`: Return user's posix groups by using Unix `groups` command.
20
20
-`-q, --queue`: Return user's jobs in the Slurm queue by Slurm using `squeue` command.
21
21
-`-j, --job`: Show a running/pending job info by using Slurm `scontrol` command. It requires a valid job ID as argument.
22
-
-`-c, --cpu`: Return computational resources including number of cores and amount of memory on each node. It uses Slurm `sjstat` command.
22
+
-`-c, --cpu`: Return computational resources including number of cores and amount of memory on each node. It uses Slurm `sjstat` command.
23
23
-`-p, --partition`: Show cluster partitions by using Slurm `sinfo` command.
24
24
-`-u, --user`: Store a user ID. By default it uses `$USER` as user ID for any query that needs a user ID. It can be used with other options to find the information for other users.
25
25
-`-v, --version`: Show program's version number and exit.
@@ -28,7 +28,7 @@ Sbox is a toolbox for Slurm that provides information about users' accounts and
28
28
-`--pending`: Return user's pending jobs by using Slurm `squeue` command.
29
29
-`--running`: Return user's running jobs by using Slurm `squeue` command.
30
30
-`--qos`: Show user's quality of services (QOS) and a list of available QOS in the cluster. It uses Slurm `sacctmgr show assoc` command and return empty output if the cluster does not use Slurm for users' account management.
31
-
-`--quota`: Return user's disk quotas. It uses LFS `lfs quota` command for LFS systems and Unix `df` command for NFS systems. It returns pooled size of the disk if the cluster does not have user/group storage accounts.
31
+
-`--quota`: Return user's disk quotas. It uses `lfs quota` command for LFS systems and Unix `df` command for NFS systems. It returns pooled size of the disk if the cluster does not have user/group storage accounts.
32
32
-`--ncpu`: Show number of available cpus on the cluster using Slurm `sinfo` command.
33
33
-`--ncgu`: Show number of available gpus on the cluster using Slurm `squeue` and `sinfo` commands.
34
34
-`--gpu`: Show gpu resources including gpu cards' name and numbers using Slurm `sinfo` command.
@@ -122,17 +122,17 @@ Fine jobs in the queue:
122
122
123
123
### Command line options
124
124
125
-
-`-h, --help`: Show this help message and exit
126
-
-`-A, --account`: Slurm account name or project id
127
-
-`-n, --ntasks`: Number of tasks (cpus)
128
-
-`-N, --nodes`: Number of nodes
129
-
-`-p, --partition`: Partition name
130
-
-`-t, --time`: Number of hours (based on the partitions timelimit)
131
-
-`-l, --license`: Add a license to an interactive session
132
-
-`-m, --mem`: Amount of memory per GB
133
-
-`-g, --gpu`: Number of gpus
125
+
-`-h, --help`: Show this help message and exit.
126
+
-`-A, --account`: Slurm account name or project id.
127
+
-`-n, --ntasks`: Number of tasks (cpus).
128
+
-`-N, --nodes`: Number of nodes.
129
+
-`-p, --partition`: Partition name.
130
+
-`-t, --time`: Number of hours based on the partitions timelimit.
131
+
-`-l, --license`: Add a license to an interactive session.
132
+
-`-m, --mem`: Amount of memory per GB.
133
+
-`-g, --gpu`: Number of gpus.
134
134
-`-k, --kernel`: Jupyter kernel for python, r, julia. The default kernel is python.
135
-
-`-e, --environment`: Python environment(s) for a JupyterLab session
135
+
-`-e, --environment`: Python environment(s) for a JupyterLab session.
136
136
137
137
**Examples**
138
138
@@ -211,14 +211,14 @@ Starting Jupyter server ...
211
211
212
212
## Quick install
213
213
214
-
- Download and extract the [latest Sbox release](https://github.com/ashki23/sbox/releases/latest)
215
-
- Update the `./config` file based on the cluster information. Review "Configuration" to learn more. Find a config example under `./templates/config-rcss`
216
-
- To access a JupyerLab session, install Anaconda and create the required virtual environments and modulefiles. Review "Requirements" to learn more
217
-
- Place a modulefile for Sbox under `$MODULEPATH/sbox` directory. As a template you may use `./templates/1.1.lua`
214
+
- Download and extract the [latest Sbox release](https://github.com/ashki23/sbox/releases/latest).
215
+
- Update the `./config` file based on the cluster information. Review "Configuration" to learn more.
216
+
- To access a JupyerLab session, install Anaconda and create the required virtual environments and modulefiles. Review "Requirements" to learn more.
217
+
- Place a modulefile for Sbox under `$MODULEPATH/sbox` directory. You can find the Sbox template modulefile in `./templates/1.2.lua`.
218
218
219
219
## Requirements
220
220
221
-
Sbox requires Slurm and Python >= 3.6.8. The `interactive jupyter` command requires Anaconda and an environment module system (e.g. [Lmod](https://lmod.readthedocs.io/en/latest/)) in addition to Slurm and Python. To use R and Julia kernels in `interactive jupyter`, we need R and irkernel as well as Julia to be installed.
221
+
Sbox requires Slurm and Python >= 3.6.8. The `interactive jupyter` command requires Anaconda and an environment module system (e.g. [Lmod](https://lmod.readthedocs.io/en/latest/)) in addition to Slurm and Python. To use R and Julia in JupyterLab sessions, we need R and irkernel as well as Julia to be installed.
222
222
223
223
Note that Sbox options might require some other Unix commands. Review the options requirement under the command line options.
224
224
@@ -239,6 +239,7 @@ To load Anaconda by `modeule load` command, create the following modeulefile un
Or a tcl modulefile similar to the above tcl template for Anaconda.
332
+
Or adding a tcl modulefile similar to the above tcl template for Anaconda.
331
333
332
334
333
335
### Julia kernel
334
336
335
-
The `interactive jupyter -k julia` command provides Julia from a JupyterLab notebook. Julia can be installed from [Spack](https://spack.io/), [source](https://julialang.org/downloads/) or [Anaconda](https://anaconda.org/conda-forge/julia). The following shows how to install Julia from an Anaconda (Note that if Julia have been installed on the cluster, you can skip this section and use the available Julia module instead).
337
+
The `interactive jupyter -k julia` command provides Julia from a JupyterLab notebook. Julia can be installed from [Spack](https://spack.io/), [source](https://julialang.org/downloads/) or [Anaconda](https://anaconda.org/conda-forge/julia). The following shows how to install Julia from Anaconda (Note that if Julia have been installed on the cluster, you can skip this section and use the available Julia module instead).
336
338
337
339
```bash
338
340
cd /<cluster software path>/anaconda/<year.month>
@@ -346,6 +348,7 @@ The following modulefile should be added to `$MODULEPATH/julia/<version>.lua`:
Or a tcl modulefile similar to the above tcl template for Anaconda.
422
+
Or adding a tcl modulefile similar to the above tcl template for Anaconda.
419
423
420
424
421
425
## Configuration
@@ -438,14 +442,14 @@ The `sbox` and `interactive` commands are reading the required information from
438
442
439
443
The config file includes:
440
444
441
-
-`disk_quota_paths`: A list of pathes to the disk for finding users quotas. By default the first input is considered as the users' home path
442
-
-`cpu_partition`: A list of computational partitions
443
-
-`gpu_partition`: A list of GPU partitions
444
-
-`interactive_partition_timelimit`: A dictionary of interactive partitions (i.e. users should access by `srun`) and their time limits (hour)
445
-
-`jupyter_partition_timelimit`: A dictionary of computational/gpu partitions that users can run Jupter servers interactively and their time limits (hour)
446
-
-`partition_qos`: A dictionary of partitions and the corresponding quality of services
447
-
-`kernel_module`: A dictionary of kernels and the corresponding modules
448
-
-`env_module`: A dictionary of Python virtual environments and the corresponding modules
445
+
-`disk_quota_paths`: A list of paths to the disk for finding users quotas. By default the first input is considered as the users' home path.
446
+
-`cpu_partition`: A list of computational partitions.
447
+
-`gpu_partition`: A list of GPU partitions.
448
+
-`interactive_partition_timelimit`: A dictionary of interactive partitions (i.e. users should access by `srun`) and their time limits (hour). The first input is considered as the default partition.
449
+
-`jupyter_partition_timelimit`: A dictionary of computational/gpu partitions that users can run Jupter servers interactively and their time limits (hour). The first input is considered as the default partition.
450
+
-`partition_qos`: A dictionary of partitions and the corresponding quality of services.
451
+
-`kernel_module`: A dictionary of kernels and the corresponding modules. A Python kernel is required (review the Requirments).
452
+
-`env_module`: A dictionary of Python virtual environments and the corresponding modules.
Copy file name to clipboardExpand all lines: docs/index.rst
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,7 +1,7 @@
1
1
Sbox
2
2
====
3
3
4
-
Sbox is a toolbox for Slurm that provides information about users' accounts and jobs as well as information about the cluster resources. Sbox also can help Slurm admins to collect users' information by users ID and jobs ID. Interactive command uses Slurm ``srun`` and ``sbatch`` commands to request resources interactively including running a Jupyter server on the cluster.
4
+
Sbox is a toolbox for Slurm that provides information about users' accounts and jobs as well as information about the cluster resources. Sbox also can help Slurm admins to collect users' information by user and job IDs. Interactive command uses Slurm ``srun`` and ``sbatch`` commands to request resources interactively including running a Jupyter server on the cluster.
5
5
6
6
.. note:: You can download the latest release of Sbox from `https://github.com/ashki23/sbox/releases/latest <https://github.com/ashki23/sbox/releases/latest>`_ and find the codes or fork the repository on `https://github.com/ashki23/sbox <https://github.com/ashki23/sbox>`__.
Copy file name to clipboardExpand all lines: docs/requirements.rst
+26-28Lines changed: 26 additions & 28 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,24 +1,20 @@
1
1
Quick install
2
2
=============
3
3
4
-
- Download and extract the `latest Sbox release <https://github.com/ashki23/sbox/releases/latest>`__
4
+
- Download and extract the `latest Sbox release <https://github.com/ashki23/sbox/releases/latest>`__.
5
5
- Update the ``./config`` file based on the cluster information. Review
6
-
`“Configuration” <https://sbox.readthedocs.io/en/latest/requirements.html#configuration>`__ to learn more. Find a config example under
7
-
``./templates/config-rcss``
8
-
- To access a JupyerLab session, install Anaconda and create
9
-
the required virtual environments and modulefiles. Review
10
-
`“Requirements” <https://sbox.readthedocs.io/en/latest/requirements.html#requirements>`__ to learn more.
11
-
- Place a modulefile for Sbox under ``$MODULEPATH/sbox`` directory. As
12
-
a template you may use ``./templates/1.1.lua``
6
+
`Configuration <https://sbox.readthedocs.io/en/latest/requirements.html#configuration>`__ to learn more.
7
+
- To access a JupyerLab session, install Anaconda and create the required virtual environments and modulefiles. Review
8
+
`Requirements <https://sbox.readthedocs.io/en/latest/requirements.html#requirements>`__ to learn more.
9
+
- Place a modulefile for Sbox under ``$MODULEPATH/sbox``. You can find the Sbox template modulefile in `here <https://github.com/ashki23/sbox/blob/main/templates/1.2.lua>`__.
13
10
14
11
Requirements
15
12
============
16
13
17
14
Sbox requires Slurm and Python >= 3.6.8. The ``interactive jupyter``
18
15
command requires Anaconda and an environment module system
19
16
(e.g. `Lmod <https://lmod.readthedocs.io/en/latest/>`__) in addition to
20
-
Slurm and Python. To use R and Julia kernels in ``interactive jupyter``,
21
-
we need R and irkernel as well as Julia to be installed.
17
+
Slurm and Python. To use R and Julia in JupyterLab sessions, we need R and irkernel as well as Julia to be installed.
22
18
23
19
Note that Sbox options might require some other Unix commands. Review
24
20
the options requirement under the `command line options <https://sbox.readthedocs.io/en/latest/sbox.html#command-line-options>`__.
@@ -49,6 +45,7 @@ modeulefile under ``$MODULEPATH/anaconda/<year.month>.lua``:
49
45
.. code:: lua
50
46
51
47
-- -*- lua -*-
48
+
52
49
whatis([[Name : anaconda]])
53
50
whatis([[Version : <year.month>]])
54
51
whatis([[Target : x86_64]])
@@ -68,7 +65,7 @@ modeulefile under ``$MODULEPATH/anaconda/<year.month>.lua``:
0 commit comments