Introduction to High Performance Computing: Glossary

Key Points

Why should I use a HPC cluster?
  • High Performance Computing (HPC) involves connecting to large computing systems elsewhere in the world

  • HPCs typically have thousands to hundreds of thousands of cores

  • HPCs have the ability to perform calculations and run simulations that would be impossible on normal machines

Connecting and moving around
  • SSH keys are used to establish secure shell connections to remote computers. Most HPCs worldwide require them to gain access.

  • To log into a HPC, use ssh YourUsername@remote.computer.address

Moving and editing
  • You will have 2 main directories associated with your account. Your work directory will have much more space than home

  • Absolute path is the location in a file system relative to the root / directory

  • Relative path is the location in a file system relative to the directory you are currently in

  • vim is one of the most popular and flexible text editors

Understanding Modules and Environments
  • Modules are the way to make software, compilers and libraries available within the login session

  • To load a module, use module load my_module

  • An environment typically refers to a directory that contains a specific collection of installed packages

  • The base conda environment will have a selection of python packages

Bash Scripting
  • A shell script is a list of bash commands in a .sh text file

  • Bash scripting is an essential element in HPC

Submitting Jobs
  • The scheduler handles how compute resources are shared between users

  • A job is a shell script with specific instructions for the scheduler

  • Ideally, every shell script should be run through an interpreter

  • You should allocate more resources than you need, otherwise your job will be ‘killed’

Glossary

The glossary would go here, formatted as:

{:auto_ids}
key word 1
:   explanation 1

key word 2
:   explanation 2

({:auto_ids} is needed at the start so that Jekyll will automatically generate a unique ID for each item to allow other pages to hyperlink to specific glossary entries.) This renders as:

key word 1
explanation 1
key word 2
explanation 2