Resources

jhbfa

 

 

 

 

 

 

 


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:

Load singularity
module load singularity/3.7.2
singularity exec CONTAINER_FILE COMMAND

For example, to run echo "Hello World!" within a container:

Example
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:

Example
#################################
# 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:

Submission
#################################
# 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:

Submission
#################################
# 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.

  • No labels