Teaching Parallel Programming Using Both High-Level and Low-Level Languages
Yi Pan
Abstract
We discuss the use of both MPI and OpenMP in the teaching of senior undergraduate and junior graduate classes in parallel programming. We briefly introduce the OpenMP standard and discuss why we have chosen to use it in parallel programming classes. Advantages of using OpenMP over message passing methods are discussed. We also include a brief enumeration of some of the drawbacks of using OpenMP and how these drawbacks are being addressed by supplementing OpenMP with additional MPI codes and projects. Several projects given in my class are also described in this paper.
Create a lesson
Related papers
flash-comm: Self-Synchronizing Collective Communication for LLM Decoding
Carrie Wang, Jack Li, Jason Zhao
AtomicFaaS: Offloading Side-Effect Compensation to the Serverless Platform
Jonas Heisterberg, Sebastian Koch, Trever Schirmer et al.
Optimal Subcubic Byzantine Agreement with Plain PKI
Marc Dufay, Roger Wattenhofer
Weaver: Unlocking Blockchain Transaction Parallelism through State-Decoupled Symbolic Execution
Ru Cheng, Maofan Yin, Liangrong Chen et al.
Performance Portability of Out-of-Kernel Optimizations on GPUs: A Molecular Docking Case Study
Gianmarco Accordi, Leonardo Beltrame, Theresa Pollinger et al.
Chiron: Cache Management Empowered by LLM Intelligence for AI Workloads
Bohan Zhang, Renshu Ge, Tianze Wang et al.