Quick Start: Your First Job

This page takes a brand-new user from a fresh account to a completed job in a handful of copy-paste steps. It is deliberately short and opinionated. Once a step makes sense, follow the linked reference pages for the full detail.

Before you begin

You need two things first:

  1. A CRCD account and Resource Allocation — see Step 1: Getting an Account.
  2. An active PittNet VPN (GlobalProtect) connection — the clusters are firewalled within PittNet, so nothing below will work without it.

Your username is your Pitt username in all lowercase.


1. Log in

The fastest way in is SSH from a terminal. Connect to a login node with:

ssh -X <username>@h2p.crc.pitt.edu

h2p.crc.pitt.edu reaches the SMP, MPI, and GPU clusters; use htc.crc.pitt.edu for the HTC cluster. The -X flag forwards graphics so GUI applications can display on your machine.

Prefer a browser instead of a terminal? Open https://ondemand.htc.crc.pitt.edu and sign in with the same credentials — see Step 2 for a comparison of every access portal and when to use each. To run a specific language in the browser, jump to Running Python in Open OnDemand or Running R in Open OnDemand.

Don't compute on the login nodes

Login nodes are shared gateways for editing files and submitting jobs — not for running your analysis. Heavy processes there slow everyone down and may be killed. Always run real work in an interactive session or a batch job (below).


2. Find and load software

CRCD provides software through Lmod environment modules rather than system-wide installs. Search for what you need, then load it into your environment for the current session.

module spider python
module load python
module list     # what's loaded now
module purge    # unload everything

module spider <software name> lists every available version and tells you which dependencies to load first. Full details and more examples are on Discovering Software.


3a. Run interactively (for testing)

To grab a compute node for hands-on work, such as for testing a script or exploring data, use the crc-interactive command, which requests a Slurm session for you:

crc-interactive --help    # see all options (cluster, cores, memory, time, GPUs)

This drops you onto a real compute node where it is safe to run your code. See Requesting Resources and Interactive Jobs for the full option list.


3b. Submit a batch job (for real work)

Most work runs unattended as a batch job. Create a file called first-job.slurm:

#!/bin/bash
#SBATCH --job-name=first-job
#SBATCH --cluster=smp          # smp | htc | mpi | gpu
#SBATCH --partition=smp        # confirm partition names on the Requesting Resources page
#SBATCH --nodes=1
#SBATCH --ntasks-per-node=1
#SBATCH --time=00:05:00
#SBATCH --output=first-job_%j.out

echo "Hello from $(hostname)"
date
module list

Submit it:

sbatch first-job.slurm

Slurm replies with a job ID, e.g. Submitted batch job 23498093 on cluster smp. When the job finishes, your output will be in the file first-job_<jobid>.out.

Choosing a cluster

Match the cluster to your workload. Details on each are in the Hardware Profiles section.

Cluster Best for
smp Single-node jobs sharing one memory space
htc Genomics / health-sciences, single-node high throughput computing
mpi Tightly coupled multi-node parallel (MPI) codes
gpu AI/ML and GPU-accelerated simulation

4. Check on your job

squeue -M <cluster> -u $USER      # status of your jobs on one cluster
squeue -M all -u $USER            # ...across every cluster
scontrol -M <cluster> show job <jobid>   # full detail for one job

<cluster> is any of smp, htc, mpi, gpu (or a comma-separated list). More on monitoring, holding, and cancelling jobs is on Managing Jobs.


You're up and running

You have logged in, loaded software, and completed a job. Sensible next stops:

Stuck?

Open a help ticket using the link on our service catalog.