Teaching Parallel Programming Using Both High-Level and Low-Level Languages
Yi Pan

TL;DR
This paper explores a teaching approach that combines high-level OpenMP and low-level MPI languages to effectively instruct senior undergraduates and graduate students in parallel programming, highlighting benefits and addressing challenges.
Contribution
It introduces a combined teaching methodology using OpenMP and MPI, detailing advantages, drawbacks, and supplementary projects for comprehensive parallel programming education.
Findings
OpenMP simplifies parallel programming for students.
Supplementing OpenMP with MPI addresses its limitations.
Practical projects enhance learning experience.
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.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsDistributed and Parallel Computing Systems · Parallel Computing and Optimization Techniques
