Skip to main contentIBM ST4SD

ST4SD Core

ST4SD Core is a python framework for automating computational science workflows. It enables researchers to create robust and reusable virtual experiments that can be deployed on HPC and cloud environments, or on their laptops. Any researcher comfortable with programming can start using ST4SD Core.

Why ST4SD Core?

Multi-platform deployment

ST4SD Core provides features for writing virtual experiments that can run on your laptop, on HPC machines, or on cloud.

Analytics co-processing

Run expensive analytics in parallel with simulations, ensuring they complete shortly after simulations themselves. This also enables “on-the-fly” triggers based on the simulation behaviour, for example stopping criteria.

Simple specification

We adopt a pattern of simple-specification, smart-runtime. Many execution details, for example data-transfer or restarting behaviour, are handled by ST4SD Core eliminating complexity and enabling researchers to focus on the computational process.

Robust execution

Features including image checking, image pinning, unstable filesystem identification and enhanced exit-code handling, increase the chances that complex long-running workflow will complete successfully.

Try it yourself

Run a virtual experiment to calculate the geometric properties of a nanoporous material.

pip install "st4sd-runtime-core[develop]", which installs the command-line-tool elaunch.py, and execute:

: # Get the directory that provides input to the next command
git clone https://github.com/st4sd/nanopore-geometry-experiment.git
: # Run elaunch.py specifying certain files in the directory created above
elaunch.py -l40 --nostamp --instanceName nanopore-geometry-experiment \
--manifest nanopore-geometry-experiment/manifest.yaml \
--input nanopore-geometry-experiment/docker-example/cif_files.dat \
--platform docker nanopore-geometry-experiment/conf/flowir_package.yaml

Note, this experiment requires that docker is installed on your laptop.

The output of the elaunch.py command will be a directory called nanopore-geometry-experiment.instance in the same directory you ran elaunch.py.

When the experiment is finished cat nanopore-geometry-experiment.instance/output/properties.csv for the measured properties of the material. To find out more about this experiment visit its source repository.

Learn more