Using the CSD3 service to run PROCESS
The Cambridge Service for Data Driven Discovery (CSD3) is one of the EPSRC Tier2 National HPC Services hosted by Research Computing Services at the University of Cambridge.
This facilty can be used to run batch jobs with PROCESS. This section shall explain how to register for use of the cluster, install PROCESS and submit batch jobs. Find the full documentation for CSD3 here.
Register to use CSD3
- Register for a SAFE Account
- Once your account is created request to the relevant project and wait for approval.
- When you have recieved an approval confirmation via email your account will be active.
-
Now you can ssh into CSD3. Note that you must register for two-factor authentication upon your first login request.
ssh username@login-cpu.hpc.cam.ac.uk
Install PROCESS on CSD3
PROCESS can be installed using miniconda, a lightweight version of Anaconda which is a distribution of Python and R for scientific computing that simplifies package management.
Install conda and set up the environment
First, install miniconda on CSD3 using the latest linux version from Anaconda.com
wget <https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh>
chmod +x Miniconda3-latest-Linux-x86_64.sh
./Miniconda3-latest-Linux-x86_64.sh
source ~/.bashrc
You should now a (base)
command-prompt prefix, if not, restart your shell.
Then create a conda environement and activate it.
conda create --name my_process
conda activate my_process
It is worth checking that a compatible version of python has been installed (Python3.10 or 3.11). You can check this by entering which python
into the terminal. You can install a compatible version of python with the command conda install python=3.10
.
Next, install gfortran.
conda install -c conda-forge gfortran
Build PROCESS
Now you should follow the installations for PROCESS. Set up ssh keys, clone the repository from gitlab and then install requirements from within the process folder:
pip install -r requirements.txt
Build then test:
cmake -S . -B build
cmake --build build
pytest tests/regression
Submitting jobs
CSD3 uses a SLURM queuing system to manage job submission. Follow the instructions in the user guide for further details here.
Modfify one of the SLURM job submission scripts, which are found in /usr/local/Cluster-Docs/SLURM/
with your account information. You can add some commands for the job script to execute. For example, the job script can contain instructions to activate your environment:
conda activate my_process
and then execute a command, such as a single run of PROCESS:
#!/bin/sh
process -i ~/process/tests/scenarios/regression/large-tokamak/IN.DAT
Note that you must use the correct project code for you work.
Use the sbatch
command to submit your script. You will recieve an email notifying you that the job has begun, and one to notify you when it has ended successfully or failed.