Affiliation:
1. University of California, San Diego, La Jolla, USA
Abstract
This paper overviews Kremlin, a software profiling tool designed to assist the parallelization of serial programs. Kremlin accepts a serial source code, profiles it, and provides a list of regions that should be considered in parallelization. Unlike a typical profiler, Kremlin profiles not only work but also parallelism, which is accomplished via a novel technique called hierarchical critical path analysis. Our evaluation demonstrates that Kremlin is highly effective, resulting in a parallelized program whose performance sometimes outperforms, and is mostly comparable to, manual parallelization. At the same time, Kremlin would require that the user parallelize significantly fewer regions of the program. Finally, a user study suggests Kremlin is effective in improving the productivity of programmers.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Reference4 articles.
1. NAS Parallel Benchmarks 2.3; OpenMP C. www.hpcc.jp/Omni/. NAS Parallel Benchmarks 2.3; OpenMP C. www.hpcc.jp/Omni/.
2. Measuring parallelism in computation-intensive scientific/engineering applications
3. The Cilk++ concurrency platform
Cited by
4 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Loop Parallelization using Dynamic Commutativity Analysis;2021 IEEE/ACM International Symposium on Code Generation and Optimization (CGO);2021-02-27
2. Determining Performance Boundaries on High-Level System Specifications;Proceedings of the 19th International Workshop on Software and Compilers for Embedded Systems;2016-05-23
3. Cross-architecture performance prediction (XAPP) using CPU code to predict GPU performance;Proceedings of the 48th International Symposium on Microarchitecture;2015-12-05
4. The Cilkprof Scalability Profiler;Proceedings of the 27th ACM symposium on Parallelism in Algorithms and Architectures;2015-06-13