Key Points

What is High-Performance Computing?


  • High-performance computing enables research that would be infeasible on personal computers
  • HPC clusters combine many powerful nodes with fast networks and shared storage
  • Sagehen is Pomona College’s HPC cluster, available at no cost to researchers
  • SLURM is the job scheduler that manages fair resource allocation among all users

Why Use an HPC Cluster?


  • Use HPC when your data is large, your computation is long, or you need specialized hardware
  • Sagehen has 12 compute nodes (128 cores, 500 GB each) and multiple GPU nodes
  • The head node is for login and job submission only; never run jobs there
  • Different storage locations serve different purposes: home, lab, scratch, tmpfs
  • Contact for help or to request higher resource limits

Connecting to Sagehen HPC


  • SSH (Secure Shell) is the standard for securely connecting to remote computers
  • macOS and Linux include SSH built-in; Windows users can use PowerShell or PuTTY
  • DUO two-factor authentication is required; push notification is fastest
  • OnDemand (https://ondemand.hpc.pomona.edu/) provides a graphical alternative to SSH
  • Always log out when done with exit or Ctrl+D

Navigating the Filesystem


  • Sagehen uses BeeGFS over 100 Gb Infiniband for its parallel filesystem
  • Your home directory /rhome/<myusername> is persistent and backed up (~100 GB)
  • Lab storage /bigdata/lab/<labname> provides 1 TB shared among lab members
  • Scratch (/scratch) is SSD-based and deleted when your job completes
  • RAM disk (/tmpfs) is the fastest but most ephemeral storage
  • Use quota_check.sh to check your storage usage (not du)
  • Essential navigation: pwd, ls, cd, cd ~, cd ..

Files and Directories


  • Use mkdir -p to create nested directories in one command
  • Be extremely careful with rm -rf; always list contents first
  • Organize work into logical directories: projects, code, data, results
  • File permissions control read, write, and execute access for owner, group, and others
  • Use chmod to change permissions; share files via /bigdata or by adjusting group permissions

Cluster Architecture


  • Partitions group nodes by hardware type and enforce time/resource limits
  • Sagehen has three partitions: amd (general purpose), gpu (GPU-accelerated), and short (quick / test / debug jobs with a shorter walltime)
  • Each compute node has 128 AMD EPYC cores and 500 GB RAM
  • GPU partition offers 10 GPUs: A100, L40S, and RTX PRO 6000
  • Use sinfo to check partition status, node states, and available resources
  • Maximum job time: 720 hours (30 days) on amd and gpu; check sinfo -p short for the short partition limit

Understanding Nodes and Partitions


  • Each Sagehen node has 128 cores and 500 GB RAM; SLURM allocates whole cores
  • SLURM finds the best-fit nodes for your resource request automatically
  • Use gpu for GPU-accelerated work, short for quick test / debug jobs (shorter walltime), and amd for general CPU production work
  • Request only the resources you need to avoid wasting shared capacity
  • Contact if you need limits increased for a project

Software Modules Basics


  • The module system solves software version conflicts on shared HPC clusters
  • Sagehen uses Lmod with 90+ pre-installed packages
  • Use module avail to search, module load to activate, module purge to reset
  • Only one version of each module family can be loaded at a time
  • Always use module purge at the start of job scripts for reproducibility
  • Request new software at

Running Your First Job


  • Batch jobs are scripts submitted with sbatch; they run when resources are available
  • Every batch script needs #!/bin/bash and SBATCH directives for resources
  • Key directives: –partition, –time, –cpus-per-task, –mem, –output
  • Monitor jobs with squeue -u $USER (running) or sacct (history)
  • Always use module purge in job scripts for reproducibility
  • Test on the short partition before submitting long production jobs to amd or gpu
  • Common failures: TIMEOUT (increase –time), OUT_OF_MEMORY (increase –mem)

Next Steps and Resources


  • Use srun --pty bash for interactive compute sessions instead of running on the head node
  • Email notifications keep you informed about job completion and failures
  • Customize ~/.bashrc for a more productive login environment
  • Additional workshops cover SLURM advanced features, data transfer, security, and more
  • Contact for help; include your username, job ID, and error messages
  • Use quota_check.sh (not du) to check BeeGFS storage usage