Generalized task parallelism

5Citations
Citations of this article
24Readers
Mendeley users who have this article in their library.

Abstract

Existing approaches to automatic parallelization produce good results in specific domains. Yet, it is unclear how to integrate their individual strengths to match the demands and opportunities of complex software. This lack of integration has both practical reasons, as integrating those largely differing approaches into one compiler would impose an engineering hell, as well as theoretical reasons, as no joint cost model exists that would drive the choice between parallelization methods. By reducing the problem of generating parallel code from a program dependence graph to integer linear programming, generalized task parallelization integrates central aspects of existing parallelization approaches intoa single unified framework. Implemented ontop of LLVM, the framework seamlessly integrates enabling technologies such as speculation, privatization, and the realization of reductions. Evaluating our implementation on various C programs from different domains, we demonstrate the effectiveness and generality of generalized task parallelization. On a quad-core machine with hyperthreading we achieve speedups of up to 4.6×.

Cite

CITATION STYLE

APA

Streit, K., Doerfert, J., Hammacher, C., Zeller, A., & Hack, S. (2015). Generalized task parallelism. ACM Transactions on Architecture and Code Optimization, 12(1). https://doi.org/10.1145/2723164

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free