Affiliation:
1. Politecnico di Torino, Turin, Italy
Abstract
Massive amounts of legacy sequential code need to be parallelized to make better use of modern multiprocessor architectures. Nevertheless, writing parallel programs is still a difficult task. Automated parallelization methods can be effective both at the statement and loop levels and, recently, at the task level, but they are still restricted to specific source code constructs or application domains. We present in this article an innovative toolset that supports developers when performing manual code analysis and parallelization decisions. It automatically collects and represents the program profile and data dependencies in an interactive graphical format that facilitates the analysis and discovery of manual parallelization opportunities. The toolset can be used for arbitrary sequential C programs and parallelization patterns. Also, its program-scope data dependency tracing at runtime can complement the tools based on static code analysis and can also benefit from it at the same time. We also tested the effectiveness of the toolset in terms of time to reach parallelization decisions and of their quality. We measured a significant improvement for several real-world representative applications.
Funder
European Commission in the context of the FP7 HEAP and PHARAON projects
Publisher
Association for Computing Machinery (ACM)
Subject
Hardware and Architecture,Software
Reference27 articles.
1. Software pipelining
2. R. Allen and K. Kennedy. 2002. Optimizing Compilers for Modern Architectures. Morgan Kaufmann San Francisco. R. Allen and K. Kennedy. 2002. Optimizing Compilers for Modern Architectures. Morgan Kaufmann San Francisco.
3. A view of the parallel computing landscape
4. Exploring the performance limits of simultaneous multithreading for memory intensive applications
5. Compiler transformations for high-performance computing
Cited by
2 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Design and Performance Analysis of Real-Time Dynamic Streaming Applications;Languages and Compilers for Parallel Computing;2019
2. Making Break-ups Less Painful;Proceedings of the 2018 Workshop on Forming an Ecosystem Around Software Transformation - FEAST '18;2018