Selection Guide#
*A Practical Guide to Selecting a Compute Environment
Choosing the right compute environment depends on two primary questions:
How do you want to interact with your computation?
How large and resource-intensive is your problem?
Step 1 — Interaction Style
Ask yourself:
Do I need to interact with the computation while it runs?
Am I developing or debugging code?
Do I want notebooks, plotting, or scripting in real time?
If yes → start with an interactive environment.
If no → a batch workflow is likely appropriate.
Step 2 — Scale and Resources
Next, consider resource requirements:
Fits within modest CPU and memory limits → Interactive environments are often sufficient
Requires long runtimes, many cores, or MPI → Batch HPC execution is required
A Simple Decision Guide#
I’m exploring, learning, or prototyping → JupyterHub
I want to run a small serial script with minimal setup, (e.g. OpenSees) → OpenSees-Express VM
I need large-scale, long-running, or parallel execution → HPC batch jobs on TACC systems
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 |
A Typical Compute Path#
Many users naturally follow this progression:
Develop and test interactively
Validate on small problems
Scale up using batch jobs
Automate or repeat studies at scale
This transition is expected — and supported — within the DesignSafe ecosystem.
Why This Matters#
Understanding where your computation runs — and how it is executed — helps you:
Avoid unnecessary queues
Use resources efficiently
Scale smoothly from prototypes to production
Reduce friction as projects grow