Course Details

This course provides an introduction to High-Performance Computing (HPC) concepts, tools, and practices. It covers topics such as HPC architecture, connecting to remote systems, using schedulers, running parallel jobs, and leveraging GPUs. Participants will gain hands-on experience with tools like SSH, Git, and text editors, as well as practical exercises on transferring files, setting environment variables, and running jobs on an HPC cluster. The tutorial is structured into multiple sessions, each focusing on specific aspects of HPC, with real-world use cases and examples.

Sessions (2 Hours each)

Topic

Session 0

Preface

Introduction to UNIX command line

Introduction to SSH and SCP

Introduction to text editors

Introduction to Git and GitHub

Session 1

Use cases of HPC

Use of HPC for research

Why use a Cluster?

What can I expect to learn from this course?

HPC Architecture

Connecting to a remote HPC system

Exploring Remote Resources

Session 2

Use cases of HPC

Scheduler Fundamentals

Environment Variables

Accessing software via Modules

Session 3

Use cases of HPC

Transferring files

Running a parallel job

Session 4

Use cases of HPC

Single node parallelism

Introduction to Numba

Session 5

Use cases of HPC

GPU parallelism

Distributed parallelism

Final Assessment