Resources
Getting an account
In order to access the POD cluster, a POD account is needed. The POD account currently is given upon request to the POD support team or Rice's Center for Research Computing.
Accessing the cluster
Currently, access to the POD cluster is possible through SSH, either by command line or using PuTTY. SSH access requires the generation of ssh keys as described here.
Refer to the POD documentation for further guidance to access the cluster.
POD Containers
The POD cluster makes use of singularity containers for specialized software packages such as GROMACS, OpenMM, TensorFlow, etc. Containers are virtual environments that allow portability of software packages.
How to use containers
The usage of containers in the POD cluster makes use of the singularity module. Then, a command can be run within a container as:
module load singularity/3.7.2 singularity exec CONTAINER_FILE COMMAND
For example, to run echo "Hello World!" within a container:
module load singularity/3.7.2 singularity exec /public/apps/singularity/containers/POD/pod_openmm_770_rocm50.sif echo "Hello World!"
OpenMM container example
The files to try these examples are (cluster interactive mode | job submission) :
Cluster interactive mode
In the command line:
################################# # Within the test folder ################################# # Ask for resources # 1 GPU - 1 CPU - 4Gb RAM srun --pty --export=ALL --tasks-per-node 1 -c 1 --nodes 1 --gres=gpu:1 --mem=4Gb --time=12:00:00 /bin/bash # Load module module load singularity/3.7.2 # Run your python script within the OpenMM container singularity exec /public/apps/singularity/containers/POD/pod_openmm_770_rocm50.sif python test.py
Cluster job submission
In the command line:
################################# # Within the test folder ################################# sbtach sample_submission.slurm
Installing Python modules
Currently, in order to use python modules that are not yet included in the containers, one needs to create a python virtual environment. To create a virtual environment:
################################# # In your directory of preference ################################# # This creates an virtual environment with access to openmm libraries with GPU support. module load singularity/3.7.2 singularity shell /public/apps/singularity/containers/POD/pod_openmm_770_rocm50.sif # Creates a python virtual environment whose files are saved at ~/venv/containers/openmm (you can change it to whatever directory you want) python3 -m venv ~/venv/containers/openmm --system-site-packages # Activate the new environment source ~/venv/containers/openmm/bin/activate # To install modules, you can use pip3 as pip3 install OpenMiChroM pip3 install OpenSMOG
Then, next time you load the container, run the "source ~/venv/containers/openmm/bin/activate" command to activate the virtual environment.
More info on Python Virtual Environment can be found here.