Compute Environments#

Choosing the Right Compute Environment: Interactive vs Batch Workflows

DesignSafe offers three compute environments for running OpenSees:

  • The JupyterHub Environment, an interactive containerized workspace

  • The OpenSees-Express VM, a shared virtual machine accessed via the Web Portal or Tapis

  • The HPC Environment at TACC, accessed SLURM scripts ( + Tapis), ssh, or Jupyter for HPC

Each serves a different purpose in the research workflow.

NOTE The Opensees Web Portal submits jobs to the HPC system, using Tapis Apps under the hood. So it falls under the “batch job” category, even though it’s accessed through a graphical interface.

Making the Right Choice#

Selecting the right environment — where your analysis is run — is essential for balancing speed, scale, and control:

  • Choose JupyterHub for:

    • Interactive analysis: Developing and testing scripts interactively (Tcl or Python)

    • Rapid prototyping: Running OpenSees, OpenSeesMP, or OpenSeesSP with test-scale jobs

    • Visualizing results

    • Automating workflows

    • Using either Tcl/python scripts or Jupyter notebooks

    • Small to medium computations

    • Immediate feedback with minimal setup

  • Use the OpenSees-Express VM for:

    • Running Tcl-based scripts with no queue

    • Getting started with OpenSees without SLURM or command-line setup

    • Quick jobs that don’t require MPI or long runtime

  • Move to HPC Environment when:

    • You need large-scale, long run time, or parallel computations

    • Your memory or CPU demands exceed per-container limits

    • You’re ready to scale up or automate large parameter sweeps

Feature Comparison#

Feature

JupyterHub (Kubernetes)

OpenSees-Express VM

HPC Environment

Access Mode

Interactive browser-based workspace

Form-based web interface, backend VM

Web Portal, SLURM, or command line

Supported Versions

OpenSees (Tcl), OpenSeesMP, OpenSeesSP, OpenSeesPy

OpenSees (sequential Tcl only)

OpenSees (Tcl), OpenSeesMP, OpenSeesSP, OpenSeesPy

Resource Allocation

One node, 8 cores / 20 GB RAM per session

Shared VM (~2–4 cores, ~8–16 GB RAM)

Multi-core/multi-node with SLURM, high-memory options depending on system and request

Scheduling / Queue

Instant start (until max capacity reached)

Immediate execution — no queue

Queued execution based on priority, resource request, and availability via SLURM, or Jupyter for HPC

Interactivity

Full (terminal + notebooks)

No GUI — backend VM only

Non-interactive batch mode + interactive

Isolation

Container CPU/RAM are dedicated, but physical nodes are shared1

Shared VM across jobs

Dedicated job resources per submission

Use Case

Development, automation, testing

Quick Tcl-only jobs, entry point to HPC usage

Large-scale, long-duration, MPI jobs

Ease of Use

High — notebooks, terminals, Python & Tcl support

Very high — simple form-based submittal

Medium — requires SLURM scripts or tuning job settings

Best For

Testing, prototyping, post-processing, scripting

Getting started with OpenSees (Tcl)

Production workflows, OpenSeesMP/SP batch studies

1 Note: JupyterHub gives you exclusive access to container resources (CPU and memory), but the physical node may host other users’ containers, which can lead to minor I/O contention during heavy disk activity.

Choosing the Optimal Compute Environment#

Environment

Access Method

Resources & Scaling

Best For

JupyterHub

Browser (notebooks/terminal)

Up to 8 cores / 20 GB RAM per container

Prototyping, OpenSeesPy, quick test loops, automation

OpenSees-Express VM

Web Portal (form-based)

Shared lightweight VM

Tcl scripts, small serial jobs, easiest point of entry

HPC Environment

SSH + SLURM (Tapis)

Full system access, massive scale

Parallel OpenSees jobs, large simulations, production

Choosing Your Compute Path#

Here’s a simple decision tree to guide you:

  • Are you new to OpenSees and want an easy way to run a sequential Tcl job? → Use OpenSees-Express (no CLI or SLURM knowledge needed)

  • Are you developing, testing, or interactively exploring? → Use JupyterHub for full interactivity and flexibility

  • Does your job fit within <8 cores and <20 GB RAM? → Yes → Continue using JupyterHub

  • Otherwise: → Switch to HPC batch jobs:

    • Write a SLURM script

    • Submit it to the scheduler

    • Wait in queue and retrieve results from HPC file systems

Tip

JupyterHub is the most flexible environment — it supports OpenSees, OpenSeesMP, OpenSeesSP, and OpenSeesPy, with integrated file editing, scripting, and post-processing.

OpenSees-Express is ideal for short Tcl jobs when you want instant results through a simple web form.

HPC jobs (MP/SP) are best for large-scale work — and can be launched via the portal or automated from Jupyter.

Quick Tips

  • Use JupyterHub for flexibility and Python support (OpenSeesPy)

  • Use OpenSees-Express for instant runs of Tcl scripts without queues

  • Use OpenSeesMP/SP apps (via Web Portal or SLURM) for performance at scale

  • For batch parameter sweeps or OpenSeesMP → launch HPC jobs via Tapis from within Jupyter.

  • All apps use Tapis under the hood — the environment just changes how you interact with them