Simulation Toolkit For Scientific Discovery (ST4SD)
Just as the explosion of computational power, driven by Moore’s Law, has enabled us to ask bigger and more meaningful questions, the complexity of the methodologies required to derive the answers has similarly spiked. This has inevitably resulted in the ability to correctly deploy computational methods to derive value to become siloed into a relatively small number of individuals.
The Simulation Toolkit for Scientific Discovery (ST4SD) simplifies the development, execution and dissemination of virtual experiments by providing powerful querying capabilities, robust and multi-environment execution support, AI acceleration capabilities, and a global showcase.
We aim to enhance your simulation experience by providing:
- Enhanced reproducibility through, for example, the use of workflow and component registries
- Enhanced productivity through, for example, memoization of workflow sub-graphs
- Enhanced simulation efficiency through, for example, the enablement of hybrid surrogate-simulation workflows
The primary execution environment for ST4SD is OpenShift/Kubernetes, although executing on classic HPC e.g. LSF is also possible.
You can use the following links to start learning about ST4SD and its features:
First Steps
To start choose the persona that matches your own
Researchers
Researchers use ST4SD to run virtual experiments that have been made available to them.
- You’re ready to go. Check Remote JupyterLab or JupyterServer with OpenShift ST4SD Instance for some initial information.
- Then check running workflows on OpenShift
- To access the same stack from Jupyter Notebook on your laptop see Local JupyterServer with OpenShift ST4SD Instance
- You need to first set up a local client
- Once this is done check Local JupyterServer with OpenShift ST4SD Instance for some initial information.
- You can also run workflows from your laptop terminal
If you just want to get a taste of the ST4SD functionalities via toy examples go to quick taste.
Developers
Developers are researchers that also write virtual experiments.
First, ensure you have access to ST4SD as described here. Then check Orientation for a list of recommended initial developer docs.
Administrators
Adminstrators are responsible for spinning up an instance of ST4SD on OpenShift. In most cases researchers and developers will not need to be administrators. If you are considering installing ST4SD we recommend first checking that no existing instance is available for you to use.
If you need to install and administer your own OpenShift instance see the instructions here. This page also describes installing on classic LSF HPC cluster environment.
Quick Taste
If you have python3
with virtualenv
installed (python 3.7 to 3.10 tested) you can quickly install everything you need to use run some example workflows locally. This will also enable you to use cloud-instances of ST4SD and to develop workflows locally later.
The following snippet will install st4sd-runtime-core
and run a toy-workflow on your laptop
virtualenv -p python3 $HOME/st4sd-runtime-testsource $HOME/st4sd-runtime-test/bin/activatepip install st4sd-runtime-core[deploy]git clone https://github.com/st4sd/sum-numbers.gitelaunch.py --nostamp -l40 sum-numbers
This will create a new virtualenv called st4sd-runtime-test
at $HOME/st4sd-runtime-test
and install st4sd-runtime-core
into it. It will also clone a repository into a directory called sum-numbers
in whatever directory you run the above commands in. It will then run a toy-workflow that takes a couple of minutes to run. The toy workflow output will be in a directory called sum-numbers.instance
You can learn more about the toy-workflow, and workflow specification here.