This lesson is in the early stages of development (Alpha version)

DeapSECURE module 1: Introduction to HPC

Key Points

Introduction to High-Performance Computing
  • Supercomputers are a collection of smaller computers into one big unit

  • HPC is used in various domains, pretty much everywhere a computer could be used to solve a problem

  • HPC helps get results faster than traditional computing.

Accessing HPC
  • An HPC cluster is remotely accessed using secure shell

Basic Shell Interaction
  • UNIX shell provides a basic means to interact with HPC systems

  • pwd, cd, and ls provides essential means to navigate around files and directories

  • Directories and files are addressed by their paths, which can be relative or absolute

  • Basic file management tools: mkdir, cp, mv, rm, rmdir

  • Basic text viewing and editing tools: cat, less, nano

Text Processing Tools & Pipeline
  • echo prints a message.

  • wc counts the number of lines, words, and bytes in a file.

  • head prints the first few lines of a text file.

  • tail prints the last few lines of a text file.

  • cut selects a particular column or columns of text data from a text file.

  • sort sorts lines of text.

  • uniq prints the unique lines of text.

  • grep filters lines of text matching a given text pattern.

Task Automation with Scripts
  • A script is a text file containing a sequence of commands

  • If statements are used to execute commands based on given conditions

  • The for statement takes a list and run commands for each of the elements in the list by iterating through that list

My First HPC Computation: Spam Mail Analysis
  • Job script is used to launch a computation on an HPC system

Parallel Processing 1: UNIX Background Process
  • UNIX & shell feature is useful to launch many processes that run simultaneously.

Parallel Processing 2: Using GNU `parallel`
  • GNU parallel is a useful tool to launch many independent computations simultaneously on an HPC system

Glossary

FIXME

UNIX Commands

External References

Internet information database

Further Reading

Parallel Computing