Tapis Apps#
Tapis Applications are the foundation of the Tapis job workflow. They enable consistent, portable, and sharable execution of complex analyses across compute systems.
Tapis Apps are pre-configured software templates that let researchers run simulations, analyses, and data workflows on high-performance computing (HPC) systems — without needing to write job scripts or manage SLURM directly. They encapsulate the executable, expected inputs/parameters, and the target execution system so you don’t have to write or maintain scheduler scripts.
A Tapis App is a preconfigured, reusable execution template that defines:
The executable (binary program/script/container) to be run (e.g., OpenSees, OpenFOAM, custom scripts)
What inputs, parameters, and environment variables it expects
The execution system (like Stampede3) where the job should run
The runtime environment which describes how the job should be launched (e.g., runtime settings, number of cores)
Apps decouple what to run from where/how to run it, so users don’t need to write scheduler scripts or manage modules. Most importantly, they allow researchers to focus on science, not infrastructure.
Why Use Tapis Apps?#
Consistent UX: same workflow across systems and schedulers.
Reproducible: versions, defaults, and metadata are tracked.
Portable: works from the Web Portal, Python (Tapipy), or CLI.
Tapis apps provide major benefits:
Benefit |
What It Does |
|---|---|
Simplifies HPC access |
No need to SSH, stage files manually, or write job scripts |
Standardizes environments |
Ensures the right modules, compilers, and binaries are used across all users |
Optimizes performance |
Automatically runs jobs from fast storage (e.g., $SCRATCH) for best I/O performance |
Automates file handling |
Input/output files are transferred cleanly between your DesignSafe workspace and HPC systems |
Enables reproducibility |
Job metadata and configuration are tracked and reproducible for later re-use |
This means researchers can focus on engineering and science, while Tapis ensures jobs are run efficiently and consistently across HPC systems.
Which Apps to Use#
You can use registered Tapis Apps (e.g., OpenSees, OpenFOAM), or you can write your own – using a registered app as a tempate.
The registered apps are available through the DesignSafe Web Portal, or programmatically via Jupyter notebooks or the Tapis CLI. Each app encapsulates all the information needed to run a specific scientific application — such as OpenSees, OpenFOAM, or custom tools — using best practices for performance and reproducibility.
What Do Tapis Apps Do?#
When you submit a job via a Tapis App, the system automatically:
Generates a SLURM script tailored to the app
Stages your input files to the HPC system (e.g. $SCRATCH)
Submits the job to the correct queue on a system like Stampede3
Runs the job with the right environment, modules, and executable
Returns the output back to your DesignSafe workspace (My Data)
*This process overlaps steps 4-6 in the Jub submittal described above. *
Tapis handles the technical complexity behind the scenes — including queueing, execution, module loading, and file movement — so you can focus on the science.
Under the hood, your app submission becomes a SLURM batch job, executed on a system like Stampede3 or Frontera.
Typical Inputs to a DesignSafe Tapis App#
Whether submitted through the web portal or programmatically, most apps expect:
Main input file (e.g., model.tcl for OpenSees or input.json for a custom workflow)
Supporting files (e.g., data sets, configuration files, libraries)
Run parameters (e.g., number of cores, wall time, flags)
Output preferences (optional controls over where and how results are returned)
Because the app handles the SLURM environment for you, you don’t need to write a job script manually — unless you want more advanced control.