skip to main content
The SUIF Compiler System: a Parallelizing and Optimizing Research CompilerMay 1994
1994 Technical Report
Publisher:
  • Stanford University
  • 408 Panama Mall, Suite 217
  • Stanford
  • CA
  • United States
Published:01 May 1994
Bibliometrics
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. The SUIF software is freely available via anonymous ftp from suif.Stanford.EDU. Additional information about SUIF can be found on the World-Wide Web at http://suif.Stanford.EDU.

Cited By

  1. ACM
    Farzan A and Nicolet V (2017). Synthesis of divide and conquer parallelism for loops, ACM SIGPLAN Notices, 52:6, (540-555), Online publication date: 14-Sep-2017.
  2. ACM
    Farzan A and Nicolet V Synthesis of divide and conquer parallelism for loops Proceedings of the 38th ACM SIGPLAN Conference on Programming Language Design and Implementation, (540-555)
  3. Lattuada M, Pilato C and Ferrandi F (2016). Performance Estimation of Task Graphs Based on Path Profiling, International Journal of Parallel Programming, 44:4, (735-771), Online publication date: 1-Aug-2016.
  4. ACM
    Zhang Y, Kandemir M and Yemliha T Studying inter-core data reuse in multicores Proceedings of the ACM SIGMETRICS joint international conference on Measurement and modeling of computer systems, (25-36)
  5. ACM
    Zhang Y, Kandemir M and Yemliha T (2011). Studying inter-core data reuse in multicores, ACM SIGMETRICS Performance Evaluation Review, 39:1, (25-36), Online publication date: 7-Jun-2011.
  6. Feautrier P and Gonnord L (2019). Accelerated Invariant Generation for C Programs with Aspic and C2fsm, Electronic Notes in Theoretical Computer Science (ENTCS), 267:2, (3-13), Online publication date: 1-Oct-2010.
  7. ACM
    Guo Y, Naser M and Moritz C PARE Proceedings of the 2005 international symposium on Low power electronics and design, (339-344)
  8. Carroll S and Polychronopoulos C (2018). A framework for incremental extensible compiler construction, International Journal of Parallel Programming, 32:4, (289-316), Online publication date: 1-Aug-2004.
  9. Guo Y, Chheda S, Koren I, Krishna C and Moritz C Energy-aware data prefetching for general-purpose programs Proceedings of the 4th international conference on Power-Aware Computer Systems, (78-94)
  10. ACM
    Carroll S and Polychronopoulos C A framework for incremental extensible compiler construction Proceedings of the 17th annual international conference on Supercomputing, (53-62)
  11. Guo Y, Chheda S and Moritz C Runtime biased pointer reuse analysis and its application to energy efficiency Proceedings of the Third international conference on Power - Aware Computer Systems, (1-12)
  12. Carroll S, Ko W, Yankelevsky M and Polychronopoulos C Optimizing compiler design for modularity and extensibility Proceedings of the 14th international conference on Languages and compilers for parallel computing, (1-17)
  13. Sudarsanam A, Malik S and Fujita M A retargetable compilation methodology for embedded digital signal processors using a machine-dependent code optimizaton library Readings in hardware/software co-design, (506-515)
  14. Ishizaki K, Komatsu H and Nakatani T (2019). A Loop Transformation Algorithm for Communication Overlapping, International Journal of Parallel Programming, 28:2, (135-154), Online publication date: 1-Apr-2000.
  15. ACM
    Raghavachari M and Rogers A Ace Proceedings of the sixth ACM SIGPLAN symposium on Principles and practice of parallel programming, (80-89)
  16. ACM
    Raghavachari M and Rogers A (1997). Ace, ACM SIGPLAN Notices, 32:7, (80-89), Online publication date: 1-Jul-1997.
  17. Yamauchi T, Hammond L and Olukotun K The Hierarchical Multi-Bank DRAM Proceedings of the 17th Conference on Advanced Research in VLSI (ARVLSI '97)
  18. ACM
    Zhang X, Wang Z, Gloy N, Chen J and Smith M (1997). System support for automatic profiling and optimization, ACM SIGOPS Operating Systems Review, 31:5, (15-26), Online publication date: 1-Dec-1997.
  19. ACM
    Zhang X, Wang Z, Gloy N, Chen J and Smith M System support for automatic profiling and optimization Proceedings of the sixteenth ACM symposium on Operating systems principles, (15-26)
  20. ACM
    Liao S, Devadas S, Keutzer K, Tjiang S and Wang A Storage assignment to decrease code size Proceedings of the ACM SIGPLAN 1995 conference on Programming language design and implementation, (186-195)
  21. ACM
    Liao S, Devadas S, Keutzer K, Tjiang S and Wang A (2019). Storage assignment to decrease code size, ACM SIGPLAN Notices, 30:6, (186-195), Online publication date: 1-Jun-1995.
Contributors
  • Stanford University
  • Stanford University
  • MIT Computer Science & Artificial Intelligence Laboratory
  • Hewlett-Packard Inc.
  • Synopsys Incorporated
  • The University of Utah
  • Stanford University
  • Stanford University

Recommendations