YAPPA: a Compiler-Based Parallelization Framework for Irregular Applications on MPSoCs
Modern embedded systems include hundreds of cores. Because of the difficulty in providing a fast, coherent memory architecture, these systems usually rely on non-coherent, non-uniform memory architectures with private memories for each core. However, programming these systems poses significant challenges. The developer must extract large amounts of parallelism, while orchestrating communication among cores to optimize application performance. These issues become even more significant with irregular applications, which present data sets difficult to partition, unpredictable memory accesses, unbalanced control flow and fine grained communication. Hand-optimizing every single aspect is hard and time-consuming, and it often does not lead to the expected performance. There is a growing gap between such complex and highly-parallel architectures and the high level languages used to describe the specification, which were designed for simpler systems and do not consider these new issues. In this paper we introduce YAPPA (Yet Another Parallel Programming Approach), a compilation framework for the automatic parallelization of irregular applications on modern MPSoCs based on LLVM. We start by considering an efficient parallel programming approach for irregular applications on distributed memory systems. We then propose a set of transformations that can reduce the development and optimization effort. The results of our initial prototype confirm the correctness of the proposed approach.
- Research Organization:
- Pacific Northwest National Lab. (PNNL), Richland, WA (United States)
- Sponsoring Organization:
- USDOE
- DOE Contract Number:
- AC05-76RL01830
- OSTI ID:
- 1123249
- Report Number(s):
- PNNL-SA-96169; 400470000
- Resource Relation:
- Conference: IEEE International Symposium on Rapid System Prototyping (RSP 2013), October 3-4, 2013, Montreal, Quebec, Canada, 123-129
- Country of Publication:
- United States
- Language:
- English
Similar Records
Scaling Irregular Applications through Data Aggregation and Software Multithreading
A Bandwidth-Optimized Multi-Core Architecture for Irregular Applications