Open OnDemand is a web portal that gives you browser-based access to the SCI compute cluster — no SSH client, no terminal, no sbatch file required. Use it to launch Jupyter notebooks on compute nodes, browse your home directory, get a shell on the cluster, and watch your jobs.
Logging in
Visit https://ondemand.sci.utah.edu and sign in with your SCI username and the same password you use everywhere else at SCI (Active Directory). The same account that gets you into shell access on compute.sci.utah.edu works here.
You only need to be on the SCI network or VPN’d in.
What’s on the dashboard
After login you’ll land on the pinned-apps tile grid:
| Tile | What it does |
|---|---|
| Cluster Status | Live view of the SCI compute queue: how many jobs are running, what’s pending, how many CPUs and GPUs are in use, and a per-node table showing which nodes are idle, mixed, allocated, or down. |
| Jupyter | Launches a Jupyter Lab or Notebook server as a Slurm job on a compute node. The main reason to use OnDemand. |
| SCI HPC Shell Access | A terminal in your browser, on compute.sci.utah.edu. Equivalent to ssh compute. |
| Home Directory | Browse, upload, download, and edit files in your home directory without leaving the browser. |
| Active Jobs | See your currently running and queued Slurm jobs and cancel them with a button click. |
Launching Jupyter
Click the Jupyter tile and fill out the form. The defaults are fine for a quick interactive session.
Required fields
| Field | What to choose |
|---|---|
| Jupyter interface | Lab (default) or Notebook (classic). |
| Python environment | The Site Python 3.12.3 module is pre-built with Jupyter, JupyterLab, and the standard scientific stack (numpy, pandas, scipy, matplotlib, scikit-learn, h5py, xarray, dask). Pick Custom instead if you want to use your own conda env or virtualenv — you’ll get a text area to paste setup commands (see below). |
| Partition | Slurm partition to submit to. Populated live from sinfo. general-cpu is the default; pick general-gpu if you’ll need a GPU. |
| Slurm account | Leave blank unless you have multiple accounts and need to bill a specific one. |
| Number of CPU cores | 1 is fine for most notebooks. Bump it if you’ll use multi-threaded numpy / scikit-learn. |
| Wall time | How long the job runs before Slurm terminates it. 1 hour default; up to 24 on general nodes. |
Custom Python environments
If you have your own conda env or venv that’s already on a shared filesystem and has jupyter on its PATH, pick Custom and paste the activation commands into the textarea. For example:
source /home/<you>/envs/myproject/bin/activate
# or
module load miniconda3
source activate myproject
The only requirement is that after your setup runs, which jupyter resolves to a working install.
Advanced options
Tick the Advanced options checkbox to reveal:
- Memory per job (GB) — defaults to 4 GB. Set to 0 to let the scheduler use the partition default.
- GPU — pick a GPU type and count. See the table below for what’s on the cluster.
- Specific nodes — pin the job to a particular host (rarely needed).
- Additional environment — extra shell commands run after the Python env is set up. Useful for loading additional modules or setting environment variables.
GPU options
The SCI cluster has several GPU types across the general-gpu, preempt-gpu, and lab-specific partitions:
| GPU | Memory | Where |
|---|---|---|
| Nvidia H200 | 141 GB | general-gpu |
| Nvidia H200 NVL | 94 GB | medvic, preempt-gpu |
| Nvidia L40S | 48 GB | general-gpu, preempt-gpu, lab partitions |
| Nvidia A100 SXM4 | 40 GB | general-gpu |
| Nvidia A800 | 40 GB | CEG, preempt-gpu |
| Nvidia RTX A6000 | 48 GB | preempt-gpu, lab partitions |
| Nvidia Titan RTX / V / X | 12–24 GB | preempt-gpu, lab partitions |
| Nvidia GTX 1080 Ti | 11 GB | wormulon |
Pick any available GPU from the dropdown if you don’t care which one — Slurm will pick whatever’s free on the partition. Pinning a specific type can mean longer wait times.
While your session is running
After you click Launch, OnDemand stages the job and shows a session card. While the job is queued, you’ll see “Queued” with a job ID. When Slurm starts the job, the card changes to “Running” and a Connect to Jupyter button appears.
The session card shows:
- The compute node hosting your notebook (e.g.
spartacus-3) - Time remaining before the wall-time limit kicks in
- The Slurm job ID
- A Delete button to end the session early and free the resources
You can close the browser tab and come back later via My Interactive Sessions in the top nav — the job keeps running until its wall time expires or you explicitly delete it.
Other tiles
SCI HPC Shell Access
Opens a terminal in your browser, logged into compute.sci.utah.edu as you. From here it’s the same as a regular SSH session — squeue, sbatch, sinfo, your normal modules, your home directory.
Home Directory
A file manager rooted at $HOME. Drag-and-drop upload, click-to-download, in-browser text editor for notebooks and scripts, rename / move / delete with right-click. Useful for quickly grabbing a result file off the cluster without scping it.
Cluster Status
Three sections, all reading live from squeue and sinfo on page load:
- Queue — count of running and pending jobs, CPU cores and GPUs in use.
- GPUs by partition & type — how many of each GPU type are free vs. allocated, broken down per partition. Useful if you’re picking a GPU type and don’t want to land in a queue.
- Nodes — per-node state (idle / mixed / allocated / drained / down), CPU breakdown, and Gres.
Active Jobs
Your running and pending Slurm jobs. Click into a job for details, or hit the trash can to cancel it.
Things to note
- Sessions are real Slurm jobs. They count against your usage and obey partition wall-time limits — up to 24 hours on the general partitions, longer on PI-owned partitions. The session card shows the time remaining throughout. When the limit hits, the kernel dies and any unsaved in-memory state is lost; notebook files saved to disk are preserved (JupyterLab autosaves fairly aggressively). Pick a generous wall time if you’re not sure.
- VPN required from off-campus.
ondemand.sci.utah.eduis on the SCI internal network. Connect through the SCI VPN if you’re working remotely. - Custom Python environments just need
jupyter(andnotebookorjupyterlab) onPATHafter your activation commands run. If the Connect button never appears, that’s usually the first thing to check.
Getting help
Reach out on #slurm-users with the Slurm job ID from the session card if a session won’t start or the notebook doesn’t connect. Including the job ID makes it dramatically faster to find what went wrong in the logs.