Abstract
Multicore architectures are becoming more common today. Many software products implemented sequentially have failed to exploit the potential parallelism of multicore architectures. Significant re-engineering and refactoring of existing software is needed to support the use of new hardware features. Due to the high cost of manual transformation, an automated approach to transforming existing software and taking advantage of multicore architectures would be highly beneficial. We propose a novel auto-parallelization approach, which integrates data-dependence profiling, task parallelism extraction and source-to-source transformation. Coarse-grained task parallelism is detected based on a concept called Computational Unit(CU). We use dynamic profiling information to gather control- and data-dependences among tasks and generate a task graph. In addition, we develop a source-to-source transformation tool based on LLVM, which can perform high-level code restructuring. It transforms the generated task graph with loop parallelism and task parallelism of sequential code into parallel code using Intel Threading Building Blocks (TBB). We have evaluated NAS Parallel Benchmark applications, three applications from PARSEC benchmark suite, and real world applications. The obtained results confirm that our approach is able to achieve promising performance with minor user interference. The average speedups of loop parallelization and task parallelization are 3.12x and 9.92x respectively.
Original language | English |
---|---|
Title of host publication | Proceedings of the 2nd International Workshop on Code OptimiSation for MultI and Many Cores, COSMIC 2015 - Held in conjunction with the International Symposium on Code Generation and Optimization,CGO 2015 |
Publisher | ACM |
ISBN (Electronic) | 9781450333160 |
DOIs | |
Publication status | Published - 8 Feb 2015 |
MoE publication type | A4 Conference publication |
Event | International Workshop on Code Optimisation for Multi and Many Cores - San Francisco, United States Duration: 8 Feb 2015 → 8 Feb 2015 Conference number: 2 |
Workshop
Workshop | International Workshop on Code Optimisation for Multi and Many Cores |
---|---|
Abbreviated title | COSMIC |
Country/Territory | United States |
City | San Francisco |
Period | 08/02/2015 → 08/02/2015 |
Keywords
- Coarse-grained parallelism
- Code transformation
- Data dependence analysis
- Source-to-source
- TBB