High Performance Computing
High Performance Computing
What You'll Learn
- Master parallel programming with MPI and OpenMP
- Accelerate computations using GPU programming with CUDA
- Design and optimize high-performance algorithms
- Work with HPC clusters and job schedulers (SLURM)
- Implement distributed computing with Apache Spark and Dask
- Profile and optimize code for maximum performance
- Apply HPC to scientific computing, AI, and big data
- Complete a distributed HPC capstone project
Course Content
Course Preview Video
Course Requirements
Strong programming skills in C/C++ and Python required. Understanding of computer architecture, operating systems, and basic algorithms is essential.
- Level: Advanced
- Delivery: Online / Self-paced
- Prerequisites: C/C++ programming and systems knowledge
- Certificate: Certificate of Completion upon successful completion
Frequently Asked Questions
Do I need HPC experience?
Strong programming skills are required, but no prior HPC experience is necessary. We cover parallel programming from fundamentals to advanced topics.
What HPC technologies are covered?
The course covers MPI, OpenMP, CUDA, SLURM, Apache Spark, Dask, performance profiling, GPU computing, and cluster management.
Do I need a supercomputer?
No, we provide access to cloud HPC environments (AWS ParallelCluster) and you can run most exercises on a modern multi-core laptop with optional GPU.
Will I get hands-on parallel programming?
Yes, the course is hands-on with parallel implementations of algorithms, real cluster job submissions, and a distributed HPC capstone project.
How long is the course access?
You receive lifetime access to all course materials, including future updates on new HPC tools and frameworks.
Will I receive a certificate?
Yes, you will receive a Certificate of Completion after successfully completing the capstone project and all assessments.
Course Tutor
Prof. Michael Stevens
Prof. Michael Stevens is a Professor of Computer Science and HPC Systems Architect with over 25 years of experience in high performance computing. He has led research teams at national laboratories including Lawrence Livermore and Argonne, contributing to exascale computing initiatives and supercomputer design. Prof. Stevens holds a PhD in Computer Science from UC Berkeley and has published over 100 papers on parallel algorithms, GPU computing, and distributed systems. He has trained thousands of scientists and engineers in parallel programming and is a recipient of the ACM Gordon Bell Prize for his work on parallel computing. He is a frequent keynote speaker at SC, ISC, and the International Supercomputing Conference.
Throughout this course, Michael will guide you through the exact techniques used by HPC professionals, from fundamental parallel programming to cutting-edge GPU acceleration and distributed computing at scale.
Course Reviews

Prof. Stevens is a master teacher. The MPI and CUDA modules transformed how I approach scientific computing. My simulations now run 50x faster. Exceptional course!

The GPU computing module is the best I've found. Prof. Stevens explains CUDA memory optimization brilliantly. My deep learning training times dropped from days to hours.

As a research scientist, this course elevated my computational work to a new level. The SLURM and cluster management sections are exactly what I needed for my lab's HPC resources.

The performance profiling module is gold. I now identify and fix bottlenecks systematically. The capstone distributed application I built landed me a position at a national lab. 5 stars!

PhD-level content with practical applications. The Apache Spark and Dask modules integrate perfectly with HPC workflows. This course is essential for anyone serious about scientific computing.

Outstanding course! The OpenMP and MPI sections are taught with perfect clarity. I now confidently parallelize algorithms and run them on our university's supercomputer. Highly recommended!