Introduction to High Performance Computing

For guidelines on how to develop curriculum content, please visit The Carpentries Curriculum Development Handbook.

This setup has been adapted from the Carpentries lesson example for use at ICHEC. You should be familiar with using both GitHub and Markdown tools. You can refer to the Carpentries supplied Technological introductions section of The Carpentries Curriculum Development Handbook.

It is likely that somewhere in the Carpentries spectrum, someone will have done something similar to what you are aiming to develop. Even if it is a small amount, the way the lesson is designed may give inspiration to you on how to design your own lesson.

Prerequisites

Use the .prereq style to specify prerequisites.

For setting up lessons in the Carpentries style with ICHEC, it is recommended that you have knowledge of GitHub and Markdown. Feel free to refer to the Carpentries lesson template if you need further information on style guides.

For ICHEC users

  1. Refer to README.md for instructions on setting up a new lesson or editing an existing one.
  2. Create a new lesson by using GitHub Import, not by forking.
  3. Put lesson episodes in _episodes (or _episodes_rmd if you are writing in RMarkdown).
  4. Each episode should have a set of related concepts, and contain a set of challenges to practice these concepts
  5. There are many styles of challenges you can create for your episodes, as a rough guide however, start with Designing challenges.
  6. Style blocks and code samples by putting {: .stylename} on a newline after the block or code.
  7. Put solutions inside challenges using nested blockquotes.
  8. This template repo is set to Private, and upon creating a new repo and github.io, this will by default be generated, so make sure that the existing content is deleted and modified accordingly.
  9. Your main editing will take place in _episodes, fig, _includes, and data/files directories. Additionally, _config.yml where the title for the lesson and commands can be added for KAY.
  10. Ensure the page builds! This can be done by checking the tests on your own forked repo, otherwise the page will not build.
  11. Add any supporting slides or presentation material into the slides directory.

Schedule

Setup Download files required for the lesson
00:00 1. Why should I use a HPC cluster? What is HPC?
Why would HPC be important to my work?
What is the difference between login nodes and compute nodes
00:10 2. Connecting and moving around What is an SSH key, and how do I set it up?
How can I connect to a remote cluster?
Can I be reminded of the most important Linux commands?
What is the difference between my home and work directories
00:30 3. Moving and editing How can I edit files on my HPC
How can I change file permissions?
How can I transfer files from a HPC
00:40 4. Understanding Modules and Environments What are modules?
How can I see what modules are available?
How can I load/unload modules on an HPC system?
What is an environment
How can I set up an environment
00:50 5. Bash Scripting What is a scripting language
01:00 6. Submitting Jobs What is the Slurm Workload Manager?
How do I submit a simple job on a HPC?
How can I submit a job with loaded modules
01:10 Finish