Supported operating systems¶
PYP has been tested and works on the following operating systems:
PYP command line interface only works when a SLURM cluster is attached (i.e., it does not work in standalone mode).
Step 1: Prerequisites for installation on a cluster¶
- SLURM Cluster:
PYPuses a SLURM compute cluster to do the data processing. The login node of the SLURM cluster must be reachable on the network from the machine where
PYPwill be installed.
- Shared filesystem:
PYPrequires that the web server and the SLURM cluster share a single filesystem (e.g. an NFS storage system) and it be mounted at the same mount point on every machine. For example, if the shared filesystem is mounted on the SLURM cluster nodes as
/nfs/data, then those files should also be available on the web server machine as
- Paswordless SSH access to the SLURM login node:
The service account needs to have login access from the web server to the SLURM node via SSH without a password. This will require installing the public SSH key for the service account into the login system for the SLURM node. For a stock linux installation of sshd, that usually means copying the public key into a file like /home/account/.ssh/authorized_keys. But for SLURM clusters with a networked login system or SSO, you’ll need to consult your organization’s IT staff for SSH key installation instructions.
Step 2: (if needed) Install operating system packages¶
The only packages needed are Apptainer (formerly Singularity) and
You can verify if these are installed in your system using:
command -v wget command -v apptainer
If they are not, you will need admin privileges to install them. Installation instructions vary by operating system:
Before installing the packages, you will need first to enable the EPEL repository, if it was not enabled already:
sudo dnf install -y epel-release
Then you can install the packages:
sudo dnf install -y apptainer wget
sudo apt-get install -y wget
Download debian package for Apptainer:
sudo apt-get install -y ./apptainer_1.1.0-rc.2_amd64.deb
Step 3: Download and run the installation script¶
First, create the folder where
PYP will be installed. This folder must be on the shared
filesystem (unless you are installing in Standalone mode). If you mounted the shared filesystem at e.g.
/nfs/data/, then create a folder
called something like
Then, navigate to the app folder you just created.
Then, choose which version of
PYP you want to install.
Then, download the installation script for that version. Assuming you chose “latest”, run:
chmod u+x install-cli
The next step is to run the installer.
After the installation finishes (it should not take more than a couple of minutes),
PYP is almost ready to use.
All that’s left is to confirm (or modify) the configuration file.
Step 4: Review configuration¶
The installer created a default configuration file at
config.toml in the installation folder.
This file is written in the TOML format.
The installer did its best to guess the correct configuration options for your environment, but almost certainly there are some settings that need review.
In particular, the
slurm.host setting should be the hostname or address of the SLURM login node. If you happened to
PYP on the SLURM login node, then congratulations! This setting is correct for you.
PYP is installed on another machine instead, then be sure to correct the value to the real
SLURM login node.
Feel free to review any other configuration settings as well. The default configuration file has a few comments to describe the settings configured there, but you can find more information in the full documentation for the configuration file.
PYP in Standalone mode, make sure there
[slurm] section in the configuration file is removed.
Step 5 (recommended): Configure access system resources¶
Configure how to access system resources by specifying the following parameters:
Directory for large (multi-GB) temporary files on the compute nodes. This location should have fast read/write speeds, ideally in local storage.
PYPruns inside of a Singularity/Apptainer container, by default, no files from outside of the container will be visible to
PYP. To make files visible to
PYP, bind the directories containing those files into the container.
slurm.path(SLURM mode only)
Path to the SLURM binaries on the login node.
slurm.queues(SLURM mode only)
The names of any SLURM partitions to which users can submit
slurm.gpuQueues(SLURM mode only)
The names of any SLURM partitions with GPU hardware to which users can submit
Here is an example of how to specify these options in the configuration file:
scratch = '/scratch/nextPYP'
binds = [ '/nfs', '/cifs' ]
path = '/opt/slurm/bin'
queues = [ 'general', 'quick' ]
gpuQueue = [ 'gpu' ]
Step 6: Add
PYP to your shell¶
Add the following code to your shell configuration file (e.g.,
.bash_profile if using
Restart your shell for the changes to take effect.
If everything went well, you should be able to execute: