using a new approach that associates predicates with
array data-flow values.2 Instead of producing conserv-
Digital Technical Journal Vol . l O No. 1 1 998 7778
ative results that hold tor all control-How paths and all possi ble program i nputs, predicated array data-flow analysis can derive optimistic results guarded by predi cates. Predicated array data-flow anal ysis can lead to more dkctive automatic parallelization in three ways:
( l )
It i mproves compile-time ana.J ysis by ruling out infeasible control -flow paths. ( 2 ) It provides a frame work for the compiler to introduce pred icates that, i f proven true, would guar:mtee safety tor desirable data flow vaJues. ( 3) It enJbles the compiler to derive low-cost run-time parallelization tests based on the predicates associated with desirJble data-flow values.SUIF and Compaq's GEM Compiler
The GEM compiler system is the technology Compaq has been using to build compiler products for a variety of languages and hardware/software platforms.·1
W
ithi n Compaq, work bas been done to connect SUIF with the G EM compiler. S U IF's intermediate repre sentation was converted into GEM's i ntermediate rep resentation, s o that S U I F code can b e passed directly to GEM's optimizing back end. This el iminates theJoss of i nformation suftCred when SU
I
F code is trans lated to C/FORTRAN source bdore i t is passed toGEM. It also enables us to generate more efficient code for Alpha-microprocessor systems.
SUIF and the National Compiler Infrastructure
The SUIF compiler system was recently chosen to be part of the National Compiler I n frastrucnrre ( NCI) project funded by the
D
efense Advanced Research Projects Agency ( DARPA) and the National Science Foundation ( NSF). The goal of the project is to develop a com mon compiler p latform for researchers and to facilitate technology transfer to industry. TheFRONT ENDS
INTERPROCEDURAL ANALYSIS PARALLELIZATION LOCALITY OPTIM IZATIONS OBJECT-OR I E NTED OPTIM IZATIONS SCALAR OPTIMIZATIONS
SUlF component of the NCI project is the result oftl1e
collaboration among researchers in five universities
( Harvard University, Massachusetts I nstitute of
Technology, Rice U niversity, Stanford University,
University of Californ ia at Santa Barbara) and one industrial partner, Portland Group I nc . Compaq is a
corporate sponsor of the p roject and is providing the
FORTRAN front end .
A revised version of the S U I F i n frastructure (SUIF 2 .0 ) is being released as part of the S U I r: N C I project (a preliminary version of s u r r: 2 .0 is avai lable at the S UIF web site ) . The completed system will be enhanced to support parallel iz::�tion, intcrprocedu ral analysis, memory hierarchy optimizations, objected oriented programming, scalar optimizations, and machine-dependent optimiz:nions. An overview of the SUIF NCI system is shown in Figure A l . Sec
vvww-suif.stanford .cd u/suif/NCI/suif.html for more
information about SUIF and the NCI project, includ
ing a complete list of optimizations ;md a schedule. References
1 . B. So, S. Moon, and M. Hal l , "Measuring rhc Eftecrivc ness of Automatic Parallclization in S U I !:'," Proceedin;:;s of the Jnterr/{./ffonal Confaence on SupercomjJIItinp,
98, July 1998.
2 . S. Moon, J\11 . Hal l , and B. Murph1·, " Predicated Arr:1y Data-Flow Amlysis for Ru n-Time Para l lel ization," Pro
ceedings of the fntt!rncltiiJIIUI Umfim'IICe 011 Sllj)('rcom
puting 98, July 1998.
3 . D . Blickstei n c t a l . , "The GFM Optimizing Compilct
System," Digilcd h·cbn ical follmal. \'O I . 4, no. 4 (Speci:ll
Issue, 1 99 2 ) : 1 2 1-1 36 . CIC++ (I BM) SCHEDULING R E G I STER ALLOCATION TARGET LANGUAGES Figure A1
The S U ! F Compiler lntrJstrucwre
Biographies Mary W. Hall
Mary Hall is jointly a research assistant professor and project leader at the University of Southern California, Department of Computer Science and at USC's Information Sciences Institute, where she has been since 1996. Her research interests focus on compiler support for high-performance computing, particularly interprocedural analysis and auto
matic parallelization. She graduated magna cum laude with
a B.A . in computer science and mathematical sciences in 1985 and received an M.S. and a Ph.D . in computer science in 1 989 and 1 99 1 , respectively, all from Rice University. Prior w joining USC/lSI, she was a visiting assistant pro fessor and senior research tdlow in the Department of Computer Science at Caltech . In earlier positions, she was
a research scientist at Stanford University, working with
the SUIF Compiler group, and in the Center for Research on Parallel Computation at Rice University.
Jennifer M. Anderson
Jenniter Anderson is a research staff member at Compaq's Western Research Laboratory where she has worked on the
Digital Continuous Profiling Infrastructure ( DCPI ) proj ect. Her research interests include compiler algorithms, programming languages and environments, profiling sys tems, and parallel and distributed systems software. She earned a B .S. i n intormation and computer science from the University of California at I rvine and received M .S. and Ph. D . degrees i n computer science from Stanford University.
Saman P. Amarasinghe
Sa man Amarasinghe is an assistant professor of computer
science and engineering at the Massachusetts I nstitute of Technology and a member oftl1e Laborawry for Computer Science. His research interests include compilers and com puter architecture. He received a B .S. in electrical engineer ing and computer science from Cornell University and M.S. and Ph.D. degrees in electrical engineering from Stanford
University.
Brian R. Murphy
A doctoral canclidate in computer science at Stanford Uni versity, Brian Murphy is currently working on advanced pro gram analysis under SUIF as part of the National Compiler Infrastructure Project. He received a B .S. in computer sci ence and engineering and an M .S. in electrical engineering and computer science from the Massachusetts Institute of Technology. His master's thesis work on program analysis was carried out with the Functional Languages group at
the IBM Almaden Research Center. Brian was elected to me Tau Beta Pi and Eta Kappa Nu honor societies.
Shih-Wei Liao
Shih-Wei Liao is a doctoral candidate at the Stanford U niversity Computer Systems Laboratory. His research interests i nclude compiler algorithms and design, pro gramming environments, and computer architectures. He received a B .S. in computer science from National Taiwan University in 1 9 9 1 and an M.S. in electrical engineering from. Stanford U niversity in 1 994.
Edouard Bugnion
Ed Bugnion holds a Diplom in engineering from the Swiss Federal Institute ofTechnology ( ETH ), Zurich ( 1 994) and an M .S. from Stanford University ( 1 996 ), where h e i s a doctoral candidate i n computer science. His research inter ests include operating systems, computer architecture, and machine simulation. From 1 996 to 1 997, Ed was also a research consultant to Compaq's Western Research Laboratory. He is the recipient of a National Science Foundation Graduate Research Fellowship.
8 0
Monica S. Lam
Monica Lam is an associate professor i n the Computer Science Department at Stanford University. She leads the SUIF project, which is aimed at developing a common infrastructure to support research i n compilers for advanced languages and architectures. Her research inter ests are compilers and computer architecture. Monica earned a B.S. from the University of British Colu mbia in 1 980 and a Ph . D . in computer science fi·om Carnegie Mellon University in 1987. She received the National Science Foundation Young Investigator award in 1992.