OpenMP Common Core: a “Hands-On” Exploration
Parallel Programming Languages, Libraries, and Models
TimeSunday, November 11th8:30am - 5pm
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 the general application programmer. 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 19 items from the specification. We call these 19 items 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 common core of OpenMP. Students should come with an internet enabled laptop and be comfortable with basic commands to compile code. We utilize active learning through a carefully selected set of exercises, so students will master the common core and learn to apply it to their own problems. We will provide access to many-core systems that support OpenMP (such as Knights Landing). Alternatively, students can load an OpenMP compiler onto their laptops before the tutorial for the exercises.