Abstract

Dependence analysis in parallelizing compilers can be formulated as solving a set of Diophantine equations and a set of linear inequalities. The intersection of the linear inequalities is usually a convex region in the iteration space. For more precise data dependence analysis, we need to enumerate or at least find the “tightest” boundary of the grid points (i.e., iterations) inside the convex region. The region bounded by this tightest boundary is called the maximum grid convex polygon (MGCP). It is the largest convex polygon inside the convex region in which the corners are integer-valued and all the integer points satisfying the given linear inequalities are enclosed. In this paper, we consider the problem of finding the MGCP on a two-dimensional grid plane, and we give an algorithm with a time complexity O(max( m, K) L + m log m), where K is the number of corners of the found MGCP, m is the number of the given constraints, and L is the maximum length of the binary representation of the coefficients. As a side step of the algorithm, we can decide whether an integer solution exists in the convex region, and thus whether a dependence actually exists. Also with the MGCP, we can determine precisely the region of the flow and anti-dependence vectors. This information is very useful in loop parallelism.

Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

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.