Learning resources: Overview of HPC & Parallel programming

How to Use these Resources

This page has a medley of videos and other online references that give a high-level conceptual overview of what high-performance computing and parallel programming are and the different overarching models of parallel computing.  They are a good entry point for users new to HPC.



What the Heck is Supercomputing (2018) -- an excellent overview of the what and why of high-performance computing, from the Supercomputing in Plain English (SIPE) 2018 workshop series from the OU (University of Oklahoma) Supercomputing Center for Education & Research (OSCER)Video (~90 mins) and accompanying slides.

Supercomputing: Why It's Important for You (2014) -- recorded seminar (with slides) motivating the importance of HPC.  From the National Institute for Computational Sciences (NICS) at University of Tennessee, Knoxville.

Short Introduction to HPC (2015) -- a series of three short videos from ARCHER (the UK National Supercomputing Service). 


Self-paced online courses

Parallel Computing Explained -- a self-paced online course from Cyberinfrastructure Tutor at the National Center for Supercomputing Applications (NCSA)

Parallel Programming Concepts and HPC --  a self-paced online course on the "big-picture" of parallel programming from the Cornell University Center for Advanced Computing (CAC)


Web pages / written online tutorials

Overview of Parallel Programming, from HPC Carpentries -- conceptual summary of parallel programming models.  Application examples are in Python, but the topics covered are generic.

What is Parallel Computing -- overview of serial vs. parallel computing from Lawrence Livermore National Lab (LLNL).  Part of a longer document offering a comprehensive introduction to parallel computing.

Fundamentals of Parallel Programming -- an online document from University of Colorado Boulder Research Computing that gives a nice overview of parallel programming.  This addendum has an executive summary of what OpenMP and MPI are.



Introduction to High-Performance Scientific Computing -- book by Victor Eijkhout from the Texas Advanced Computing Center (TACC).  Available in online and print versions.  Chapters 1 & 2 give a comprehensive theoretical summary of architectures and programming models underlying serial computing and parallel computing, respectively.