skip to main content
article
Free Access

SUIF: an infrastructure for research on parallelizing and optimizing compilers

Published:01 December 1994Publication History
Skip Abstract Section

Abstract

Compiler infrastructures that support experimental research are crucial to the advancement of high-performance computing. New compiler technology must be implemented and evaluated in the context of a complete compiler, but developing such an infrastructure requires a huge investment in time and resources. We have spent a number of years building the SUIF compiler into a powerful, flexible system, and we would now like to share the results of our efforts.SUIF consists of a small, clearly documented kernel and a toolkit of compiler passes built on top of the kernel. The kernel defines the intermediate representation, provides functions to access and manipulate the intermediate representation, and structures the interface between compiler passes. The toolkit currently includes C and Fortran front ends, a loop-level parallelism and locality optimizer, an optimizing MIPS back end, a set of compiler development tools, and support for instructional use.Although we do not expect SUIF to be suitable for everyone, we think it may be useful for many other researchers. We thus invite you to use SUIF and welcome your contributions to this infrastructure. Directions for obtaining the SUIF software are included at the end of this paper.

References

  1. S. P. Amarasinghe and M. S. Lam. Communication Optimization and Code Generation for Distributed Memory Machines. In Proceedings of the ACM SIGPLAN'93 Conference on Programming Language Design and Implementation, June 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. J. M. Anderson and M. S. Lam. Global Optimizations for Parallelism and Locality on Scalable Parallel Machines. In Proceedings of the ACM SIGPLAN'93 Conference on Programming Language Design and Implementation, June 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. C. W. Fraser and D. R. Hanson. A Retargetable Compiler for ANSI C. SIGPLAN Notices, 26(10), Oct. 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. D. Gay, S. Feldman, M. Maimone, and N. Schryer. f2c. Available via [email protected].Google ScholarGoogle Scholar
  5. M. W. Hall, J. Mellor-Crummey, A. Carle, and R. Rodriguez. FIAT: A Framework for Interprocedural Analysis and Transformation. In Proceedings of the Sixth Workshop on Languages and Compilers for Parallel Computing, Aug. 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. D. Lenoski, J. Laudon, T. Joe, D. Nakahira, L. Stevens, A. Gupta, and J. L. Hennessy. The DASH Prototype: Implementation and Performance. In Proceedings of the 19th Annual International Symposium on Computer Architecture, pages 92--103, May 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. D. E. Maydan, S. P. Amarasinghe, and M. S. Lam. Array Data Flow Analysis and its Use in Array Privatization. In Proceedings of the 20th Annual ACM Symposium on Principles of Programming Languages, Jan. 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. D. E. Maydan, J. L. Hennessy, and M. S. Lam. Efficient and Exact Data Dependence Analysis. In Proceedings of the ACM SIGPLAN'91 Conference on Programming Language Design and Implementation, pages 1--14, June 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. T. C. Mowry, M. S. Lam, and A. Gupta. Design and Evaluation of a Compiler Algorithm for Prefetching. In Proceedings of the Fifth International Conference on Architectural Support for Programming Languages and Operating Systems, pages 62--73, Oct. 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. M. D. Smith, M. A. Horowitz, and M. S. Lam. Efficient Superscalar Performance Through Boosting. In Proceedings of the Fifth International Conference on Architectural Support for Programming Languages and Operating Systems, pages 248--259, Oct. 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. S. W. K. Tjiang and J. L. Hennessy. Sharlit---A Tool for Building Optimizers. In Proceedings of the ACM SIGPLAN' 92 Conference on Programming Language Design and Implementation, pages 82--93, July 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. S. W. K. Tjiang, M. E. Wolf, M. S. Lam, K. Pieper, and J. L. Hennessy. Integrating Scalar Optimizations and Parallelization. In Proceedings of the Fourth International Workshop on Languages and Compilers for Parallel Computing, pages 137--151, Aug. 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. M. E. Wolf and M. S. Lam. A Data Locality Optimizing Algorithm. In Proceedings of the ACM SIGPLAN'91 Conference on Programming Language Design and Implementation, pages 30--44, June 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. M. E. Wolf and M. S. Lam. A Loop Transformation Theory and An Algorithm to Maximize Parallelism. IEEE Transactions on Parallel and Distributed Systems, pages 452--471, Oct. 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. SUIF: an infrastructure for research on parallelizing and optimizing compilers

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in

    Full Access

    • Published in

      cover image ACM SIGPLAN Notices
      ACM SIGPLAN Notices  Volume 29, Issue 12
      Dec. 1994
      109 pages
      ISSN:0362-1340
      EISSN:1558-1160
      DOI:10.1145/193209
      Issue’s Table of Contents

      Copyright © 1994 Authors

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 1 December 1994

      Check for updates

      Qualifiers

      • article

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader