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. .. list-table:: :widths: 30 70 :header-rows: 1 * - 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 - .. toctree:: tutorial/session0.rst tutorial/session1.rst tutorial/session2.rst tutorial/session3.rst tutorial/session4.rst tutorial/session5.rst