A practical introduction to version control for software management using Git. Topics covered include: creating a repository, checking the status of a repository, committing changes, viewing changes, reverting to older versions of files, and setting up a remote repository.
Learn how to build and install software packages on Oscar. Topics covered include: make, cmake, compiler options on Oscar, pip, building python packages from source, and python virtual environments.
A primer on submitting jobs to the job scheduler on Oscar. Some basic familiarity with Unix/Linux systems is assumed. Topics covered include: an overview of the use of Slurm for resource allocation, submitting jobs to Slurm, and using Bash scripts to configure and submit jobs to Slurm.
This workshop is for people who are already familiar with Slurm, but would like to use Slurm's more powerful features. Topics covered include: dependencies for conditional execution of jobs, job arrays for parameter sweeps, dealing with hundreds or thousands of small tasks, how to limit the number of jobs running at once, and how to cancel multiple jobs.