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.
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- C. W. Fraser and D. R. Hanson. A Retargetable Compiler for ANSI C. SIGPLAN Notices, 26(10), Oct. 1991. Google ScholarDigital Library
- D. Gay, S. Feldman, M. Maimone, and N. Schryer. f2c. Available via [email protected].Google Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
Index Terms
- SUIF: an infrastructure for research on parallelizing and optimizing compilers
Recommendations
SUIF Explorer: an interactive and interprocedural parallelizer
The SUIF Explorer is an interactive parallelization tool that is more effective than previous systems in minimizing the number of lines of code that require programmer assistance. First, the interprocedural analyses in the SUIF system is successful in ...
SUIF Explorer: an interactive and interprocedural parallelizer
PPoPP '99: Proceedings of the seventh ACM SIGPLAN symposium on Principles and practice of parallel programmingThe SUIF Explorer is an interactive parallelization tool that is more effective than previous systems in minimizing the number of lines of code that require programmer assistance. First, the interprocedural analyses in the SUIF system is successful in ...
Comments