Abstract
Most of the approaches for automatic data distribution are based on the analysis of array reference patterns within loop nests. From this analysis. a graph recording preferences and conflicts in alignment is built. This graph is partitioned deciding the reference patterns that lead to local memory accesses and the ones that require access to remote data. The estimation of this data movement cost is usually preformed by matching these nonaligned reference patterns with a collection of data movement primitives. In this paper, we show the main results of a set of experiments performed to analyze the complexity of the graph used to solve alignment and the chances for finding regular data distributions among processors. Three optimizations have been performed to increase the amount of reference patterns analyzed and the information that can be obtained from their analysis: expression substitution, subscript substitution, and induction variable detection. We also evalute the effectiveness of these transformations.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.