Affiliation:
1. University of California, San Diego, La Jolla, CA, USA
Abstract
Many recent parallelization tools lower the barrier for parallelizing a program, but overlook one of the first questions that a programmer needs to answer:
which parts of the program should I spend time parallelizing
?
This paper examines Kremlin, an automatic tool that, given a serial version of a program, will make recommendations to the user as to what regions (e.g. loops or functions) of the program to attack first. Kremlin introduces a novel
hierarchical critical path analysis
and develops a new metric for estimating the potential of parallelizing a region:
self-parallelism
. We further introduce the concept of a
parallelism planner
, which provides a ranked order of specific regions to the programmer that are likely to have the largest performance impact when parallelized. Kremlin supports multiple
planner personalities
, which allow the planner to more effectively target a particular programming environment or class of machine.
We demonstrate the effectiveness of one such personality, an OpenMP planner, by comparing versions of programs that are parallelized according to Kremlin's plan against third-party manually parallelized versions. The results show that Kremlin's OpenMP planner is highly effective, producing plans whose performance is typically comparable to, and sometimes much better than, manual parallelization. At the same time, these plans would require that the user parallelize significantly fewer regions of the program.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Cited by
29 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Fast data-dependence profiling through prior static analysis;Parallel Computing;2024-02
2. Filtering and Ranking of Code Regions for Parallelization via Hotspot Detection and OpenMP Overhead Analysis;Proceedings of the SC '23 Workshops of The International Conference on High Performance Computing, Network, Storage, and Analysis;2023-11-12
3. Program State Element Characterization;Proceedings of the 21st ACM/IEEE International Symposium on Code Generation and Optimization;2023-02-17
4. Automation of Programming for Promising High-Performance Computing Systems;Lecture Notes in Computer Science;2023
5. Profile-Guided Parallel Task Extraction and Execution for Domain Specific Heterogeneous SoC;2022 IEEE Intl Conf on Parallel & Distributed Processing with Applications, Big Data & Cloud Computing, Sustainable Computing & Communications, Social Computing & Networking (ISPA/BDCloud/SocialCom/SustainCom);2022-12