Presentation
OpenMP Common Core: A “Hands-On” Exploration
Event Type
Tutorial
TUT
Parallel Programming Languages, Libraries, and Models
Programming Systems
TimeSunday, 17 November 20198:30am - 5pm
Location301
DescriptionOpenMP is the de facto standard for writing parallel applications for shared memory computers. Born 20 years ago in 1997, it runs on just about every shared memory platform in the market. It’s also very complicated. We created OpenMP to be the “easy API” for application programmers. With a specification running to over 300 pages, OpenMP has grown into an intimidating API viewed by many as for “experts only”.
Most OpenMP programmers, however, use around 20 items from OpenMP. We call this subset the “OpenMP Common Core”. By focusing on the common core, we make OpenMP what it was always meant to be; an easy API for parallel application programmers.
In this hands-on tutorial, we explore the OpenMP Common Core. We utilize active learning through a carefully selected set of exercises, so students master the common core and learn to apply it to their own problems. The exercises use a simple subset of C: Fortran programmers will have no problem keeping up.
Students will use their own laptops to access remote systems that support OpenMP (a remote SMP server). Alternatively, students can load an OpenMP compiler onto their laptops before the tutorial. Information about OpenMP compilers is available at www.openmp.org.
Most OpenMP programmers, however, use around 20 items from OpenMP. We call this subset the “OpenMP Common Core”. By focusing on the common core, we make OpenMP what it was always meant to be; an easy API for parallel application programmers.
In this hands-on tutorial, we explore the OpenMP Common Core. We utilize active learning through a carefully selected set of exercises, so students master the common core and learn to apply it to their own problems. The exercises use a simple subset of C: Fortran programmers will have no problem keeping up.
Students will use their own laptops to access remote systems that support OpenMP (a remote SMP server). Alternatively, students can load an OpenMP compiler onto their laptops before the tutorial. Information about OpenMP compilers is available at www.openmp.org.