From Personal Computing to HPC
From Personal Computing to HPC A Practical Guide is a short course designed for researchers, students, and professionals experienced in personal computing (e.g., laptops or platforms like Google Colab) who are new to High-Performance Computing (HPC). Over 1–2 days, participants will explore the key differences between personal and HPC environments, learn how to adapt workflows for HPC, and gain practical experience in accessing and managing tasks on an HPC platform. By the end of the course, attendees will be equipped with the knowledge and skills to confidently migrate and optimize their computational workflows for HPC systems.
Course Content Overview
Day 1: Introduction and Foundations
- Session 1: Introduction to HPC
- Overview of HPC vs. personal computing.
- Benefits, challenges, and real-world applications.
- HPC architecture basics: nodes, clusters, and job schedulers.
- Session 2: HPC Environment Basics
- Linux command line navigation.
- HPC directory structure and storage overview.
- File transfer techniques (e.g., SCP, Rsync).
- Module systems for managing software dependencies.
- Session 3: Getting Access to HPC Resources
- Requesting and logging into HPC systems.
- SSH basics and user policies.
- Best practices for effective HPC usage.
Day 2: Practical Migration and Optimization
- Session 4: Preparing Workflows for HPC
- Adapting Python and Jupyter Notebook workflows.
- Batch processing and interactive sessions.
- Estimating resource requirements (e.g., CPU, memory, wall time).
- Session 5: Job Submission and Management
- Introduction to job schedulers (e.g., SLURM).
- Writing, submitting, and monitoring job scripts.
- Troubleshooting common errors.
- Session 6: Optimizing Your Workflow
- Identifying and addressing bottlenecks in workflows.
- Basics of parallel computing (e.g., multi-threading, MPI).
- Tips for improving performance on HPC.
- Session 7: Hands-On Lab
- Migrating a Python-based workflow (e.g., data analysis or machine learning) from Google Colab to HPC.
- Submitting and monitoring a sample job.
- Real-time troubleshooting with instructor support.
- Session 8: Discussion and Q&A
- Best practices for continued learning.
- Resources for HPC training and documentation.
Learning Outcomes
- Understand the key differences between personal computing and HPC environments.
- Learn to adapt and optimize workflows for HPC systems.
- Gain practical experience in job submission, monitoring, and troubleshooting on an HPC platform.
- Acquire confidence to explore and utilize HPC for advanced computational tasks.