The divcfg
repository contains divvy computing configuration files currently in use across several research computing environments (Stanford, NIH, UVA, CeMM, and Memorial Sloan-Kettering). These files describe computing environments so that any tool that uses divvy
can run jobs in these environments. These files can be used as examples to help you set up cluster or containerized computing in your own environment.
If you're at one of the following places, set-up is very simple. Here's a list of pre-configured computing environments:
uva_rivanna.yaml
: Rivanna cluster at University of Virginiacemm.yaml
: Cluster at the Center for Molecular Medicine, Viennanih_biowulf2.yaml
: Biowulf2 cluster at the NIHstanford_sherlock.yaml
: Sherlock cluster at Stanfordski-cer_lilac.yaml
: lilac cluster at Memorial Sloan Ketteringlocal_containers.yaml
: A generic local desktop or server (with no cluster management system) that will use docker or singularity containers.
To configure divvy
to use one of these, all you have to do is:
-
Clone this repository (e.g.
git clone https://github.com/pepkit/divcfg.git
) -
Point the
$DIVCFG
environment variable to the appropriate config file by executing this command:export DIVCFG=path/to/compute_config.yaml
(Add this line to your
.profile
or.bashrc
if you want it to persist). -
Install divvy (e.g.
pip install --user --upgrade divvy
)
And that's it, you're done! You can run divvy list
on the command line to show you available compute packages.
If the existing config files do not fit your environment, you will need to create a divvy
config file to match your environment by following these instructions:
To configure a new environment, we'll follow the same steps, but just point at the default file, compute_config.yaml
, which we will then edit to match your local computing environment.
- Clone this repository (e.g.
git clone https://github.com/pepkit/divcfg.git
) - Point the
$DIVCFG
environment variable to the default config file by executing this command:
export DIVCFG=path/to/compute_config.yaml
(Add this line to your .profile
or .bashrc
if you want it to persist).
-
Next, use
compute_config.yaml
as a starting point to configure your environment. If you're using SLURM and you're lucky, the only thing you will need to change is thepartition
variable, which should reflect your submission queue or partition name used by your cluster resource manager. To make more advanced changes, the documentation below will guide you through all components of the configuration. -
Once you have it working, consider submitting your configuration file back to this repository with a pull request.
The divvy
documentation includes detailed instructions for how to write your own divvy configuration file.
Divvy
enables any tool to seamlessly switch between cluster resource managers (SGE, SLURM, etc.), linux containers (docker
, singularity
, etc.), or other computing environments.