Skip to main contentIBM ST4SD

Simulation Toolkit For Scientific Discovery (ST4SD)

Play

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.

Running a virtual experiment requires access to an instance of ST4SD. This means you need an URL to an ST4SD instance’s REST API.

If you have do not have an URL contact the person responsible for the ST4SD instance or install and admin the stack yourself by going to Administrator.

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-test
source $HOME/st4sd-runtime-test/bin/activate
pip install st4sd-runtime-core[deploy]
git clone https://github.com/st4sd/sum-numbers.git
elaunch.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.