Parallelism detection using graph labelling
Pavel Telegin, Anton Baranov, Boris Shabanov, Artem Tikhomirov

TL;DR
This paper presents a graph labeling algorithm for detecting parallelism in programs by analyzing data dependencies and properties, enhancing data localization and parallelism detection in complex components.
Contribution
It introduces a novel graph-based wave propagation algorithm for analyzing program components to improve parallelism detection.
Findings
Effective analysis of complex program components
Improved data localization for parallelism
Enhanced detection of data parallelism
Abstract
Usage of multiprocessor and multicore computers implies parallel programming. Tools for preparing parallel programs include parallel languages and libraries as well as parallelizing compilers and convertors that can perform automatic parallelization. The basic approach for parallelism detection is analysis of data dependencies and properties of program components, including data use and predicates. In this article a suite of used data and predicates sets for program components is proposed and an algorithm for computing these sets is suggested. The algorithm is based on wave propagation on graphs with cycles and labelling. This method allows analyzing complex program components, improving data localization and thus providing enhanced data parallelism detection.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsAdvanced Data Processing Techniques · Distributed and Parallel Computing Systems · Software System Performance and Reliability
