A set of tools for running simulation using vivarium on cluster.
Project description
Vivarium cluster tools is a python package that makes running vivarium simulations at scale on a Univa Grid Engine cluster easy.
Installation
You can install this package with
pip install vivarium-cluster-tools
In addition, this tool needs the redis client. This must be installed using conda.
conda install redis
A simple example
If you have a vivarium model specifcation file defining a particular model, you can use that along side a branches file to launch a run of many simulations at once with variations in the input data, random seed, or with different parameter settings.
psimulate run /path/to/model_specification.yaml /path/to/branches_file.yaml
The simplest branches file defines a count of input data draws and random seeds to launch.
input_draw_count: 25
random_seed_count: 10
This branches file defines a set of simulations for all combinations of 25 input draws and 10 random seeds and so would run, in total, 250 simulations.
You can also define a set of parameter variations to run your model over. Say your original model specification looked something like
plugins:
optional: ...
components:
vivarium_public_health:
population:
- BasePopulation()
- Mortality()
disease.models:
- SIS('lower_respiratory_infections')
my_lri_intervention:
components:
- GiveKidsVaccines()
configuration:
population:
population_size: 1000
age_start: 0
age_end: 5
lri_vaccine:
coverage: 0.2
efficacy: 0.8
Defining a simple model of lower respiratory infections and a vaccine intervention. You could then write a branches file that varied over both input data draws and random seeds, but also over different levels of coverage and efficacy for the vaccine. That file would look like
input_draw_count: 25
random_seed_count: 10
branches:
lri_vaccine:
coverage: [0.0, 0.2, 0.4, 0.8, 1.0]
efficacy: [0.4, 0.6, 0.8]
The branches file would overwrite your original lri_vaccine configuration with each combination of coverage and efficacy in the branches file and launch a simulation. More, it would run each coverage-efficacy pair in the branches for each combination of input draw and random seed to produce 25 * 10 * 5 * 3 = 3750 unique simulations.
To read about more of the available features and get a better understanding of how to correctly write your own branches files, check out the vivarium cluster tools documentation.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for vivarium_cluster_tools-1.2.8.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | ca87e17d37bc9120a98fe5f1bbb8379d8ede2cdfb65b5e24b5110e49ccd9c86d |
|
MD5 | d591dd439a167756d0955e372eac6956 |
|
BLAKE2b-256 | ad0d1659652b5017f6efd6674c128242d3cde7b30dbc94a47991725a5d2c57bf |
Hashes for vivarium_cluster_tools-1.2.8-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 997e572ba5d70778a37ad6a6b4e028e1805483e14787dfc743aca33636982ce3 |
|
MD5 | 8942d88e078874d73571a9f3e1e153b6 |
|
BLAKE2b-256 | 488a4416ebcf46dc761892a8652926b5f61ca61b17ec85510040360088cbd3c7 |