International Journal of Parallel Programming

, Volume 32, Issue 6, pp 501–523 | Cite as

Look Left, Look Right, Look Left Again: An Application of Fractal Symbolic Analysis to Linear Algebra Code Restructuring

  • Vijay Menon
  • Keshav Pingali


Fractal symbolic analysis is a symbolic analysis technique for verifying the legality of program transformations. It is strictly more powerful than dependence analysis; for example, it can be used to verify the legality of blocking LU factorization with pivoting, a task for which dependence analysis is inadequate. In this paper, we show how fractal symbolic analysis can be used to convert between left- and right-looking versions of three kernels of central importance in computational science: triangular solve, Cholesky factorization, and LU factorization with pivoting.

Program restructuring symbolic analysis numerical methods high-performance computing 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    1._ Gene Golub and Charles Van Loan. Matrix Computations. The Johns Hopkins University Press (1996).Google Scholar
  2. 2.
    Martin C. Rinard and Pedro C. Diniz. Commutativity Analysis: A New Analysis Technique for Parallelizing Compilers, ACM Transactions on Programming Languages and Systems, 19(6):942–991 (November 1997).Google Scholar
  3. 3.
    Micheal Wolfe. High Performance Compilers for Parallel Computing, Addison-Wesley Publishing Company (1995).Google Scholar
  4. 4.
    Mohammad R. Haghighat and Constantine D. Polychronopoulos. Symbolic Analysis for Parallelizing Compilers, ACM Transactions on Programming Languages and Systems, 18(4):477–518 (July 1996).Google Scholar
  5. 5.
    Nawaaz Ahmed, Nikolay Mateev, and Keshav Pingali. Synthesizing Transformations for Locality Enhancement of Imperfectly-Nested Loop Nests, in Proceedings of the 2000 International Conference on Supercomputing, Santa Fe, New Mexico (May 8–11, 2000).Google Scholar
  6. 6.
    L. Rauchwerger and D. A. Padua. The LRPD Test: Speculative Run-time Parallelization of Loops with Privatization and Reduction Parallelization, IEEE Transactions on Parallel and Distributed Systems, 10(2):218–232 (February 1999).Google Scholar
  7. 7.
    Uptal Banerjee. A Theory of Loop Permutations, in Languages and Compilers for Parallel Computing, pp. 54–74 (1989).Google Scholar
  8. 8.
    Vijay Menon, Keshav Pingali, and Nikolay Mateev. Fractal Symbolic Analysis, ACM Transactions on Programming Languages and Systems, 25(6):776–813 (November 2003).Google Scholar
  9. 9.
    Wei Li and Keshav Pingali. A Singular Loop Transformation Based on Non-singular Matrices. International Journal of Parallel Programming, 22(2):183–205 (April 1994).Google Scholar

Copyright information

© Springer Science+Business Media, Inc. 2004

Authors and Affiliations

  • Vijay Menon
    • 1
  • Keshav Pingali
    • 2
  1. 1.Microprocessor Technology LabIntel CorporationSanta ClaraU.S.A
  2. 2.Department of Computer ScienceCornell UniversityU.S.A

Personalised recommendations