This guide covers the workflow common to the computing systems used in this course. Current hostnames, account instructions, and allocation information will be shared through Moodle.
Connect with SSH
Open Terminal on macOS or Windows Terminal on Windows, then connect with:
ssh your_username@cluster_hostnameThe first connection may ask you to verify the host fingerprint. Confirm it against the value provided in class before accepting it.
Essential commands
| Command | Purpose |
|---|---|
pwd |
Show the current directory |
ls |
List files and directories |
cd directory |
Move into a directory |
cd .. |
Move up one directory |
mkdir name |
Create a directory |
cp source destination |
Copy a file |
mv source destination |
Move or rename a file |
rm file |
Remove a file |
Linux does not provide an automatic Trash folder for terminal commands. Check a filename carefully before using rm.
Transfer files
You can transfer a file with scp:
scp program.c your_username@cluster_hostname:~/To copy a result back to your computer, reverse the source and destination:
scp your_username@cluster_hostname:~/results.txt .Compile and run C
gcc -Wall -Wextra -o program program.c
./programMPI and OpenMP require additional compiler commands; those will be introduced with the relevant modules.
Submit scheduled jobs
Large systems use a scheduler so that many users can share resources fairly. In this course, you will typically submit a SLURM script with:
sbatch job.slurmUseful commands include:
squeue -u your_username— view your queued and running jobsscancel job_id— cancel a jobsacct— inspect completed jobs
Good habits
- Keep each project in its own directory.
- Save the compiler command and runtime parameters used for every experiment.
- Test with small inputs before requesting substantial resources.
- Record runtime, process/thread count, and machine details with your results.
- Never place passwords or private keys in source files or SLURM scripts.