Projects per year
Abstract
Parallelization traditionally refers to the challenge of analyzing legacy sequential code, to generate equivalent, higher performing parallel code. Emerging mainstream parallelism has created a new challenge: legacy parallel code, typically hand-optimized for a particular system, becomes outdated as the hardware evolves. Modernizing such code line-by-line is not effective: instead we need to understand the program’s overall algorithmic intent, to re-express it for the new target. Re-expression can be simplified and futureproofed by coding with parallel patterns [4, 8, 9]. We address the remaining challenge of identifying the algorithm patterns in the original parallel source. We describe a novel dynamic approach to the identification of implicit algorithmic patterns. Our core principle is that the essence of a pattern is to be found in the dynamic data flows it invokes between operations and their repetition, rather than any specific source level encoding. This makes it neutral with respect to source code and hence immediately applicable to both legacy sequential and parallel code.
The high level structure of our approach is captured in Figure 1. Our LLVM pass instruments the legacy program, whose traced execution generates a dynamic dataflow graph (DDG). Our constraint-programming based pattern finding tool analyzes the DDG against a library of pattern definitions, reporting found instances back to the programmer.
The high level structure of our approach is captured in Figure 1. Our LLVM pass instruments the legacy program, whose traced execution generates a dynamic dataflow graph (DDG). Our constraint-programming based pattern finding tool analyzes the DDG against a library of pattern definitions, reporting found instances back to the programmer.
Original language | English |
---|---|
Title of host publication | PACT '20: Proceedings of the ACM International Conference on Parallel Architectures and Compilation Techniques |
Publisher | ACM Association for Computing Machinery |
Pages | 347-348 |
Number of pages | 2 |
ISBN (Print) | 9781450380751 |
DOIs | |
Publication status | Published - 30 Sep 2020 |
Event | 29th International Conference on Parallel Architectures and Compilation Techniques - Virtual conference Duration: 3 Oct 2020 → 7 Oct 2020 https://pact20.cc.gatech.edu/ |
Conference
Conference | 29th International Conference on Parallel Architectures and Compilation Techniques |
---|---|
Abbreviated title | PACT 2020 |
City | Virtual conference |
Period | 3/10/20 → 7/10/20 |
Internet address |
Fingerprint
Dive into the research topics of 'Parallelizing Parallel Programs: A Dynamic Pattern Analysis for Modernization of Legacy Parallel Code'. Together they form a unique fingerprint.Projects
- 1 Finished
-
Pattern Discovery and Program Shaping for Heterogeneous Manycore Systems
Cole, M., Franke, B. & O'Boyle, M.
1/07/17 → 31/12/20
Project: Research