Skip to main content

User interaction and symbolic extensions to dependence analysis

  • Conference paper
  • First Online:
Parallel Processing: CONPAR 94 — VAPP VI (VAPP 1994, CONPAR 1994)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 854))

  • 132 Accesses

Abstract

Software tools to aid the generation of parallel implementation from scalar code rely on very accurate dependence analysis. Conventional techniques produce dependence graphs which are unduly conservative and mean that the quality of the subsequent parallel code is severely compromised. In this paper we provide a brief description of extensions to conventional dependence analysis that involve symbolic algebra and the exploitation of user supplied knowledge. These features have been embedded with the Computer Aided Parallelisation Tools (CAPTools) software and form the basis for a set of tools that enable high quality parallel code to be generated from its scalar source semi-automatically.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. J R Allen, Dependence Analysis for Subscripted Variables and Its Application to Program Transformations, PhD Thesis, Rice University (1983).

    Google Scholar 

  2. J R Allen et al, Conversion of control dependence to data dependence, in Conference Proceedings of 10th Annual ACM Symposium on Principles of Programming Languages, ACM Press, pp 177–189 (1983).

    Google Scholar 

  3. J R Allen and K Kennedy, Automatic translation of FORTRAN programs to vector form, ACM Trans on Programming Languages and Systems, 9, pp 491–542 (1987).

    Google Scholar 

  4. U Banerjee et al, Time and parallel processor bounds for FORTRAN-like loops, IEEE Trans on Computers, C-28, pp 660–670 (1979).

    Google Scholar 

  5. U Banerjee, Speedup of Ordinary Programs, PhD Thesis, University of Urbana-Champaign (1979).

    Google Scholar 

  6. U Banerjee, Dependence Analysis for Supercomputing, Kluwer Ac Pub (1988).

    Google Scholar 

  7. U Banerjee, Loop Transformations for Restructuring Compilers; The Foundations, Kluwer Ac Pub (1993).

    Google Scholar 

  8. M Burke and R Cytron, Interprocedural dependence analysis and parallelisation, SIGPLAN Notices, 21, pp 162–175 (1986).

    Google Scholar 

  9. W L Cohagan, Vector optimisation for the ASC, In Proc of 7th Annual Princeton Conf on Information Sciences and Systems, Princeton Univ Press, pp 169–173 (1973).

    Google Scholar 

  10. D J Kuck, The Structure of Computers and Computation, Vol 1, Wiley (1978).

    Google Scholar 

  11. D J Kuck et al, Compiler transformations of dependence graphs, Proc of 8th ACM Symposium on Principals of Programming Languages, ACM Press, pp 207–218 (1981).

    Google Scholar 

  12. L Lampart, The parallel execution of DO loops, Comms of ACM, 17, pp 83–93 (1974).

    Google Scholar 

  13. M J Wolfe, Optimizing Supercompilers for Supercomputers, PhD Thesis, Univ of Illinois at Urban-Champaign (1982).

    Google Scholar 

  14. M J Wolfe and U Banerjee, Data dependence and its application to parallel processing, Int Jnl of Parallel Prog, 16, pp 137–178 (1987).

    Google Scholar 

  15. H P Zima et al, SUPERB — A tool for semi-automatic MIMD/SIMD parallelisation, Parallel Computing, 6, 1–18 (1988).

    Google Scholar 

  16. H P Zima and B Chapman, Supercompilers for Parallel and Vector Computers, Addison Wesley (1990).

    Google Scholar 

  17. S P Johnson, Mapping Numerical Software onto Distributed Memory Parallel Systems, PhD Thesis, University of Greenwich, London (1992).

    Google Scholar 

  18. M Cross et al, CAPTools: overview of an interactive toolkit for mapping FORTRAN codes onto parallel architectures, submitted for publication.

    Google Scholar 

  19. S P Johnson et al, CAPTools 2: Exploitation of symbolic information in interprocedural dependence analysis, submitted for publication.

    Google Scholar 

  20. S P Johnson et al, CAPTools 3: Code generation for message passing distributed memory systems, submitted for publication.

    Google Scholar 

  21. P F Leggett et al, CAPTools 4: User environment philosophy, submitted for publication.

    Google Scholar 

  22. C S Ierotheou et al, CAPTools 5: Parallelisation of structured mesh codes — Case studies, submitted for publication.

    Google Scholar 

  23. R A Frost, Introduction to Knowledge Based Systems, Collins (1986).

    Google Scholar 

  24. Pugh W. A Practical Algorithm For Exact Dependence Analysis. Communications Of The ACM, 15, 8, (1992).

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Bruno Buchberger Jens Volkert

Rights and permissions

Reprints and permissions

Copyright information

© 1994 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Johnson, S.P., Ierotheou, C.S., Cross, M., Leggett, P.F. (1994). User interaction and symbolic extensions to dependence analysis. In: Buchberger, B., Volkert, J. (eds) Parallel Processing: CONPAR 94 — VAPP VI. VAPP CONPAR 1994 1994. Lecture Notes in Computer Science, vol 854. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-58430-7_63

Download citation

  • DOI: https://doi.org/10.1007/3-540-58430-7_63

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-58430-8

  • Online ISBN: 978-3-540-48789-0

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics