Event Type
Tutorial

Parallel Programming Languages, Libraries, Models
and Notations
TimeSunday, November 12th8:30am -
5pm
Location404
DescriptionWith the increasing prevalence of multicore processors,
shared-memory programming models are essential. OpenMP
is a popular, portable, widely supported and easy-to-use
shared-memory model. Developers usually find OpenMP easy
to learn. However, they are often disappointed with the
performance and scalability of the resulting code. This
disappointment stems not from shortcomings of OpenMP but
rather with the lack of depth with which it is employed.
Our “Advanced OpenMP Programming” tutorial addresses
this critical need by exploring the implications of
possible OpenMP parallelization strategies, both in
terms of correctness and performance.
We assume attendees understand basic parallelization concepts and know the fundamentals of OpenMP. We focus on performance aspects, such as data and thread locality on NUMA architectures, false sharing, and exploitation of vector units. All topics are accompanied with extensive case studies and we discuss the corresponding language features in-depth. The second half of the tutorial is dedicated to the directives for attached compute accelerators and the corresponding optimization techniques, such as asynchronous data transfer and kernel execution. Throughout all topics we present the recent additions of OpenMP 4.5 and extensions that have been subsequently adopted by the OpenMP Language Committee.
We assume attendees understand basic parallelization concepts and know the fundamentals of OpenMP. We focus on performance aspects, such as data and thread locality on NUMA architectures, false sharing, and exploitation of vector units. All topics are accompanied with extensive case studies and we discuss the corresponding language features in-depth. The second half of the tutorial is dedicated to the directives for attached compute accelerators and the corresponding optimization techniques, such as asynchronous data transfer and kernel execution. Throughout all topics we present the recent additions of OpenMP 4.5 and extensions that have been subsequently adopted by the OpenMP Language Committee.
Links