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 itgit clone https://github.com/st4sd/nanopore-geometry-experiment.gitcd nanopore-geometry-experiment: # Run elaunch.py specifying certain files in the directory created aboveelaunch.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