Task Level Parallelization of Irregular Computations using OpenMP 3.0
Date
Authors
Journal Title
Journal ISSN
Volume Title
Publisher
Abstract
OpenMP is a standard parallel programming language used to develop parallel applications on shared memory machines. OpenMP is very suitable for designing parallel algorithms for regular applications where the amount of work is known apriori and therefore distribution of work among the threads can be done at compile time. In irregular applications, the load changes dynamically at runtime and distribution of work among the threads can only be done at runtime. In the literature, it has been shown that OpenMP produces unsatisfactory performance for irregular applications. In 2008, the OpenMP 3.0 version introduced new directives and features such as the ''task'' directive to handle irregular computations. Not much work has gone into studying irregular algorithms in OpenMP 3.0. In this thesis, I provide some insight into the usefulness of OpenMP 3.0