ABSTRACT
Because the efficiency of sparse codes is very much dependent on the size and structure of input data, peculiarities of the nonzero structures of sparse matrices must be accounted for in order to avoid unsatisfying performance. Usually, this implies retargeting a sparse application to specific instances of the same problem. However, if characteristics of the input data are collected at compile-time and used in the data structure selection and code generation by a compiler that converts dense programs into sparse programs automatically, the complexity of sparse code development can be greatly reduced, and an efficient way for this retargeting results. Such a “sparse compiler” requires an analysis engine, which is the topic of this paper.
- 1.S. Kamal Abdali and David S. W~e. Experiments wgh quadtree representation of matrices. In G. Goos and J. HartmaltiS, editors, Lecture Notes in Computer Scicnce 35~ pages 96-108. Springe~Verlag, 1988. Google ScholarDigital Library
- 2.U. Bane~ee. Loop Transformations for Restructu~ng Compilers: The Founda~onm Kluwer Academ~ Pubfishers, Boston, 1993. Google ScholarDigital Library
- 3.Aart J.C. Bik and Harry A.G. W~shoff. Advanced compiler optim~ations for sparse computations. In Proceedings of Supercomputing 9~ pages 430-439, 1993. Google ScholarDigital Library
- 4.Aart J.C. Bik and Harry A.G. W~shoff. Compilation techniques for sparse matrix computations. In Proceedings of the International Conference on Supercompu~ in~ pages 416-424, 1993. Google ScholarDigital Library
- 5.Aart J.C. Bik and Harry A.G. W~shoff. MTI: A prototype restructuring compiler. Technical Report no. 93-32, Dept. of Computer Science, L~den UniversitE 1993.Google Scholar
- 6.Aart J.C. Bik and Harry A.G. W~shoff. On automatic data structure selection and code generation for sparse computations. In Proceedings o} the Sixth International Workshop on Languages and Compilers for Paralld Computing, pages 57-75, 1993. Lecture Notes in Computer Sconce, No. 768. Google ScholarDigital Library
- 7.Efizabeth Cuthill. Several strategies for redu~ng the bandwidth of matrices. In Donald J. Rose and Ralph A. Willoughb~ editors, Sparse Matrices and Their Applications, pages 157-166. P~num Press, New York, 1972.Google ScholarCross Ref
- 8.I.S. Duff. A sparse future. In I.S. Duff, editor, Sparse Matrices and their Uses, pages 1-29. Academ~ Press, London, 1981.Google Scholar
- 9.I.S. Duff, A.M. Erisman, and J.K. Reid. Direct Methods for Sparse Mat~ces. Oxford Science Pubfications, 1990. Google ScholarDigital Library
- 10.I.S. Duff, Roger G. Grimes, and john G. Lewd. Sparse matrix test problems. A CM Transactions on Mathematical Software, Volume 15:1-14, 1989. Google ScholarDigital Library
- 11.I.S. Duff and J.K. Reid. Some design features of a sparse matrix code. A CM Transactions on Mathematical Soft. ware, pages 18-35, 1979. Google ScholarDigital Library
- 12.Alan George and Joseph W. Liu. The deign of a user interface for a sparse matrix package. A CM Transactions on Mathematical Software, Volume 5:139-162, 1979. Google ScholarDigital Library
- 13.Alan George and Joseph W. Liu. Computer Solution of Large Sparse Positive Definite Systems. Prentice-Hall Inc., 1981. Google ScholarDigital Library
- 14.Frank Harary. Sparse matrices and graph theory. In J.K. R~d, ed~or, Large Sparse Sets of Linear Equalions, pages 139-150. Academ~ Press, 1971.Google Scholar
- 15.Donald Heurn and M. Paufine Baker. Computer Graphics. Prent~e-Hall International, 1986.Google Scholar
- 16.A. Jennings. A compact storage scheme for the solution of symmetric finear ~multaneous equations. The Computer Journa~ Volume 9:281-285, 1966.Google ScholarCross Ref
- 17.A. Jennings and A.D. Tuff. A direct method for the solution of large sparse symmetric simultaneous equations. In J.K. Reid, editor, Large Sparse Sets of Linear Equations, pages 97-104. Academic Press, 1971.Google Scholar
- 18.William H. Press, Brian P. Flannery, Saul A. Teukolsky, and William T. Vetterfing. Numerical Recipes. Cambridge Univer~ty Press, Cambridge, 1986.Google Scholar
- 19.Youcef Sand. SPARSKIT: a bas~ tool }dt for sparse matrix computations. CSRD/RIACS, 1990.Google Scholar
- 20.Youcef Sand and Harry A.G. W~shoff. Spark: A benchmark package for sparse computations. In Proceedings of the 1990 International Conference on Supercornput. ing, pages 239-253, 1990. Google ScholarDigital Library
- 21.Hanna Samet. Connected component labefing using quadtrees. Journal of the A CM, Volume 28:487-501, 1981. Google ScholarDigital Library
- 22.R. Ta~an. Depth-first search and finear graph algorithms. SIAM J. Computing, pages 146-160, 1972.Google Scholar
- 23.ReginM P. Tewarson. Sorting and orderi~ag sparse 5near systems, in J.K. R~d, editor, Large Sparse Sets of Linear Equations, pages 151-167. Academ~ Press, 1971.Google Scholar
- 24.Reginal P. Tewarson. Sparse Matrices. Acudem~ Press, New York, 1973.Google Scholar
- 25.M. Veldhorst. An Analysis of Sparse Matrix Storage Schemes. PhD thews, Mathemat~ch Centrum, Am~ terdam, 1982.Google Scholar
- 26.David S. Wise. Representating matrices as quadtrees for parallel proces~ng. Information Processing Letters, Volume 20:195-199, 1985.Google ScholarCross Ref
- 27.David S. W~e. Parallel decompo~fion of matrix inversion using quadtrees. In Proceedings of the 1986 International Conference on Parallel Processin~ pages 92-99, 1986.Google Scholar
- 28.David S. W~e and John Franco. Costs of quadtree representaron of nondense matrices. Journal of Paral~l and Dist~buted Computin~ Volume 9:282-296, 1990.Google Scholar
- 29.Zahari Zlatev. Computational Methods for General Sparse Matrices. Kluwer Academ~ Pub~shers, 1991.Google ScholarCross Ref
Index Terms
- Nonzero structure analysis
Recommendations
Compilation techniques for sparse matrix computations
ICS '93: Proceedings of the 7th international conference on SupercomputingThe problem of compiler optimization of sparse codes is well known and no satisfactory solutions have been found yet. One of the major obstacles is formed by the fact that sparse programs deal explicitly with the particular data structures selected for ...
Automatic Nonzero Structure Analysis
The efficiency of sparse codes heavily depends on the size and structure of the input data. Peculiarities of the nonzero structure of each sparse matrix must be accounted for to avoid unsatisfying performance. Therefore, it is important to have an ...
Automatic Data Structure Selection and Transformation for Sparse Matrix Computations
The problem of compiler optimization of sparse codes is well known and no satisfactory solutions have been found yet. One of the major obstacles is formed by the fact that sparse programs explicitly deal with particular data structures selected for ...
Comments