Deriving efficient parallel implementations of algorithms operating on general sparse matrices using automatic program transformation

  • Stephen Fitzpatrick
  • T. J. Harmer
  • J. M. Boyle
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 854)


We show how efficient implementations can be derived from high-level functional specifications of numerical algorithms using automatic program transformation. We emphasize the automatic tailoring of implementations for manipulation of sparse data sets. Execution times are reported for a conjugate gradient algorithm.


Program Transformation and Program Derivation Automatic Parallelization and Mapping Sparse Matrices Functional Programming 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    A Transformational Component for Programming Language Grammar, J. M. Boyle, ANL-7690 Argonne National Laboratory, July 1970, Argonne, Illinois.Google Scholar
  2. 2.
    Abstract programming and program transformations — An approach to reusing programs. James M. Boyle, Editors Ted J. Biggerstaff and Alan J. Perlis in Software Reusability, Volume I, Pages 361–413, ACM Press (Addison-Wesley Publishing Company), New York, NY, 1989.Google Scholar
  3. 3.
    Program reusability through program transformation James M. Boyle and M. N. Muralidharan, IEEE Trans. Software Eng., 10 (5): 574–88 (Sept.) 1984.Google Scholar
  4. 4.
    Functional specifications for mathematical computations James M. Boyle, T. J. Harmer, Editor B. Moeller in Proc. IFIP TC2/WG2.1 Working Conf. on Construction Programs from Specifications.Google Scholar
  5. 5.
    Program adaption and program transformation In R. Ebert, J. Lueger and L. Goecke (editors), Practice in Software Adaption and Maintenance, pp. 3–20, North-Holland, Amsterdam.Google Scholar
  6. 6.
    A Practical Functional Program for the Cray X-MP, J.M. Boyle and T.J. Harmer, Journal of Functional Programming, 2(1), 1992, pp81–126.Google Scholar
  7. 7.
    The Construction of Numerical Mathematical Software for the AMT DAP by Program Transformation, J.M. Boyle, M. Clint, Stephen Fitzpatrick and T.J. Harmer, Proceedings of CONPAR 92-VAPP V, L Bouge, M. Cosnard, Y. Robert, D. Trystram (editors), Springer-Verlag.Google Scholar
  8. 8.
    Deriving Distributed MIMD Implementations from Functional Specifications, JM Boyle, M Clint, S Fitzpatrick and TJ Harmer, Proceedings of ParCo '93 pp44–48, 7–10 September 1993, Grenoble, France.Google Scholar
  9. 9.
    Computer program for solution of large sparse unsymmetric systems of linear equations, JE Key, Int. J. Numer. meth. Eng. 6, pp497–509.Google Scholar
  10. 10.
    Functional Programming using Standard ML, A. Wilström, Prentice Hall, London 1987.Google Scholar
  11. 11.
    Sparse Matrix Technology, Sergio Pissanetsky, Academic Press, 1984.Google Scholar
  12. 12.
    Parallel Algorithm Derivation and Program Transformation, editors R Paige, J Reif and R Wachter, Kluwer Publishing, 1993.Google Scholar
  13. 13.
    A Study of Sparse Matrix Representations for Solving Linear Systems in a Functional Language, RL Wainwright and ME Sexton, Journal of Functional Programming, 2(1), pp61–72.Google Scholar
  14. 14.
    Parallel Decomposition of Matrix Inversion using Quadtrees, DS Wise, Proc. Int. Conf. on Parallel Processing, 1986, pp92–99.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1994

Authors and Affiliations

  • Stephen Fitzpatrick
    • 1
  • T. J. Harmer
    • 1
  • J. M. Boyle
    • 2
  1. 1.Department of Computer ScienceThe Queen's University of BelfastBelfastUK
  2. 2.Mathematics and Computer Science DivisionArgonne National LaboratoryArgonneUSA

Personalised recommendations