Compile-time Parallelization of Subscripted Subscript Patterns
Akshay Bhosale, Rudolf Eigenmann

TL;DR
This paper introduces a compile-time algorithm that analyzes subscripted-subscripts in array access patterns to enable parallelization, significantly improving performance in scientific applications with irregular data access.
Contribution
The paper presents a novel symbolic range aggregation algorithm that proves properties of subscript arrays, facilitating parallelization of loops with subscripted-subscripts.
Findings
Algorithm can transform sequential loops into near-parallel execution.
Effective analysis of subscripted-subscripts enhances compiler parallelization capabilities.
Significant performance gains in relevant scientific applications.
Abstract
An increasing number of scientific applications are making use of irregular data access patterns. An important class of such patterns involve subscripted-subscripts, wherein an array value appears in the index expression of another array. Even though the information required to parallelize loops with such patterns is often available in the program, present compiler techniques fall short of analyzing that information. In this paper we present a study of subscripted-subscripts, the properties that define the subscript arrays, and an algorithm based on symbolic range aggregation, that will help prove the presence of some of the properties of the subscript array in the program. We show that, in an important class of programs, the algorithm can boost the performance from essentially sequential execution to close to fully parallel.
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.
