The below is a compilation of resources from Research Computing, PICSciE, Data Services and other organizations on campus.
Princeton Clusters Fundamentals
Getting Started
- What is a cluster?
- highly recommended Initial Setup - set up your systems to work with the clusters
- highly recommended Beginner’s Guide to Running Jobs on Princeton’s HPC Clusters - introduction to connecting to the clusters, transferring files, running jobs, writing SLURM scripts, etc.
- Intro to Linux
- Understanding File System on the Clusters
- Transfering Data/Files
- Making Duo Access More Convenient
- Removing the Tedium from Your Research Workflow on the Clusters
- Free Seminar Series on High Performance Computing through Webex by the National Institute for Computational Sciences
- Cluster-Specific Tutorials:
Linux
The clusters operate in Linux, so it is helpful to become familiar with some basic Linux commands.
SLURM
- Introduction to SLURM
- Introduction to SLURM from Intro to HPC Workshop
- Sample SLURM Scripts for Adroit
- Sample SLURM Scripts for Tiger
- Running Serial Jobs
- How to Run Multiple Serial Programs as a Single SLURM Job
- How do I check my job’s memory, local disk or thread usage?
- Memory Errors and Tuning Your Memory Requirements
- How to kill a SLURM job
- Sample SLURM Script for Running MPI Jobs
- How to use OpenMPI with OpenMP or multi-threaded Intel MKL
- Sample SLURM Script for Running OpenMP Jobs
- Your first SLURM script to run MATLAB
- Spark Application Submission via SLURM
Handling Programs on the Cluster
Installing/Using Programs
- Using Programs Already Installed on Princeton’s HPC Clusters (i.e. using modules)
- Before installing any programs on the cluster, make sure they are not already available.
To see the list of programs that are available on the cluster, type the command
module avail
To install a program you see in the module list, type the command
module install <insert name of program>
- Before installing any programs on the cluster, make sure they are not already available.
- Trying to use Docker? How to use Singularity instead
- Build A Program Using Intel MKL
- How to Run Cadence on the Clusters
- Getting Started with Julia
- LAMMPS on the HPC Clusters
- Installing PETSc on the HPC Clusters
- Spark Tutorial
- Spark Application Submission via SLURM
- Tuning Spark Applications
- How to Run Synopys on the Clusters
- Installing and Running TensorFlow on the HPC Clusters
Compiling Programs
- Build A Program Using Intel MKL
- Compiling and Running MPI Jobs
- Sample SLURM Scripts for Tiger, Including Compiling Parallel MPI Programs
Profiling Programs
- Profiling with Allinea MAP
- Profiling with Intel VTune Amplifier XE
- Profiling with Intel Trace Analyzer and Collector (for MPI code)
Debugging Programs
Parallel Programming
- SLURM Scripts for Submitting Parallel Jobs
- Compiling and Running MPI Jobs
- Running OpenMP Jobs
- Sample SLURM Scripts for Adroit, including Submitting a Parallel Processing Job
- Sample SLURM Scripts for Tiger, including GPU
- A Primer on GPU Programming
- High-Performance Python: GPUs
- Installing and Running ‘mpi4py’ on the Cluster
- Getting Started with Julia
- How to use OpenMPI with OpenMP or multi-threaded Intel MKL
- OpenMP Tutorials
Help with Specific Programs
Julia
MATLAB
Python
- General Python Use:
- Python on the Clusters:
- Installation of … package on the clusters:
- High-Performance Python: CPUs
- High-Performance Python: GPUs
R
- General R Use:
- R on Clusters:
- Submitting R Scripts to the Cluster - see 01_getting_started and 02_running_a_basic_job
- Parallelizing R Code
- see 03-07
- Installation of…
Stata
COMSOL
Other Resource Areas
Geographic Information Systems (GIS)
Git
- GitHub at Princeton
- Triggering a Jenkins build every time changes are pushed to a Git branch on GitHub
Data
- Data Services at Princeton
- DMPTool - Data Management Tool
- DataSpace - A Digital Repository
- Human Research Protection Program
- Records Management
- Office of Research and Project Administration
- Office of the General Counsel
- Information Security Office
- Office of Population Research
Visualization
- Basics of Visualizing Data on the Clusters
- How to install TurboVNC
- Introduction to R Graphics Package: ggplot2
- Scientific Visualization - forthcoming learn how to use the program VisIt
- Suppressing Windows and Other Graphics While Running on the HPC Clusters
Miscellaneous
- Removing the Tedium from Your Research Workflow on the Clusters
- When do systems undergo scheduled maintenance?
- How to word acknowledgement of support and/or use of research computing resources for Publication
Troubleshooting
- Why Can’t I login to a cluster using SSH?
- There are plenty of processors available. Why won’t my job run?
- Suppressing Windows and Other Graphics While Running on the HPC Clusters
Need more help?
Direct Help from Princeton Research Computing Staff
Help Sessions
If you’d like in-person, one-on-one help, Research Computing runs first come, first served help sessions every week:
- Tuesdays, 10:30 am - 11:30 am (Lewis Science Library 245)
- Thursdays, 2:00 pm - 3:00 am (Lewis Science Library 245)
No appointments are necessary.
Submit an Email Ticket
If you are unable to attend a help session, our staff answers questions submitted to cses@princeton.edu during normal business hours.