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.

Note that this experiment requires that docker is installed on your laptop.output Additionally, running experiments locally requires using either Linux or MacOS. Windows users should either use a Virtual Machine (e.g. VirtualBox etc) or the Windows Subsystem for Linux (WSL).

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

: # Get the directory containing the virtual experiment and cd into it
git clone https://github.com/st4sd/nanopore-geometry-experiment.git
cd nanopore-geometry-experiment
: # Run elaunch.py specifying certain files in the directory created above
elaunch.py -i docker-example/cif_files.dat -l 40 --nostamp\
--applicationDependencySource="nanopore-database=cif:copy" \
nanopore-geometry-experiment.package

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

Run experiments locally

Start with our documentation on running experiments locally.

Write experiments

Get an introduction to writing virtual experiment with ST4SD Core.

Getting application images

Learn about the repositories of application images maintained by ST4SD developers and community to quickly get started building experiments.

Restarting

Restarting long simulations due to hitting queue wall-times is very common in computational science. The restart documentation describes ST4SD Core features for handling this.

Using containers

We support running containerized applications using a native container runtime system but also on Kubernetes as Jobs. Check out our documentation for using containers in ST4SD.

Accelerate your simulation research with ST4SD

Check out these other ST4SD technologies. All are designed to work together to provide a powerful platform for simulation.

Robust, scalable deployment

ST4SD Cloud creates and maintains secure, scalable and robust deployments of ST4SD on OpenShift clusters. Get Started

Virtual experiment registry

ST4SD Registry provides a UI for sharing and browsing virtual experiments. Get Started

Ease-of-use

ST4SD Services allows scientists to run virtual experiments and query their data via Jupyter notebooks. It includes a high-performance metadata-store that enables memoization. Get Started