Abstract

Generating the local memory access sequence is an important issue while compiling a data-parallel language into an SPMD code. There are many researches dealing with this issue for cyclic( k) distribution in simple subscripts. But the problem becomes highly complicated when the array references are with complex subscripts. One of the complex array reference functions is array subscript containing multiple induction variables (MIV subscripts). MIV is an affine combination of two or more nested loop indices in a single dimension. In this paper, we develop a general method in O( k) time to evaluate the start element for a given global start element. We compute the course distance first, and then traverse the FSM until the start element is found. In our method, the FSM table constructed in the one-level algorithm [J. Parallel Distr. Comput. 26(1) (1995) 72] can be used directly, but in the method of Ramanujam et al. [Languages and Compilers for Parallel Computing, vol. 1366. Springer-Verlag, 1998, p. 49] the l , r vectors of the processor must be evaluated for each global start element and the time-expensive operations like division and mod are required to check the space boundary of processors. Experimental results have revealed our method is more efficient than theirs.

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.