Seminar 2015-04-23

Improving performance of parallel OpenMP programs

Speaker: Artur Podobas

2015-04-23

Introduced in early 2000, general purpose processors with multiple "cores" have come to exist in all shape and forms in our daily life.

These "multi-core" processors came to existence due to the power- limits of their single counterpart. With transistor dimension shrinking and frequency increasing it was no longer feasible to continue the long trend of improving the traditional, single-core processor.

Programmers were not prepared for this transition. Parallel programming involved performance-throttling side-effects such as load-(im)balance, false-sharing and performance portability, which had to be addressed by the clueless average programmer-- and the vendor-promised performance improvement was not easily gained.

Fortunately, decades of high-performance computing paradigms helping us to simplify the work of programming on a multiprocessing, shared-memory system. One of these paradigms is the task-parallel model, and its most prominent implementation is OpenMP.

In this seminar I will give an overview of the research I performed through my PhD studies with respect to performance in the task-parallel OpenMP model. A short introduction to OpenMP will be given together with existing problems in run-time system, how to exploit heterogeneity and finally the possibility to generate OpenMP-specific accelerators that can be synthesized and placed on FPGAs to increase performance.

Slides: A.Podobas.pdf (pdf 3,2 MB)

Till sidans topp