Hands-on Session: Parallel Programming Methodologies
Instructor: John Urbanic
Pittsburgh Supercomputing Center
As a prelude to all of our parallel programming content this week, and as a guide to selecting which tracks are most useful, we will have an overview of all of the common parallel programming techniques used in HPC. The focus will be on distributed MPI programming, multi-core OpenMP programming and GPU programming with OpenACC, but we will put it all in the context of modern hardware designs and the roadmap of the future.
John Urbanic is Parallel Computing Scientist at the Pittsburgh Supercomputing Center (PSC). At PSC, he spends as much time as possible implementing extremely scalable code on interesting machines. These days that means using a lot of MPI, OpenMP and OpenACC. He has also been sucked into the world of Big Data challenges and Deep Learning. John teaches workshops and classes in his specialty areas and leads the XSEDE Monthly Workshop Series, Summer Boot Camp, in addition to the International HPC Summer School on HPC Challenges in Computational Sciences. John has physics degrees from Carnegie Mellon University (BS) and Pennsylvania State University (MS) and still appreciates working on applications that simulate physical phenomena.