Beginner's guides

Getting Started Resources

Get to know the basics of cluster computing

Table of Contents:   Tips & tricks on getting programming helpIntroduction to HPCLinux command lineGit version controlBuilding software with EasyBuildManaging Cluster Instability for Users

“Tips & tricks on getting programming help”

Webinar (2020-11-13) by Marie-Hélène Burle

Introduction to HPC

“How to submit and run jobs on Compute Canada HPC systems”

Webinar (2018-Sep-19) - Introduction to working on our HPC systems for new users.

Other materials

Read WestGrid’s QuickStart Guide for Getting Started on CC National Systems.

Watch Compute Canada’s Getting Started with CC National Systems mini-webinars – a series of short video tutorials that demonstrate how to access the national clusters, submit jobs, access software, avoid common mistakes, and get help from the Compute Canada support team.

Browse the latest materials from WestGrid’s Introductory HPC course (ZIP file).

Linux command line

For a basic introduction to Bash command line – as well as programming in Python or R, and version control with Git – please check out a Software Carpentry workshop closest to you. For an online tutorial, we highly recommend their Introduction to using the shell in a HPC context.

“Fun tools to simplify your life in the command line”

Webinar (2020-02-19) by Marie-Hélène Burle

“A few of our favourite tools”

Webinar (2022-03-16) by Marie-Hélène Burle and Alex Razoumov

In this webinar we talk about the following command-line tools:

  1. lazygit a wonderful terminal UI for Git,
  2. bat: a great syntax highlighter,
  3. ripgrep: a fast alternative to grep,
  4. fd: a really fast alternative to find, and
  5. pass: a command line password manager.

In the presentation, we also use a few other neat command-line tools such as hyperfine - for sophisticated benchmarking - and diff-so-fancy - which makes your diffs a lot more readable. For the Emacs users, we finish the workshop with two Emacs utilities:

  1. TRAMP: a remote file access system,
  2. Helm: a “framework for incremental completions and narrowing selections”.

“Turbo boost your interactive experience on the cluster with tmux”

Webinar (2022-11-23) by Chris Want

Have you experienced issues with unstable SSH connections that prevent you from being productive on your favourite cluster? Do you sometimes wish you had an extra terminal open so that you could run additional programs while waiting for tasks to complete? tmux is a terminal multiplexer (installed on the clusters) that can provide solutions to both connectivity and productivity sore points. It keeps your work session alive (even under the worst network conditions) while also providing you with the power to turn your terminal into a tiled window interface. This talk walks through some of the best features that will help you get work done on the cluster.

“Lesser known but very useful Bash features”

Webinar (2022-12-07) by Alex Razoumov and Marie-Hélène Burle

Knowing basic Linux commands is essential for researchers using remote systems such as HPC clusters. Bash is the most commonly used Linux shell, which you will use by default on most Alliance hardware. Although we teach Bash basics in various online schools and in-person workshops many times a year, there are some useful Bash features and tricks that we never get to teach, due to our usual time constraints. Finally we can share some of them with you in this webinar!

In this presentation, we talk about running commands in a subshell, subsetting string variables, Bash arrays, modifying separators with IFS, running Python code from inside self-contained Bash functions, editing your command history, running unaliased versions of commands, handy use of bracket expansion, and a few other topics.

Git version control

Building software with EasyBuild

“Installing software using EasyBuild in your cluster home directory”

Webinar (2021-12-08) by Ata Roudgar

“Building software on Compute Canada clusters using EasyBuild”

Webinar (2020-04-15) by Ali Kerrache

Managing Cluster Instability for Users

Presentation on dealing with hardware and software instabilities on Cedar from a user’s perspective: causes, workarounds, bad workflows, best practices.