34
Ken Kennedy John and Ann Doerr University Professor Department of Computer Science Rice University November 20, 2006 Born: August 12, 1945, Washington, DC Education: B.A., Rice University, 1967 (Mathematics, Summa Cum Laude) M.S., New York University, 1969 (Mathematics) Ph.D., New York University, 1971 (Computer Science) (Thesis advisors: Jacob T. Schwartz and John Cocke) Honors: Phi Beta Kappa, 1965 Hugh Scott Cameron Award for Service to Rice University, 1967 Woodrow Wilson National Fellow, 1967-68 National Science Foundation Graduate Fellow, 1968-71 New York University Founders Day Award for Academic Achievement, 1972 Jones College Service Award (Rice University), 1976 George R. Brown Award for Superior Teaching (Rice University), 1979 National Academy of Engineering, 1990 Fellow, American Association for the Advancement of Science, 1994 Fellow, Institute of Electrical and Electronics Engineers, 1994 Fellow, Association for Computing Machinery, 1995 W. Wallace McDowell Award for Contributions to Compiler Optimization and Leadership in Software Development for Parallel Computation, 1995 ACM SIGPLAN Programming Languages Achievement Award for a Significant and Lasting Contribution to the Field of Programming Languages, 1999 CRA Distinguished Service Award for Leadership of PITAC and the National Effort to Raise the Profile of Information Technology, 1999 Third Annual Seymour Cray HPCC Industry Recognition Award for the 1999 Ac- complishments of the President's Information Technology Advisory Committee (PI- TAC), 1999 Distinguished Alumnus Award, Rice University, 2002 Computerworld Honors 2004 Medal of Achievement for Rice University Center for High Performance Software Research (HiPerSoft) Finalist for a Computerworld 2004 21 st Century Achievement Award in the category of Science (for HiPerSoft) American Academy of Arts and Sciences, 2005

Ken Kennedy - Computer Science | School of Engineering |ken/kennedy-vita.pdf ·  · 2006-11-211989–2000 Director, Center for Research on Parallel Computation, ... National Research

Embed Size (px)

Citation preview

Ken Kennedy

John and Ann Doerr University Professor Department of Computer Science

Rice University

November 20, 2006 Born: August 12, 1945, Washington, DC Education: B.A., Rice University, 1967 (Mathematics, Summa Cum Laude) M.S., New York University, 1969 (Mathematics) Ph.D., New York University, 1971 (Computer Science) (Thesis advisors: Jacob T. Schwartz and John Cocke) Honors: • Phi Beta Kappa, 1965 • Hugh Scott Cameron Award for Service to Rice University, 1967 • Woodrow Wilson National Fellow, 1967-68 • National Science Foundation Graduate Fellow, 1968-71 • New York University Founders Day Award for Academic Achievement, 1972 • Jones College Service Award (Rice University), 1976 • George R. Brown Award for Superior Teaching (Rice University), 1979 • National Academy of Engineering, 1990 • Fellow, American Association for the Advancement of Science, 1994 • Fellow, Institute of Electrical and Electronics Engineers, 1994 • Fellow, Association for Computing Machinery, 1995 • W. Wallace McDowell Award for Contributions to Compiler Optimization

and Leadership in Software Development for Parallel Computation, 1995 • ACM SIGPLAN Programming Languages Achievement Award for a Significant and

Lasting Contribution to the Field of Programming Languages, 1999 • CRA Distinguished Service Award for Leadership of PITAC and the National Effort

to Raise the Profile of Information Technology, 1999 • Third Annual Seymour Cray HPCC Industry Recognition Award for the 1999 Ac-

complishments of the President's Information Technology Advisory Committee (PI-TAC), 1999

• Distinguished Alumnus Award, Rice University, 2002 • Computerworld Honors 2004 Medal of Achievement for Rice University Center for

High Performance Software Research (HiPerSoft) • Finalist for a Computerworld 2004 21st Century Achievement Award in the category

of Science (for HiPerSoft) • American Academy of Arts and Sciences, 2005

2

Faculty Positions: 1971–76 Assistant Professor, Department of Mathematical Sciences, Rice Univer-sity. 1976–80 Associate Professor, Department of Mathematical Sciences, Rice Univer-sity. 1980–84 Professor, Department of Mathematical Sciences, Rice University. 1982–84 Chair, Computer Science Program Committee, Rice University. 1984–88 Chair, Department of Computer Science, Rice University. 1985–97 Noah Harding Professor, Department of Computer Science, Rice Univer-sity. 1985–86 Visiting Professor, Department of Computer Science, Stanford University. 1986–92 Director, Computer and Information Technology Institute, Rice Univer-sity. 1989–2000 Director, Center for Research on Parallel Computation, Rice University. 1990–92 Chair, Department of Computer Science, Rice University. 1997– Distinguished Adjunct Professor, Computer Science Department, Univer-

sity of Houston. 1997– John and Ann Doerr Professor of Computational Engineering in the De-

partment of Computer Science at Rice University. 2000– Director, Center for High Performance Software Research, Rice Univer-sity. 2002– University Professor, Rice University. 2003– Co-Director, Gulf Coast Center for Computational Cancer Research, Rice

University and M. D. Anderson Cancer Center Non-Faculty Positions: 1974– Editorial Board, International Journal of Computer Mathematics. 1974–81 Vice President, R. M. Thrall and Associates, Incorporation. 1975–77 Member, National Science Foundation, Division of Computer Research,

Panel on Computer Science and Engineering Research (COSERS), Pro-gramming Languages and Implementation Sub-Area.

1975–76 Visiting Scientist, NASA Space Shuttle Program Lead Office. 1977– Visiting Staff Member, Computer Division, Los Alamos Scientific Labora-

tory. 1978–79 Sabbatical leave from Rice: Visiting Scientist, Department of Computer

Science, IBM Thomas J. Watson Research Center, Yorktown Heights, NY. 1979– Consultant, IBM Thomas J. Watson Research Center, Yorktown Heights,

NY. 1981–81 Member, Program Committee, ACM Principles of Programming Lan-

guages Conference. 1982–82 Member, Program Committee, ACM SIGPLAN National Conference. 1983–83 Chair, Program Committee, ACM Principles of Programming Languages

Conference. 1983–85 Member, ACM Software System Award Committee. 1984–85 Chair, ACM Software System Award Committee. 1984–85 Member, Program Committee, ACM SIGPLAN National Conference. 1984–86 Member, CSNET Executive Committee. 1984–88 Member, NSF Advisory Committee for Computer Research. 1984– Consultant, Los Alamos National Laboratory.

3

1985–87 Chair, NSF Advisory Committee for Computer Research. 1985– Consultant, Lawrence Livermore National Laboratory. 1986–91 Member, Board of the Computing Research Association. 1986–92 Section Editor for Languages and Programs, The Journal of Supercomput-

ing. 1986– Member, Board of Directors, Houston Society for the Performing Arts. 1987–94 Consultant, Convex Computer Corporation. 1987–97 Vice President (Artistic Advisory), Houston Society for the Performing

Arts. 1988– Editorial Board, Subject Area Editor in Program Transformations, Jour-

nal of Parallel and Distributed Computing. 1989– Editorial Board, Concurrency: Practice and Experience. 1989–94 Editorial Board, ACM Transactions on Software Engineering and Method-

ology. 1990–93 Member, Executive Committee, W. F. Keck Center for Computational Bi-

ology. 1990–94 External Advisory Board, Center for the Analysis and Prediction of

Storms. 1990– Member, Board of Directors, Tera Computer Corporation. (Now Cray,

Inc.) 1990– Consultant, Houston Venture Partners. 1991–91 Program Chair, Supercomputing '91. 1991–93 Member, Computer Science and Telecommunications Board, National

Research Council. 1991–92 Member, High Performance Computing and Communications Sub–Panel,

The President's Council of Advisors on Science and Technology. 1991–97 Chair, High Performance Fortran Forum. 1992–92 Conference Chair, International Conference on Supercomputing '92. 1993–96 Chair, Committee for the Workshop Series on High Performance Comput-

ing and Communications, Computer Science and Telecommunications Board, National Research Council.

1993–97 Member, Rice University Computational Engineering Building Campaign Committee.

1994–95 Vice Chair, Computer Science and Telecommunications Peer Committee, National Academy of Engineering.

1994–95 Member, Advisory Panel for Commercialization of Emerging Technologies, Office of Technology Assessment, U. S. Congress.

1994–98 Member, Board of Directors, Access Ware Inc. 1995 Chair, National Compiler Infrastructure Workshops, DARPA/NSF. 1995–96 Chair, Computer Science and Telecommunications Peer Committee Na-

tional Academy of Engineering. 1995–97 Member, Information, Science, and Technology Study Group—An Advi-

sory Committee to the Advanced Research Projects Agency. 1995–97 Member, Advisory Committee, National Science Foundation Computer

and Information Science and Engineering Directorate. 1995–97 Member, Commission on Physical Sciences, Mathematics, and Applica-

tions, National Research Council. 1996–98 Member, Committee on Membership, National Academy of Engineering. 1996–99 Editor in Chief, National High Performance Software Exchange (NHSE). 1997–99 Co-Chair, President's Information Technology Advisory Committee (Mem-

ber 1997–2001).

4

1998–2000 Member, Advisory Committee for the Hybrid Technology Multithreaded (HTMT) Computer Architecture for Petaflops Computing.

1998–98 Member, Program Committee, PPoPP '98: The Sixth ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming.

1999 Member, ACM Blue Ribbon Panel on Licensing Software Engineers. 1999– Member, Advisory Committee, Deep Computing Institute, IBM Thomas J.

Watson Research Center. 1999 Member, Program Committee, HUG '99: The 3rd Annual HPF User Group

Meeting. 1999–99 Chair, Awards Committee, Supercomputing '99. 2000–01 Member, Program Committee, International Conference on Supercomput-

ing 2002. 2001–03 Member, Advisory Board, Advanced Reality, Inc. 2001–03 Member, Advisory Board, Georgia Tech College of Computing. 2002– Member, Technical Advisory Board, Catalytic Compilers. 2002–03 Chair, Division Review Committee, Computer and Computational Sci-

ences Division at Los Alamos National Laboratory. 2002– Member, Division Review Committee, Computer and Computational Sci-

ences Division at Los Alamos National Laboratory. 2002– Member, Board of Directors, The Telecom Opportunity Institute. 2002– Member, Advisory Committee, Tapia 2003 Conference. 2002– Member, Advisory Team, TeraGrid project. 2002 Member, External Review Committee, University of Texas, Computer Sci-

ence Department. Professional Societies:

Association for Computing Machinery (Fellow) Society for Industrial and Applied Mathematics Institute of Electrical and Electronic Engineers (Fellow) Sigma Xi American Association for the Advancement of Science (Fellow) National Academy of Engineering American Academy of Arts and Sciences

Ph.D. Dissertations Directed: 1. Scott K. Warren, “The Coroutine Model of Attribute Grammar Evaluation,” Depart-

ment of Mathematical Sciences, Rice University, 1976. 2. Rodney Farrow, “Attribute Grammar Models for Data-Flow Analysis,” Department

of Mathematical Sciences, Rice University, 1977. 3. Jayashree Ramanathan, “Global Data Flow Algorithms and Their Implementa-

tions,” Department of Mathematical Sciences, Rice University, 1977. 4. Linda Zucconi, “A Graph Grammatical Approach to Compiler Optimization,” De-

partment of Electrical Engineering, Rice University, 1977.

5

5. Thomas E. Shields, “Syntax Directed Error Analysis in Automatically Constructed Parsers,” Department of Mathematical Sciences, Rice University, 1978.

6. Scott C. Marks, “Optimization of Functional Programs” (with R. S. Cartwright and

S. K. Warren), Department of Mathematical Sciences, Rice University, 1982. 7. Khalid O. Thabit, “Cache Management by the Compiler,” Department of Mathe-

matical Sciences, Rice University, 1982. 8. John Randal Allen, “Dependence Analysis for Subscripted Variables and Its Appli-

cation to Program Transformations,” Department of Mathematical Sciences, Rice University, 1983.

9. Keith D. Cooper, “Interprocedural Data Flow Analysis in a Programming Environ-

ment,” Department of Mathematical Sciences, Rice University, 1983. 10. F. Kenneth Zadeck, “Incremental Data Flow Analysis in a Structured Program Edi-

tor,” Department of Mathematical Sciences, Rice University, 1983. 11. Linda M. Torczon, “Compilation Dependences in an Ambitious Optimizing Com-

piler,” Department of Computer Science, Rice University, 1985. 12. Hausi A. Muller, “Rigi —A Model for Software System Construction, Integration,

and Evolution Based on Module Interface Specifications” (with R. T. Hood), De-partment of Computer Science, Rice University, 1986.

13. David Callahan, “A Global Approach to the Detection of Parallelism,” Department of

Computer Science, Rice University, 1987. 14. David Chase, “Garbage Collection and Other Optimizations,” Department of Com-

puter Science, Rice University, 1988. 15. Allan Porterfield, “Software Methods for Improving Cache Performance on

Supercomputer Applications,” Department of Computer Science, Rice University, 1989.

16. Vasanth Balasundaram, “Interactive Parallelization of Numerical Scientific Pro-

grams,” Department of Computer Science, Rice University, 1989. 17. Carl Rosene, “Incremental Dependence Analysis,” Department of Computer Sci-

ence, Rice University, 1990. 18. Jaspal Subhlok, “Analysis of Synchronization in a Parallel Programming Environ-

ment,” Department of Computer Science, Rice University, 1990. 19. Mary Wolcott Hall, “Managing Interprocedural Optimization,” Department of Com-

puter Science, Rice University, 1991. 20. Kathryn S. McKinley, “Automatic and Interactive Parallelization,” Department of

Computer Science, Rice University, 1992.

6

21. Steve Carr, “Memory-Hierarchy Management,” Department of Computer Science, Rice University, 1992.

22. C. W. Tseng, “An Optimizing Fortran D Compiler for MIMD Distributed-Memory

Machines,” Department of Computer Science, Rice University, 1992. 23. Paul Havlak, “Interprocedural Symbolic Analysis,” Department of Computer Sci-

ence, Rice University, 1995. 24. Reinhard von Hanxleden, “Compiler Support for Machine Independent Paralleliza-

tion of Irregular Problems,” Department of Computer Science, Rice University, 1995.

25. Lorie M. Liebrock, “Using Problem Topology in Parallelization,” Department of Com-

puter Science, Rice University, 1995. 26. Douglas M. Monk, “An Empirical Evaluation of Dependence Analysis in Parallel

Program Comprehension,” Department of Computer Science, Rice University, 1995. 27. Ulrich Kremer, “Automatic Data Layout for Distributed Memory Machines,” De-

partment of Computer Science, Rice University, 1995. 28. Ajay Sethi, “Communication Generation for Data-Parallel Languages,” Department

of Computer Science, Rice University, 1997. 29. Ervan Darnell, “Cache Coherence Using Local Knowledge,” Department of Com-

puter Science, Rice University, 1997. 30. Gina Goff, “Practical Techniques to Augment Dependence Analysis in the Presence

of Symbolic Terms,” Department of Computer Science, Rice University, 1997. 31. Gerald H. Roth, “Optimizing Fortran 90D/HPF for Distributed-Memory

Computers,” Department of Computer Science, Rice University, 1997. 32. Nathaniel McIntosh, “Compiler Support for Software Prefetching,” Department of

Computer Science, Rice University, 1998. 33. Chen Ding, “Improving Effective Bandwidth through Compiler Enhancement of

Global and Dynamic Cache Reuse,” Department of Computer Science, Rice Univer-sity, January 2000 (Honorable Mention Dissertation Award, Rice University-Texas Medical Center of Sigma Xi outstanding dissertation competition in the Physical Sciences/Engineering category).

34. Zoran Budimlic, “Compiling Java for High Performance and the Internet,” Depart-

ment of Computer Science, January 2001. 35. Qing Yi, “Transforming Complex Loop Nests for Locality,” Department of Computer

Science, Rice University, May 2002. 36. Arun Chauhan, “Telescoping Matlab for DSP Applications,” Department of Com-

puter Science, Rice University, July 2003.

7

37. Anirban Mandal, “Toward a Tool for Scheduling Application Workflows onto Dis-tributed Grid Systems,” Department of Computer Science, Rice University, May 2006.

38. Yuan Zhao, “Array Syntax Compilation and Performance Tuning,” Department of

Computer Science, Rice University, September 2006 Masters Theses Directed: 1. Ankur R. Hajare, “Implementation of Set-Theoretic Languages on Computers with

Tagged Architectures,” Department of Electrical Engineering, Rice University, 1975.

2. Scott K. Warren, “Efficient Evaluation of Attribute Grammars,” Department of Mathematical Sciences, Rice University, 1975.

3. Robert E. Bruce, “Incremental Compilation and Code Generation,” Department of

Electrical Engineering, Rice University, 1980.

4. Hariklia Tsalapatas, “Interprocedural Array Side Effects Analysis,” Department of Computer Science, Rice University, 1993.

5. Anirban Mandal, “Mapping HPF onto the Grid,” Department of Computer Science,

Rice University, 2002. 6. Cheryl McCosh, “Type-Based Specialization in a Telescoping Compiler for Matlab,”

Department of Computer Science, Rice University, 2002. 7. Mackale Joyner, “Improving Object Inlining for High-Performance Java Scientific

Applications” (joint with Zoran Budimlic), Department of Computer Science, Rice University, 2005

8. Rui Zhang, “Performance Modeling and Prediction for Scientific Java Applications”

(joint with Zoran Budimlic), Department of Computer Science, Rice University, 2006

Book:

Optimizing Compilers for Modern Architectures (with Randy Allen), Morgan-Kaufmann Publishers, San Francisco, 2002. Chinese edition: 2004, Second print-ing: 2005.

Book Edited:

Sourcebook of Parallel Computing (with Jack Dongarra, Ian Foster, Geoffrey Fox, William Gropp, Linda Torczon, and Andy White), Morgan Kaufmann Publishers, San Francisco, 2003.

8

Patent:

Digital Computer Register Allocation and Code Spilling Using Interference Graph Coloring (with P. Briggs, K. D. Cooper, and L. Torczon), (Serial Number: 08/027,937).

Papers and Book Chapters: 1. “A Global Flow Analysis Algorithm,” International Journal of Computer Mathemat-

ics, Gordon and Breach, Section A, Volume 3, (1971), pages 5–15. 2. “Index Register Allocation in Straight Line Code and Simple Loops,” Design and

Optimization of Compilers (R. Rustin, editor), Prentice-Hall, Englewood Cliffs, NJ, (1972), pages 51–63.

3. “Safety of Code Motion,” International Journal of Computer Mathematics, Gordon

and Breach, Section A, Volume 3, (1972), pages 117–130. 4. “Review of A Mathematical Theory of Global Program Optimization by M. Schaefer,”

SIAM Review, Volume 16, Number 4, (October 1974), pages 565–566. 5. “An Introduction to the Set-Theoretic Language SETL” (with J. Schwartz), Com-

puters and Mathematics with Applications, Permagon Press, Volume 1, (1975), pages 97-119.

6. “Node Listings Applied to Data Flow Analysis,” Conference Record of the Second

ACM Symposium on Principles of Programming Languages, Palo Alto, CA, (Janu-ary 1975), pages 10–21.

7. “Profitability Computations on Program Flow Graphs” (with J. Cocke), Computers

and Mathematics with Applications, Pergamon Press, Volume 2, (1976), pages 145–159.

8. “PLANET: A Simulation Approach to PERT” (with R. Thrall), Computers and Op-

erations Research, Pergamon Press, Volume 3, Number 4, (1976), pages 313–325.

9. “Automatic Generation of Efficient Evaluators for Attribute Grammars” (with S.

K. Warren), Conference Record of the Third ACM Symposium on Principles of Pro-gramming Languages, Atlanta, GA, (January 1976), pages 32–49.

10. “A Comparison of Two Algorithms for Global Data Flow Analysis,” SIAM Journal

on Computing, Volume 5, Number 1, (March 1976), pages 158–180. 11. “Graph Grammars and Global Program Data Flow Analysis” (with R. Farrow and

L. Zucconi), Seventeenth Annual Symposium on Foundations of Computer Science, Houston, TX, (October 1976), pages 42–56.

12. “Applications of a Graph Grammar for Program Control Flow Analysis” (with L.

Zucconi), Conference Record of the Fourth ACM Symposium on Principles of Pro-gramming Languages, Los Angeles, CA, (January 1977), pages 72–85.

9

13. “An Algorithm for Reduction of Operator Strength” (with J. Cocke), Communica-

tions of the ACM, Volume 20, Number 11, (November 1977), pages 850–856. 14. “Use-Definition Chains with Applications,” Journal of Computer Languages, Vol-

ume 3, Number 3, (1978), pages 163–179. 15. “A Survey of Compiler Optimization Techniques,” Le Point sur la Compilation (M.

Amirchahy and N. Ne'l, editors), INRIA, Le Chesnay, France, (1978), pages 115–161.

16. “Optimization of Vector Operations in an Extended Fortran Compiler,” Proceed-

ings of the 1978 LASL Workshop on Vector and Parallel Processors, Los Alamos, NM, (September 1978), pages 238–251.

17. “A Deterministic Attribute Grammar Evaluator Based on Dynamic Sequencing”

(with J. Ramanathan), ACM Transactions on Programming Languages and Sys-tems, Volume 1, Number 1, (July 1979), pages 142–160.

18. “The Early Development of Programming in the USSR” (English version with A.

Ershov and M. Shura-Bura), A History of Computing in the Twentieth Century (N. Metropolis, J. Howlett, and G. C. Rota, editors), Academic Press, New York, (1980), pages 137–196.

19. “Vector Mode Computation” (with J. Huang and A. Liles, Jr.), IBM Technical Dis-

closure Bulletin, Volume 23, Number 5, (October 1980), pages 2171–2172. 20. “A Survey of Data Flow Analysis Techniques,” Program Flow Analysis: Theory and

Applications (N. D. Jones and S. S. Muchnick, editors), Prentice-Hall, Englewood Cliffs, NJ, (1981), pages 5–54.

21. “Reduction of Operator Strength” (with F. Allen and J. Cocke), Program Flow

Analysis: Theory and Applications (N. D. Jones and S. S. Muchnick, editors), Prentice-Hall, Englewood Cliffs, NJ, (1981), pages 79–101.

22. “Pathlistings Applied to Data Flow Analysis” (with J. Ramanathan), Acta Infor-

matica, Volume 16, Facsimile 3, (1981), pages 253–273. 23. “Conversion of Control Dependence to Data Dependence” (with J. R. Allen, C.

Porterfield, and J. Warren), Conference Record of the Tenth Annual ACM Sympo-sium on Principles of Programming Languages, Austin, TX, (January 1983), pages 177–189.

24. “Automatic Loop Interchange” (with J. R. Allen), Proceedings of the SIGPLAN `84

Symposium on Compiler Construction, SIGPLAN Notices, Volume 19, Number 6, (June 1984), pages 233–246.

25. “Efficient Computation of Flow-Insensitive Interprocedural Summary Informa-

tion” (with K. D. Cooper), Proceedings of the SIGPLAN `84 Symposium on Compiler Construction, SIGPLAN Notices, Volume 19, Number 6, (June 1984), pages 247–258.

10

26. “Efficient Computation of Flow-Insensitive Interprocedural Summary Informa-tion—A Correction” (with K. D. Cooper), SIGPLAN Notices, Volume 23, Number 4, (April 1988), pages 35–42.

27. “PFC: A Program to Convert Fortran to Parallel Form” (with J. R. Allen),

Supercomputers: Design and Applications (K. Hwang, editor), IEEE Computer So-ciety Press, (August 1984), pages 186–203.

28. “A Programming Environment for Fortran” (with R. T. Hood), Proceedings of the

Eighteenth Hawaii International Conference on System Sciences, Western Periodi-cals, North Hollywood, CA, Volume II (Software), (January, 1985), pages 625–637.

29. “A Parallel Programming Environment” (with J. R. Allen), IEEE Software, Volume

2, Number 4, (July 1985), pages 21–29. 30. “The Impact of Interprocedural Analysis and Optimization on the Design of a

Software Development Environment” (with K. D. Cooper and L. Torczon), Pro-ceedings of the SIGPLAN `85 Symposium on Language Issues in Programming En-vironments, SIGPLAN Notices, Volume 20, Number 7, (July 1985), pages 107–116.

31. “Programming Language Support for Supercomputers” (with R. T. Hood), Fron-

tiers of Supercomputing (N. Metropolis, D. Sharp, W. Worlton, and K. Ames, edi-tors), University of California Press, Berkeley, CA, (1986), pages 282–311.

32. “Programming Environments for Supercomputers” (with J. R. Allen), Supercom-

puters: Algorithms, Architectures, and Scientific Computation (F. Matsen and T. Ta-jima, editors), University of Texas Press, Austin, TX, (1986), pages 19–38.

33. “PTOOL: A Semi-Automatic Parallel Programming Assistant” (with J. R. Allen, D.

Baumgartner, and A. Porterfield), Proceedings of the 1986 International Confer-ence on Parallel Processing, IEEE Computer Society Press, Washington, D.C., (1986), pages 164–170.

34. “Optimization of Compiled Code in the Programming Environment” (with K. D.

Cooper and L. Torczon), Proceedings of the Nineteenth Hawaii International Con-ference on System Sciences, Western Periodicals, North Hollywood, CA, Volume II (Software), (January 1986), pages 492–502.

35. “Interprocedural Optimization: Eliminating Unnecessary Recompilation” (with K.

D. Cooper and L. Torczon), Proceedings of the SIGPLAN `86 Symposium on Com-piler Construction, SIGPLAN Notices, Volume 21, Number 7, (July 1986), pages 58–67.

36. “Interprocedural Constant Propagation” (with D. Callahan, K. D. Cooper, and L.

Torczon), Proceedings of the SIGPLAN `86 Symposium on Compiler Construction, SIGPLAN Notices, Volume 21, Number 7, (July 1986), pages 152–161.

37. “The Impact of Interprocedural Analysis and Optimization in the Programming

Environment” (with K. D. Cooper and L. Torczon), ACM Transactions on Pro-

11

gramming Languages and Systems, Volume 8, Number 4, (October 1986), pages 491–523.

38. “Editing and Compiling Whole Programs” (with K. D. Cooper, L. Torczon, A.

Weingarten, and M. Wolcott), Proceedings of the ACM SIGSOFT/SIGPLAN Sympo-sium on Practical Software Development Environments, SIGPLAN Notices, Volume 22, Number 1, (January 1987), pages 92–101.

39. “Efficient Recompilation of Module Interfaces in a Software Development Envi-

ronment” (with R. T. Hood and H. Muller), Proceedings of the ACM SIG-SOFT/SIGPLAN Symposium on Practical Software Development Environments, SIGPLAN Notices, Volume 22, Number 1, (January 1987), pages 180–189.

40. “Automatic Decomposition of Scientific Programs for Parallel Execution” (with J.

R. Allen and D. Callahan), Conference Record of the Fourteenth Annual Sympo-sium on Principles of Programming Languages, Munich, Germany, (January 1987), pages 63–76.

41. “Parallel Programming Support in ParaScope” (with D. Callahan, K. D. Cooper,

R. T. Hood, L. Torczon, and S. K. Warren), Parallel Computing in Science and En-gineering (R. Dierstein, D. Muller-Wichards, and H. Wacker, editors), Lecture Notes in Computer Science 295, Springer-Verlag, Berlin, (June 1987), pages 91–106.

42. “Automatic Translation of Fortran Programs to Vector Form” (with J. R. Allen),

ACM Transactions on Programming Languages and Systems, Volume 9, Number 4, (October 1987), pages 491–542.

43. “A Practical Environment for Scientific Programming” (with A. Carle, K. D. Coo-

per, R. T. Hood, L. Torczon, and S. K. Warren), IEEE Computer, Volume 20, Number 11, (November 1987), pages 75–89.

44. “Analysis of Interprocedural Side Effects in a Parallel Programming Environ-

ment” (with D. Callahan), Journal of Parallel and Distributed Computing, Volume 5, (1988), pages 517–550.

45. “Interprocedural Side-Effect Analysis in Linear Time” (with K. D. Cooper),

Proceedings of the SIGPLAN `88 Conference on Programming Language Design and Implementation, SIGPLAN Notices, Volume 23, Number 7, (July 1988), pages 57–66.

46. “Estimating Interlock and Improving Balance for Pipelined Machines” (with D.

Callahan and J. Cocke), Journal of Parallel and Distributed Computing, Volume 5, Number 4, (August 1988), pages 334–358.

47. “Compiling Programs for Distributed-Memory Multiprocessors” (with D. Calla-

han), Journal of Supercomputing, Volume 2, Number 2, (October 1988), pages 151–169.

48. “ParaScope: A Parallel Programming Environment” (with D. Callahan, K. D. Coo-

per, R. T. Hood, and L. Torczon), The International Journal of Supercomputer Ap-plications, Volume 2, Number 4, (December 1988), pages 84–99.

12

49. “Performance of Parallel Processors” (with H. Flatt), Parallel Computing, Volume

12, Number 1, (October 1989), pages 1–20. 50. “The ParaScope Editor: An Interactive Parallel Programming Tool” (with V. Ba-

lasundaram, U. Kremer, K. McKinley, and J. Subhlok), Proceedings: Supercom-puting `89, Reno, NV, (November 1989), pages 540–550.

51. “Fast Interprocedural Alias Analysis” (with K. D. Cooper), Conference Record of

the Sixteenth Annual ACM SIGACT/SIGPLAN Symposium on Principles of Pro-gramming Languages, Austin, TX, (January 1989), pages 49–59.

52. “Virtual Shared Memory for Distributed-Memory Machines” (with H. Zima), Pro-

ceedings of the Fourth Conference on Hypercubes, Concurrent Computers, and Ap-plications, Monterey, CA, (March 1989), pages 361–366.

53. “Compile-Time Detection of Race Conditions in a Parallel Program” (with V. Ba-

lasundaram), Proceedings of the 1989 ACM International Conference on Supercomputing, Crete, Greece, (June 1989), pages 175–185.

54. “A Technique for Summarizing Data Access and Its Use in Parallelism-

Enhancing Transformations” (with V. Balasundaram), Proceedings of the SIG-PLAN `89 Conference on Programming Language Design and Implementation, SIG-PLAN Notices, Volume 24, Number 7, (July 1989), pages 41–53.

55. “Coloring Heuristics for Register Allocation” (with P. Briggs, K. D. Cooper, and L.

Torczon), Proceedings of the SIGPLAN `89 Conference on Programming Language Design and Implementation, SIGPLAN Notices, Volume 24, Number 7, (July 1989), pages 275–284.

56. “Blocking Linear Algebra Codes for Memory Hierarchies” (with S. Carr), Proceed-

ings of the Fourth SIAM Conference on Parallel Processing for Scientific Computing, Chicago, IL, (December 1989), pages 400–405.

57. “Experience with Interprocedural Analysis of Array Side Effects” (with P. Havlak),

IEEE Transactions on Parallel and Distributed Systems, Volume 2, Number 3, (1990).

58. “Analyzing and Visualizing Performance of Memory Hierarchies” (with D. Calla-

han and A. Porterfield), Performance Instrumentation and Visualization (M. Sim-mons and R. Koskela, editors), ACM Press, Frontier Series, New York, (1990), pages 1–26.

59. “Analysis of Event Synchronization in a Parallel Programming Tool,” (with D.

Callahan and J. Subhlok), Proceedings of the Second ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, SIGPLAN Notices, Volume 25, Number 3, (March 1990), pages 21–30.

60. “An Interactive Environment for Data Partitioning and Distribution” (with V. Ba-

lasundaram, G. Fox, and U. Kremer), Proceedings of the Fifth Distributed-Memory Computing Conference, Volume II (Architecture, Software Tools, and Other Gen-eral Issues), Charleston, SC, (April 1990), pages 1160–1170.

13

61. “Constructing the Procedure Call Multigraph” (with D. Callahan, A. Carle, and

M. W. Hall), IEEE Transactions on Software Engineering, Volume 16, Number 4, (April 1990), pages 483–487.

62. “Improving Register Allocation for Subscripted Variables” (with D. Callahan and

S. Carr), Proceedings of the ACM SIGPLAN `90 Conference on Programming Lan-guage Design and Implementation, SIGPLAN Notices, Volume 25, Number 6, (June 1990), pages 53–65.

63. “Parallel Program Debugging with On-the-Fly Anomaly Detection” (with R. T.

Hood and J. Mellor-Crummey), Proceedings: Supercomputing `90, New York, NY, (November 1990), pages 74–81.

64. “Loop Distribution with Arbitrary Control Flow” (with K. McKinley), Proceedings:

Supercomputing `90, New York, NY, (November 1990), pages 407–416. 65. “Compiling Scientific Code for Complex Memory Hierarchies” (with S. Carr), Pro-

ceedings of the Twenty-Fourth Annual Hawaii International Conference on System Sciences, Volume I (Architectures and Engineering Technologies), IEEE Com-puter Society Press, Los Alamitos, CA, (January 1991), pages 536–544.

66. “Software Prefetching” (with D. Callahan and A. Porterfield), Proceedings of the

Fourth International Conference on Architectural Support for Programming Lan-guages and Operating Systems, SIGPLAN Notices, Volume 26, Number 4, (April 1991), pages 40–52.

67. “Analysis and Transformation in the ParaScope Editor” (with K. McKinley and C.

W. Tseng), Proceedings of the 1991 ACM International Conference on Supercom-puting, Cologne, Germany, (June 1991), pages 433–447.

68. “Practical Dependence Testing” (with G. Goff and C. W. Tseng), Proceedings of the

SIGPLAN `91 Conference on Programming Language Design and Implementation, SIGPLAN Notices, Volume 26, Number 6, (June 1991), pages 15–29.

69. “A Static Performance Estimator to Guide Data Partitioning Decisions” (with V.

Balasundaram, G. Fox, and U. Kremer), Proceedings of the Third ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, SIGPLAN Notices, Volume 26, Number 7, (July 1991), pages 213–223.

70. “An Implementation of Interprocedural Bounded Regular Section Analysis” (with

P. Havlak), IEEE Transactions on Parallel and Distributed Systems, Volume 2, Number 3, (July 1991), pages 350-360.

71. “Interactive Parallel Programming Using the ParaScope Editor” (with K. McKinley

and C. W. Tseng), IEEE Transactions on Parallel and Distributed Systems, Volume 2, Number 3, (July 1991), pages 329–341.

72. “Interprocedural Transformations for Parallel Code Generation” (with M. W. Hall

and K. McKinley), Proceedings: Supercomputing `91, Albuquerque, NM, (Novem-ber 1991), pages 424–434.

14

73. “Compiler Optimizations for Fortran D on MIMD Distributed-Memory Machines” (with S. Hiranandani and C. W. Tseng), Proceedings: Supercomputing `91, Albu-querque, NM, (November 1991), pages 86–100.

74. “An Overview of the Fortran D Programming System” (with S. Hiranandani, C.

Koelbel, U. Kremer, and C. W. Tseng), Languages and Compilers for Parallel Com-puting (U. Banerjee, D. Gelernter, A. Nicolau, and D. Padua, editors), Lecture Notes in Computer Science 589, Springer-Verlag, Berlin, (1992), pages 18–34.

75. “A Static Performance Estimator in the Fortran D Programming System” (with V.

Balasundaram, G. Fox, and U. Kremer), Languages, Compilers, and Run-Time Environments for Distributed-Memory Machines (J. Saltz and P. Mehrotra, edi-tors), North-Holland, Amsterdam, The Netherlands, (1992), pages 119–138.

76. “Compiler Support for Machine-Independent Parallel Programming in Fortran D”

(with S. Hiranandani and C. W. Tseng), Languages, Compilers, and Run-Time Environments for Distributed-Memory Machines (J. Saltz and P. Mehrotra, editors), North-Holland, Amsterdam, The Netherlands, (1992), pages 139–176.

77. “Procedure Cloning” (with K. D. Cooper and M. W. Hall), Proceedings of the 1992

International Conference on Computer Languages, Oakland, CA, (April 1992), pages 96–105.

78. “Evaluating Parallel Languages for Molecular Dynamics Computations” (with T.

Clark, R. von Hanxleden, C. Koelbel, and L. Scott), Proceedings of the 1992 Scal-able High Performance Computing Conference, IEEE Computer Society Press, Wil-liamsburg, VA, (April 1992), pages 98–105.

79. “Software Support for Irregular and Loosely Synchronous Problems” (with A.

Choudhary, G. Fox, S. Hiranandani, C. Koelbel, S. Ranka, and J. Saltz), Comput-ing Systems in Engineering, Volume 3, Numbers 1–4, (June 1992), pages 43–52.

80. “Relaxing SIMD Control Flow Constraints Using Loop Transformations” (with R.

von Hanxleden), Proceedings of the SIGPLAN `92 Conference on Programming Lan-guage Design and Implementation, SIGPLAN Notices, Volume 27, Number 7, (July 1992), pages 188–199.

81. “Evaluation of Compiler Optimizations for Fortran D on MIMD Distributed-

Memory Machines” (with S. Hiranandani and C. W. Tseng), Proceedings of the ACM 1992 International Conference on Supercomputing, Washington, D.C., (July 1992), pages 1–14.

82. “Optimizing for Parallelism and Data Locality” (with K. McKinley), Proceedings of

the 1992 ACM International Conference on Supercomputing, Washington, D.C., (July 1992), pages 323–334.

83. “Automatic Software Cache Coherence through Vectorization” (with E. Darnell

and J. Mellor-Crummey), Proceedings of the 1992 ACM International Conference on Supercomputing, Washington, D.C., (July 1992), pages 129–138.

15

84. “Compiling Fortran D for MIMD Distributed-Memory Machines” (with S. Hi-ranandani and C. W. Tseng), Communications of the ACM, Volume 35, Number 8, (August 1992), pages 66–80.

85. “Efficient Call Graph Analysis” (with M. W. Hall), ACM Letters on Programming

Languages and Systems, Volume 1, Number 3, (September 1992), pages 227–242.

86. “Vector Register Allocation” (with J. R. Allen), IEEE Transactions on Computers,

Volume 41, Number 10, (October 1992), pages 1290–1317. 87. “Compiling Fortran 77D and 90D for MIMD Distributed-Memory Machines” (with

A. Choudhary, G. Fox, S. Hiranandani, C. Koelbel, S. Ranka, and C. W. Tseng), Communications of the ACM, Volume 35, Number 8, (October 1992), pages 66–80.

88. “Compiler Blockability of Numerical Algorithms” (with S. Carr), Proceedings:

Supercomputing `92, Minneapolis, MN, (November 1992), pages 114–124. 89. “Interprocedural Compilation of Fortran D for MIMD Distributed-Memory Ma-

chines” (with M. W. Hall, S. Hiranandani, and C. W. Tseng), Proceedings: Supercomputing `92, Minneapolis, MN, (November 1992), pages 522–534.

90. “Compiler Analysis for Irregular Problems in Fortran D” (with R. Das, R. von

Hanxleden, C. Koelbel, and J. Saltz), Proceedings of the Fifth Workshop on Lan-guages and Compilers for Parallel Computing, New Haven, CT, (revised January 1993), pages 97–111.

91. “The ParaScope Parallel Programming Environment” (with K. D. Cooper, M. W.

Hall, R. T. Hood, K. McKinley, J. Mellor-Crummey, L. Torczon, and S. K. War-ren), Proceedings of the IEEE, Volume 81, Number 2, (February 1993), pages 244–263.

92. “Unified Compilation of Fortran 77D and 90D” (with A. Choudhary, G. Fox, S.

Hiranandani, C. Koelbel, S. Ranka, and C. W. Tseng), ACM Letters on Program-ming Languages and Systems, Volume 2, Numbers 1-4, (March-December 1993), pages 95–114.

93. “A Methodology for Procedure Cloning” (with K. D. Cooper and M. W. Hall), Com-

puter Languages, Volume 19, Number 2, (April 1993), pages 105–117. 94. “Experiences Using the ParaScope Editor: An Interactive Parallel Programming

Tool” (with M. W. Hall, T. Harvey, N. McIntosh, K. McKinley, J. Oldham, M. Paleczny, and G. Roth), Proceedings of the Fourth ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, San Diego, CA, (May 1993), pages 33–43.

95. “Analysis and Transformation in an Interactive Parallel Programming Tool” (with

K. McKinley and C. W. Tseng), Concurrency: Practice and Experience, Volume 5, Number 7, (October 1993), pages 575–602.

16

96. “Preliminary Experiences with the Fortran D Compiler” (with S. Hiranandani and C. W. Tseng), Proceedings: Supercomputing `93, Portland, OR, (November 1993), pages 338–350.

97. “Cache Coherence Using Local Knowledge,” (with E. Darnell), Proceedings:

Supercomputing `93, Portland, OR, (November 1993), pages 720–729. 98. “Maximizing Loop Parallelism and Improving Data Locality via Loop Fusion and

Distribution” (with K. McKinley), Languages and Compilers for Parallel Comput-ing, (U. Banerjee, D. Gelernter, A. Nicolau, and D. Padua, editors), Lecture Notes in Computer Science, Number 768, Springer-Verlag, Berlin, (1993), pages 301–320.

99. “Automatic Data Layout for Distributed-Memory Machines in the D Program-

ming Environment” (with A. Carle, U. Kremer, and J. Mellor-Crummey), Auto-matic Parallelization—New Approaches to Code Generation, Data Distribution, and Performance Prediction, Wiesbaden, Germany, (1993), pages 121–152.

100. “Scalar Replacement in the Presence of Conditional Control Flow” (with S. Carr),

Software Practice and Experience, Volume 24, Number 1, (January 1994), pages 51–77.

101. “Compiler Technology for Machine-Independent Parallel Programming,” Interna-

tional Journal of Parallel Programming, Volume 22, Number 1, (January 1994), pages 79–97.

102. “Give-N-Take—A Balanced Code Placement Framework” (with R. von Hanxleden),

Proceedings of the ACM SIGPLAN '94 Conference on Program Language Design and Implementation, (March 1994), pages 107–120.

103. “Evaluating Compiler Optimizations for Fortran D” (with S. Hiranandani and C.

W. Tseng), Journal of Parallel and Distributed Computing, Volume 21, (April 1994), pages 27–45.

104. “Parallelization of Linearized Applications in Fortran D” (with L. Liebrock), Inter-

national Parallel Processing Symposium 1994, Washington, D.C., (April 1994), pages 51–60.

105. “Design and Implementation of the D Editor” (with S. Hiranandani, C. W. Tseng,

and S. Warren), Proceedings of the Second Workshop on Environments and Tools for Parallel Scientific Computing, SIAM, Townsend, TN, (May 1994), pages 1–10.

106. “Context Optimization for SIMD Execution” (with G. Roth), Proceedings of the

Scalable High Performance Computing Conference, Knoxville, TN, (May 1994). 107. “Integrated Support for Task and Data Parallelism” (with K. M. Chandy, I. Fos-

ter, C. Koelbel, and C. W. Tseng), International Journal of Supercomputing Appli-cations, Volume 8, Number 1, (Summer 1994), pages 80–98.

108. “Compilation Techniques for Block-Cyclic Distributions” (with S. Hiranandani, J.

Mellor-Crummey, and A. Sethi), Proceedings of the 1994 International Conference on Supercomputing, Manchester, England, (July 1994), pages 392–403.

17

109. “Automatic Data Layout Using 0-1 Integer Programming,” (with R. Bixby and U.

Kremer), Proceedings of the International Conference on Parallel Architecture and Compilation Techniques, Montreal, Canada, published in Parallel Architectures and Compilation Techniques (A-50), North-Holland: Amsterdam, The Netherlands, (August 1994), pages 111–121.

110. “Requirements for Data-Parallel Programming Environments” (with V. Adve, A.

Carle, E. Granston, S. Hiranandani, C. Koelbel, U. Kremer, J. Mellor-Crummey, C. W. Tseng, and S. Warren), IEEE Transactions on Parallel and Distributed Tech-nology, Volume 2, Number 3, (Fall 1994), pages 48–58. (Formerly entitled: "The D System: Support for Data-Parallel Programming", CRPC–TR94378.)

111. “Value-Based Distributions and Alignments in Fortran D” (with R. von Hanxle-

den and J. Saltz), Journal of Programming Languages, Special Issue on Compiling and Run-Time Issues for Distributed Address Space Machines, Volume 2, Num-ber 3, (September 1994), pages 259–282.

112. “The D Editor: A New Interactive Parallel Programming Tool” (with S. Hiranan-

dani, C. W. Tseng, and S. Warren), Proceedings of Supercomputing '94, (Novem-ber 1994), pages 733–742.

113. “Improving the Ratio of Memory Operations to Floating-Point Operations in

Loops” (with S. Carr), ACM Transactions on Programming Languages and Sys-tems, Volume 16, Number 6, (November 1994), pages 1768–1810.

114. “Compiler Support for Out-of-Core Arrays on Parallel Machines” (with C. Koelbel

and M. Paleczny), The Fifth Symposium of the Frontiers of Massively Parallel Com-putation, (February 1995).

115. “Combining Dependence and Data-Flow Analyses to Optimize Communication”

(with N. Nedeljkovic), Proceedings of the 9th International Parallel Processing Sym-posium, Santa Barbara, CA, (April 1995), pages 340–346.

116. “Management of the NHSE—A Virtual Distributed Digital Library” (with Shirley

Browne, J. Dongarra, and T. Rowan), Second International Conference on Theory and Practice of Digital Libraries, (June 1995), pages 57–64.

117. “Efficient Address Generation for Block-Cyclic Distributions” (with N. Nedeljkovic

and A. Sethi), The 9th ACM International Conference on Supercomputing, Barce-lona, Spain, (July 1995).

118. “A Linear-Time Algorithm for Computing the Memory Access Sequence in Data-

Parallel Programs” (with N. Nedeljkovic and A. Sethi), Proceedings of the ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, SIGPLAN, (July 1995).

119. “Optimizing Fortran 90 Shift Operations on Distributed-Memory Multicomput-

ers” (with J. Mellor-Crummey and G. Roth), Proceedings of the 8th International Workshop on Languages and Compilers for Parallel Computing (LCPC '95), Colum-bus, OH, (August 1995).

18

120. “A Model and Compilation Strategy for Out-of-Core Data Parallel Programs” (with R. Bordawekar, A. Choudhary, C. Koelbel, and M. Paleczny), Proceedings of the Fifth ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, SIGPLAN NOTICES, (August 1995), pages 1–17.

121. “Index Array Flattening through Program Transformation” (with R. Das, P. Hav-

lak, and J. Saltz), Proceedings of Supercomputing '95, (August 1995). 122. “Integrating Compilation and Performance Analysis for Data Parallel Programs,”

(with V. Adve, M. Anderson, J. C. Wang, J. Mellor-Crummey, and D. Reed), Pro-ceedings of the Workshop on Debugging and Performance Tuning of Parallel Com-puting Systems, (October 1995).

123. “An Integrated Compilation and Performance Analysis Environment for Data

Parallel Programs” (with V. Adve, M. Anderson, J. Mellor-Crummey, D. Reed, and J. C. Wang), Proceedings of Supercomputing '95, (November 1995).

124. “Automatic Data Layout for High Performance Fortran” (with U. Kremer), Pro-

ceedings of Supercomputing '95, San Diego, CA, (December 1995). 125. “The National HPCC Software Exchange” (with J. C. Browne, T. Disz, J. Don-

garra, G. Fox, S. I. Green, K. Hawick, K. Moore, B. Olson, J. Pool, T. Rowan, R. Stevens, and R. Wade), IEEE Computational Science and Engineering, Volume 2, Number 2, (1995), pages 62–69.

126. “Communication Generation for Cyclic Distributions” (with N. Nedeljkovic and A.

Sethi), Languages, Compilers, and Run-Time Systems for Scalable Computers, Kluwer Academic Publishers, Boston, MA, (1995), pages 185–197.

127. “Interprocedural Analysis and Optimization” (with K. D. Cooper, M. W. Hall, and

L. Torczon), The Communications on Pure and Applied Mathematics 48: 947–1003 (1995).

128. “Optimal Register Assignment to Loops for Embedded Code Generation” (with D.

Kolson, A. Nicolau, and N. Dutt), IEEE 8th International Symposium on System Synthesis (ISSS), (September 1995).

129. “A Method for Register Allocation to Loops in Multiple Register File Architec-

tures” (with D. Kolson, A. Nicolau, and N. Dutt), IEEE 10th International Parallel Processing Symposium (IPPS), (April 1996).

130. “Optimal Register Assignment to Loops for Embedded Code Generation” (with D.

J. Kolson, A. N. Nicolau, and N. Dutt), ACM Transactions on Design Automation of Electronic Systems 1(2): 251–279, (April 1996).

131. “Cross-Loop Reuse Analysis and Its Application to Cache Optimizations” (with K.

Cooper and N. McIntosh), In Proceedings of the Ninth Workshop on Languages and Compilers for Parallel Computing, San Jose, CA, (August 1996), pages 1–19.

132. “Dependence Analysis of Fortran90 Array Syntax” (with G. Roth), Proceedings of

the International Conference on Parallel and Distributed Processing Techniques and Applications (PDPTA '96), (August 9–11, 1996).

19

133. “Resource-Based Communication Placement Analysis” (with A. Sethi), Proceed-

ings of the Ninth Workshop on Languages and Compilers for Parallel Computing (LCPC'96), San Jose, CA, (August 1996), pages 369–388.

134. “Interprocedural Compilation of Fortran D” (with M. W. Hall, S. Hiranandani,

and C. W. Tseng), Journal of Parallel and Distributed Computing, Volume 38, Number 2, (November 1996), pages 114–129.

135. “A Communication Placement Framework with Unified Dependence and Data-

Flow Analysis” (with A. Sethi), Proceedings of the Third International Conference on High Performance Computing, India, (also available 1996 International Confer-ence of High Performance Computing), Best Systems Paper Award, Digital Equip-ment (India), (1996).

136. “Parallelization Support for Coupled Grid Applications with Small Meshes (with

Lorie M. Liebrock), Concurrency—Practice and Experience 8(8): 581-615 (1996). 137. “Experiences in Data-Parallel Programming” (with T. W. Clark and R. von Hanx-

leden), Scientific Programming, Volume 6, (1997), pages 153–158. 138. “Optimizing Java: Theory and Practice” (with Z. Budimlic), Concurrency: Practice

and Experience, Volume 9, Number 6, (1997), pages 445–463. 139. “Compiling Stencils in High Performance Fortran” (with G. Roth, J. Mellor-

Crummey, and R. G. Brickner), Proceedings: Supercomputing '97, San Jose, CA, (November 1997), (also available as CRPC–TR97725-S).

140. “A Nationwide Parallel Computing Environment” (with C. F. Bender, J. Connolly,

J. L. Hennessy, M. K. Vernon, and L. Smarr), Communications of the ACM, Vol-ume 40, Number 11, (November 1997), pages 62–72.

141. “Loop Fusion in High Performance Fortran” (with G. Roth), Proceedings of the

12th ACM International Conference on Supercomputing, Melbourne, Australia, (July 1998), pages 125–132.

142. “Automatic Data Layout for Distributed Memory Machines” (with U. Kremer),

ACM Transactions on Programming Languages and Systems (TOPLAS) 20:4, (July 1998).

143. “Compilers, Libraries, Languages,” Computational Grids: The Future of High-

Performance Distributed Computing, (I. Foster and C. Kesselman, editors), Morgan Kaufmann Publishers, Inc., (August 1998), pages 181–204.

144. “Status and Perspective of HPC—Discussion on HPC with Professor Ken Ken-

nedy” (with T. Watanabe and H. Katayama), NEC Research and Development, Volume 39, Number 4, (October 1998), pages 343–351.

145. “Information Technology Research: Investing in our Future” (with PITAC Com-

mittee), National Coordination Office for Computing, Information, and Commu-nications, Washington, DC, (February 1999).

20

146. “Prospects for Scientific Computing in Polymorphic, Object-Oriented Style” (with Z. Budimlic), Proceedings of the Ninth SIAM Conference on Parallel Processing for Scientific Computing, San Antonio, TX, (March 1999).

147. “Improving Cache Performance in Dynamic Applications through Data and Com-

putation Reorganization at Run Time” (with C. Ding), Proceedings of the 1999 ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI'99), Atlanta, GA, (May 1999), pages 229–241. (Also available in ACM SIG-PLAN Notices, Volume 34, Number 5).

148. “Improving Memory Hierarchy Performance for Irregular Applications” (with J.

Mellor-Crummey and D. Whalley), Proceedings of the 13th ACM International Con-ference on Supercomputing, Rhodes, Greece, (June 1999), pages 425–433.

149. “The Cost of Being Object-Oriented: A Preliminary Study” (with Z. Budimlic and

J. Piper), Scientific Computing, Volume 7, Number 2, (1999), pages 87–95. 150. “Inter-array Data Regrouping” (with C. Ding), Proceedings of the 12th Interna-

tional Workshop on Languages and Compilers for Parallel Computing, San Diego, CA, (August 1999).

151. “Bandwidth-Based Performance Tuning and Prediction” (with C. Ding), Proceed-

ings of IASTED International Conference on Parallel Computing and Distributed Systems, Cambridge, MA, (November 1999).

152. “Memory Bandwidth Bottleneck and its Amelioration by a Compiler” (with C.

Ding), Proceedings of the 2000 International Parallel and Distributed Processing Symposium, Cancun, Mexico, (May 2000).

153. “Telescoping Languages: A Compiler Strategy for Implementation of High-Level

Domain-Specific Programming Systems,” Proceedings of the 14th International Parallel and Distributed Processing Symposium (IPDPS 2000), Cancun, Mexico, (May 2000).

154. “Fast Greedy Weighted Fusion,” Proceedings of the 2000 International Conference

on Supercomputing, Santa Fe, NM, (May 2000), pages 131–140. 155. “Transforming Loops to Recursion for Multi-Level Memory Hierarchies” (with Q.

Yi and V. Adve), Proceeding of the ACM SIGPLAN Conference on Programming Lan-guage Design and Implementation (PLDI 2000), Vancouver, British Columbia, (June 2000).

156. “Overpartitioning with the Rice dHPF compiler” (with B. Broom, D. Chavarria-

Miranda, G. Jin, R. Fowler, and J. Mellor-Crummey, Proceedings of the 4th An-nual HPF User Group meeting, Tokyo, Japan, (October 2000).

157. “A Balanced Code Placement Framework” (with R. von Hanxleden), ACM Transac-

tions on Programming Languages and Systems 22(5): 816–860, (September 2000). 158. “Improving effective bandwidth through compiler enhancement of global cache

reuse” (with C. Ding), Proceedings of the 2001 International Parallel and Distrib-

21

uted Processing Symposium, San Francisco, CA, (April 2001), (selected as one of four “best papers'' in the conference).

159. “KelpIO: A Telescope-Ready Domain-Specific I/O Library for Irregular Block-

Structured Applications” (with B. Broom and R. Fowler), Proceedings of the 2001 IEEE International Symposium on Cluster Computing and the Grid, Brisbane, Aus-tralia, (May 2001) (selected as one of two “best papers'' in the cluster category).

160. “Reduction in Strength of Procedures: An Optimizing Strategy for Telescoping

Languages” (with A. Chauhan), Proceedings of the 2001 International Conference on Supercomputing, Sorrento, Italy (June 2001).

161. “Improving Memory Hierarchy Performance for Irregular Applications Using Data

and Computation Reorderings” [with J. Mellor-Crummey and D. Whalley]. Inter-national Journal of Parallel Programming 29(3), (June 2001).

162. “JaMake: A Java Compiler Environment” (with Z. Budimlic), Proceedings of the

International Conference on Large Scale Scientific Computations (ICLSSC 2001), Sozopol, Bulgaria, (June 2001).

163. “Scalarizing Fortran 90 Array Syntax” (with Y. Zhao), Proceedings of the Second

Annual Symposium of the Los Alamos Computer Science Institute, Santa Fe, NM, (October 2001).

164. “Telescoping Languages: A Strategy for Automatic Generation of Scientific Prob-

lem-Solving Systems from Annotated Libraries” (with B. Broom, K. Cooper, J. Dongarra, R. Fowler, D. Gannon, L. Johnsson, J. Mellor-Crummey, and L. Tor-czon), Journal of Parallel and Distributed Computing 61(12): 1803–1826, (Decem-ber 2001).

165. “What Are the Top Ten Most Influential Parallel and Distributed Processing Con-

cepts of the Past Millennium?” (with M. Theys, S. Ali, H. Siegel, K. Chandy, K. Hwang, L. Sha, K. Shin, M. Snir, L. Snyder, T. Sterling), Journal of Parallel and Distributed Computing 61(12): 1827-1841, (December 2001).

166. “The GrADS Project: Software Support for High-Level Grid Application Develop-

ment” (with F. Berman, A. Chien, K. Cooper, J. Dongarra, I. Foster, D. Gannon, L. Johnsson, C. Kesselman, J. Mellor-Crummey, D. Reed, L. Torczon, and R. Wolski), International Journal of High Performance Applications and Supercomput-ing 15(4): 327–344, (Winter 2001).

167. “Fast Greedy Weighted Fusion,” International Journal of Parallel Programming

29(5): 463–491, (October 2001). 168. “High Performance Fortran 2.0” (with C. Koelbel), in Compiler Optimizations for

Scalable Parallel Systems, S. Pande and D. Agrawal, editors, Lecture Notes in Computer Science, Springer-Verlag, Berlin Heidelberg, Germany, (2001).

169. “Reuse Distance Analysis for Scientific Programs” (with Y. Zhong and C. Ding),

Proceedings of the 6th ACM Workshop on Languages, Compilers, and Runtime Sys-tems for Scalable Computers (LCR’02), Washington, DC, (March 2002).

22

170. “KelpIO: A Telescope–ready Domain-specific I/O Library for Irregular Block-structured Applications” (with B. Broom and R. Fowler), Future Generation Com-puter Systems 18: 449–460, (2002).

171. “Toward a Framework for Preparing and Executing Adaptive Grid Programs”

(with D. Angulo, R. Aydt, J. Dongarra, I. Foster, D. Gannon, L. Johnsson, C. Kesselman, D. Reed, S. Vadhiyar and R. Wolski), Proceedings of the International Parallel and Distributed Processing Symposium (IPDPS 2002), Fort Lauderdale, FL, (April 2002).

172. “A Rice University Perspective on Software Engineering Licensing,” (with M.

Vardi), Communications of the ACM 45 (11): 94–95, (November 2002). 173. “Copy Coalescing and Live–Range Identification Without An Interference Graph”

(with Z. Budimlic, K. Cooper, T. Harvey, and T. Oberg), Proceedings of the 2002 ACM SIGPLAN Conference on Programming Language Design and Implementation, Berlin, Germany, (June 2002).

174. “Advanced Optimization Strategies in the Rice dHPF Compiler,” (with B. Broom,

D. Chavarria–Miranda, R. Fowler, G. Jin, and J. Mellor-Crummey), HPF Special Issue of Concurrency—Practice and Experience 14 (8–9): 741–767, (August 2002).

175. “Reducing and Vectorizing Procedures for Telescoping Languages” (with A.

Chauhan), ICS'01 Special Issue of International Journal of Parallel Programming 30 (4), (August 2002).

176. “Vizer: A system to Vectorize Intel x86 Binaries” (with K. Cooper and A. Das-

gupta), Proceedings of the Third Annual Symposium of the Los Alamos Computer Science Institute, Santa Fe, NM, October 14–15, 2002.

177. “Improving Memory Hierarchy Performance Through Combined Loop Interchange

and Multi–Level Fusion” (with Q. Yi), Proceedings of the Third Annual Symposium of the Los Alamos Computer Science Institute, Santa Fe, NM, October 14–15, 2002.

178. “Almost–whole–program compilation” (with Z. Budimlic), in Proceedings of the

Joint ACM Java Grande — ISCOPE 2002 Conference, Seattle, Washington, No-vember 3–5, 2002.

179. “Parallelism” (with J. Dongarra and A. White), in Sourcebook for Parallel Comput-

ing, Morgan Kaufmann Publishers, San Francisco, chapter 1, pp. 1–12, (Fall 2002).

180. “Parallel Programming Considerations” (with J. Dongarra, I. Foster, G. Fox, W.

Gropp, and D. Reed), in Sourcebook for Parallel Computing, Morgan Kaufmann Publishers, San Francisco, chapter 3, pp. 42–68, (Fall 2002).

181. “Software Technologies” (with I. Foster), in Sourcebook for Parallel Computing,

Morgan Kaufmann Publishers, San Francisco, chapter 3, pp. 42–68, (Fall 2002).

23

182. “Languages and Compilers” (with C. Koelbel), in Sourcebook for Parallel Comput-ing, Morgan Kaufmann Publishers, San Francisco, chapter 12, pp. 343–365, (Fall 2002).

183. “Reusable Software Algorithms” in Sourcebook for Parallel Computing, Morgan

Kaufmann Publishers, San Francisco, chapter 17, pp. 461–467, (Fall 2002). 184. “Wrap–up and Signposts to the Future” (with A. White), in Sourcebook for Parallel

Computing, Morgan Kaufmann Publishers, San Francisco, chapter 25. pp. 723–728, (Fall 2002).

185. “Languages, Compilers, and Run-Time Systems” in The Grid 2: Blueprint for a

New Computing Infrastructure, Morgan Kaufmann Publishers, San Francisco, chapter 25, pp. 491–512, (Fall 2003).

186. “Slice–hoisting for Array-size Inference in MATLAB” (with A. Chauhan), Proc.

16th Workshop on Languages and Compilers for Parallel Computing (LCPC03), Col-lege Station, TX, 2-4 October 2003.

187. “Automatic Type–Driven Library Generation of Telescoping Languages” (with A.

Chauhan and C. McCosh), in the Proceedings of the ACM International Conference for High Performance Computing and Communications (SC2003), Phoenix, Ari-zona, November 15–21, 2003.

188. “Compiler Support for Out-of-Core Arrays on Parallel Machines (with B. Broom,

R. Fowler, C. Koelbel, and M. Paleczny), in Scalable Input/Output: Achieving Sys-tem Balance (D. A. Reed, Ed.), MIT Press, October 2003, pages 161–180.

189. “Improving Effective Bandwidth through Compiler Enhancement of Global Cache

Reuse” (with C. Ding), Journal of Parallel and Distributed Computing 64 (2004), pages 108–134.

190. “Transforming Complex Loop Nests For Locality” (with V. Adve and Q. Yi), The

Journal of Supercomputing, Volume 27: pages 219–264, 2004. 191. “New Grid Scheduling and Rescheduling Methods in the GrADS Project” (with K.

Cooper, A. Dasgupta,, C. Koelbel, A. Mandal, G. Marin, M. Mazina, J. Mellor-Crummey, F. Berman, H. Casanova, A. Chien, H. Dail, X. Liu, A. Olugbile, O. Sievert, H. Xia, L. Johnsson, B. Liu, M. Patel, D. Reed, W. Deng, C. Mendes, Z. Shi, A. YarKhan, J. Dongarra), in the 18th International Parallel and Distributed Processing Symposium (IEEE IPDPS 2004), April 2004.

192. “Retrospective: Coloring Heuristics for Register Allocation” (with P. Briggs, K.

Cooper and L. Torczon), in 20 Years of the ACM SIGPLAN Conference on Pro-gramming Language Design and Implementation (1979–1999): A Selection, Kath-ryn S. McKinley, Editor, ACM SIGPLAN Notices, Volume 39, Number 4, April 2004.

193. “Retrospective: Interprocedural Side-Effect Analysis in Linear Time” (with K. Coo-

per), in 20 Years of the ACM SIGPLAN Conference on Programming Language Design and Implementation (1979–1999): A Selection, Kathryn S. McKinley, Edi-tor, ACM SIGPLAN Notices, Volume 39, Number 4, April 2004.

24

194. “Retrospective: Interprocedural Constant Propagation” (with D. Callahan, K.

Cooper and L. Torczon), in 20 Years of the ACM SIGPLAN Conference on Pro-gramming Language Design and Implementation (1979–1999): A Selection, Kath-ryn S. McKinley, Editor, ACM SIGPLAN Notices, Volume 39, Number 4, April 2004.

195. “Retrospective: Automatic Loop Interchange” (with J. Allen), in 20 Years of the

ACM SIGPLAN Conference on Programming Language Design and Implementation (1979–1999): A Selection, Kathryn S. McKinley, Editor, ACM SIGPLAN Notices, Volume 39, Number 4, April 2004.

196. “Retrospective: Improving Register Allocation for Subscripted Variables” (with D.

Callahan and S. Carr), in 20 Years of the ACM SIGPLAN Conference on Program-ming Language Design and Implementation (1979–1999): A Selection, Kathryn S. McKinley, Editor, ACM SIGPLAN Notices, Volume 39, Number 4, April 2004.

197. “Improving Memory Hierarchy Performance Through Combined Loop Interchange

and Multi-Level Fusion” (with Q. Yi), International Journal of High Performance Computing Applications, Volume 18, Number 2, May 2004.

198. “Automatic Blocking of QR and LU Factorizations for Locality” (with Q. Yi, H.

You, K. Seymour, and J. Dongarra), in Proceedings of the ACM SIGPLAN Work-shop on Memory Systems Performance (MSP 2004), June 2004.

199. “An Automatic Source-level Transformer for Improving the Performance of DSP

Applications in Matlab” (with Arun Chauhan), in Proceedings of the IASTED In-ternational Conference on Signal and Image Processing (SIP 2004), August 2004.

200. “Defining and Measuring the Productivity of Programming Languages” (with C.

Koelbel and R. Schreiber), in the International Journal of High Performance Com-puting Applications Special Issue, Vol. 18, No. 3, Fall 2004.

201. “Automatic Tuning of Whole Applications Using Direct Search and a Perform-

ance-based Transformation System” (with Apan Qasem and John Mellor-Crummey), Proceedings of the LACSI Symposium, Los Alamos Computer Science Institute, Los Alamos, NM, October 2004.

202. “Scalarization using Loop Alignment and Loop Skewing” (with Y. Zhao), The Jour-

nal of Supercomputing 31(1), pp. 5-46, January 2005. 203. “Telescoping Languages: A System for Automatic Generation of Domain Lan-

guages” (with Bradley Broom, Arun Chauhan, Rob Fowler, John Garvin, Charles Koelbel, Cheryl McCosh, and John Mellor-Crummey), Proceedings of the IEEE 93 (2), pp. 387–408, February 2005.

204. “Scalarization on Short Vector Machines” (with Yuan Zhao), in Proceedings of the

2005 IEEE International Symposium on Performance Analysis of Systems and Soft-ware (ISPASS), Austin, TX, March 2005.

205. “Compiling Almost–Whole Java Programs” (with Z. Budimlic), Concurrency and

Computation: Practice and Experience 17(5-6), pp. 573-587. April-May 2005.

25

206. “Task Scheduling Strategies for Workflow-based Applications in Grids” (with Jim

Blythe, Sonal Jain, Ewa Deelman, Yolanda Gil, Karan Vahi, and Anirban Man-dal), in Proceedings of the International Symposium on Cluster Computing and the Grid 2005 (CCGrid05), May 2005.

207. “New Grid Scheduling and Rescheduling Methods in the GrADS Project” (with

Fran Berman, Henri Casanova, Andrew Chien, Keith Cooper, Holly Dail, Anshu-man Dasgupta, Wei Deng, Jack Dongarra, Lennart Johnsson, Ken Kennedy, Charles Koelbel, Bo Liu, Xin Liu, Anirban Mandal, Gabriel Marin, Mark Mazina, John Mellor-Crummey, Celso Mendes, Alex Olugbile, Mitul Patel, Dan Reed, Zhiao Shi, Otto Sievert, Huaxia Xia, and Asim YarKhan), in International Journal of Parallel Programming 33 (2-3), pp. 209-229, June 2005.

208. “Scheduling Strategies for Mapping Application Workflows onto the Grid” (with

A. Mandal, Charles Koelbel, Gabriel Marin, John Mellor-Crummey, Bo Liu, and Lennart Johnsson, in Proceedings of the 14th IEEE International Symposium on High Performance Distributed Computing (HPDC 2005), Research Triangle Park, NC, July 24-27, 2005.

209. “A Cache-conscious Profitability Model for Empirical Tuning of Loop Fusion”

(with Apan Qasem), in Proceedings of the 2005 International Workshop on Lan-guages and Compilers for Parallel Computing, Hawthorne, NY, October 20-22, 2005.

210. “Performance Modeling and Prediction for Scientific Java Applications” (with R.

Zhang and Zoran Budimlic), to appear in Proceedings of the International Sympo-sium on Performance Analysis of Systems and Software (ISPASS-2006), Austin, TX, March 2006.

211. “Automatic Tuning of Whole Applications Using Direct Search and a Perform-

ance-based Transformation System” (with Apan Qasem and John Mellor-Crummey), in Journal of Supercomputing 36 (2): "Special Issue on Computer Sci-ence in Support of High-Performance Applications” (Rod Oldehoeft, editor), May 2006, pp. 183-196.

212. “Scalable Grid Application Scheduling via Decoupled Resource Selection and

Scheduling” (with Yang Zhang, Anirban Mandal, Henri Casanova, Andrew Chien, Yang-Suk Kee, and Charles Koelbel), in Proceedings of the 6th International Sym-posium on Cluster Computing and the Grid (CCGrid06), Singapore, May 16-19, 2006.

213. “Profitable Loop Fusion and Tiling Using Model-driven Empirical Search” (with

Apan Qasem), in Proceedings of the 20th ACM International Conference on Supercomputing (ICS06), Queensland, Australia, June 28-July 1, 2006.

214. “Evaluation of a Workflow Scheduler Using Integrated Performance Modelling

and Batch Queue Wait Time Prediction” (with Daniel Nurmi, Anirban Mandal, John Brevik, Rich Wolski, and Chuck Koelbel), to appear in Proc. SC’06, Tampa, FL, November 2006.

26

Accepted for Publication: 1. “The Rise and Fall of High Performance Fortran: An Historical Object Lesson”

(with Charles Koelbel and Hans Zima), to appear in Proceedings of the Third ACM SIGPLAN History of Programming Languages Conference (HOPL III), San Diego, CA, June 2007.

2. “Improving Compilation of Java Scientific Applications” (with Zoran Budimlic and

Mackale Joyner), to appear in International Journal of High Performance Comput-ing Applications (IJHPCA).

3. “Dependence-based Code Generation for a CELL Processor” (with Yuan Zhao), to

appear in Proc. 19th Workshop on Languages and Compilers for Parallel Comput-ing (LCPC06).

4. “An Empirical Study of Iterative Data-flow Analysis” (with Keith D. Cooper and

Timothy J. Harvey, to appear in the Proceedings of 15th IEEE International Con-ference on Computing (CIC), Mexico City, Mexico, November 2006.

5. “Compiling Parallel Matlab for General Distributions Using Telescoping Lan-

guages” (with Mary Fletcher, Cheryl McCosh, and Guohua Jin), to appear in Pro-ceedings of the 2007 International Conference on Acoustics, Speech, and Signal Processing (ICASSP), Honolulu, Hawaii, April 2007.

6. “Why Performance Models Matter for Grid Computing,” to appear in WoCo9: Grid-

based Problem Solving Environments: Implications for Development and Deploy-ment of Numerical Software, IFIP Working Conference Proceedings, 2006.

Significant Other Contributions: 1. “Typed Fusion with Applications to Parallel and Sequential Code Generation”

(with K. McKinley), Technical Report TR93-208, Computer Science Department, Rice University, Houston, TX, August 1993.

2. “High Performance Fortran Language Specification, version 1.0”, High Perform-

ance Fortran Forum (Ken Kennedy, chair), Technical Report CRPC-TR92225, Center for Research on Parallel Computation, Rice University, Houston, TX, January 1993; also published in Scientific Programming 2 (1–2), pages 1–170, 1993.

3. “High Performance Fortran Language Specification, version 1.1”, High Perform-

ance Fortran Forum (Ken Kennedy, chair), Technical Report CRPC-TR92225-1.1, Center for Research on Parallel Computation, Rice University, Houston, TX, No-vember 1994.

4. “High Performance Fortran Language Specification, version 2.0”, High Perform-

ance Fortran Forum (Ken Kennedy, chair), Technical Report CRPC-TR92225-2.0, Center for Research on Parallel Computation, Rice University, Houston, TX, January 1997.

27

5. “Information Technology Research: Investing in Our Future”, Report to the Presi-dent, Presidents Information Technology Advisory Committee (William Joy and Ken Kennedy, co-chairs), February 1999.

6. “Resource-constrained Loop Fusion” (with Chen Ding), Technical Report TR03-

424, Computer Science Department, Rice University, Houston, TX, September 2003.

7. “Static Type Inference for Specialization in a Telescoping Compiler” (with Cheryl

McCosh, Eric Allen, and Walid Taha), Technical Report TR04-439, Computer Sci-ence Department, Rice University, September 2004.

Keynote and Plenary Conference Addresses: 1. “The Future of Information Management Technology,” Keynote Address, Ameri-

can Association of Medical Colleges Course on Information Management, Duck Key, FL, January 27, 1985.

2. “Compilation for Multiprocessor Architectures,” Plenary Lecture, International

Conference on Computer Design, Rye Brook, NY, October 7, 1985. 3. “Programming Support Environments for Parallel Computer Systems,” Keynote

Address, Convex Users' Group Meeting, Richardson, TX, October 7, 1988. 4. “Programming Support Environments for Parallel Computer Systems,” Plenary

Address, Fifth SIAM Conference on Parallel Processing, Houston, TX, March 24, 1991.

5. “The Coming Generation of Massively Parallel Supercomputers,” Invited Plenary

Address, 14th International Symposium on Mathematical Programming, Amster-dam, The Netherlands, August 6, 1991.

6. “Compiler Support for Machine–Independent Parallel Programming,” Keynote Ad-

dress, First International Conference of the Austrian Center for Parallel Compu-tation, Salzburg, Austria, September 30, 1991.

7. “Architecture–Independent Parallel Programming,'' Keynote Address,” Science

Applications International Corporation, McLean, VA, October 8, 1992. 8. “Architecture and Software of Parallel Computers,'' Keynote Address,” DIMACS

Workshop, Rutgers University, Piscataway, NJ, April 30, 1993. 9. “Machine Independent Parallel Programming: Prospects and Problems,” Keynote

Address, 22nd International Conference on Parallel Processing, St. Charles, IL, August 16, 1993.

10. “The Prospects for Architecture–Independent Parallel Programming,” Keynote Ad-

dress, International Conference on Parallel and Distributed Systems, Hsinchu, Taiwan, Republic of China, December 19, 1994.

28

11. “High Performance Fortran and Its Role in Architecture Independent Parallel Pro-gramming,” Keynote Address, Convex Computer Corporation, Dallas, TX, March 8, 1995.

12. “Computational Science: An Overview-Current and Future,” Opening Address,

1995 Association of Computer Science and Engineering Departments at Minority Institutions (ADMI) Annual Workshop, New Orleans, LA, August 10, 1995.

13. “The Prospects for Architecture–Independent Parallel Programming,” Keynote Ad-

dress, Conference on High Performance Computing and Networking (HPCN Europe), Brussels, Belgium, April 18, 1996.

14. “Overview of HPCC in USA,” Keynote Address, International Workshop for High

Performance Multimedia Computing and Communication (HPMCC), Tokyo, Ja-pan, June 21, 1996.

15. “Keynote Speech: Technology Transfer Paths for HPCC Software Tools,” Keynote

Address, Software Tools for High Performance Computing Systems, LANL Work-shop '96, Chatham, MA, October 16, 1996.

16. “The Prospects for Architecture–Independent Parallel Programming,” Keynote Ad-

dress, IEEE Symposium on Parallel and Distributed Processing (SPDP '96), New Orleans, LA, October 23, 1996.

17. “Machine–Independent Parallel Programming,” Keynote Address, DoD HPCMP

Users Meeting, Urbana, IL, November 8, 1996. 18. “Implementing HPF on Cluster Architectures,” Keynote Address, Cluster Com-

puting Conference, Emory University, Atlanta, GA, March 10, 1997. 19. “Compiling a Software Bridge to the Parallel Architectures of the 21st Century,”

Invited Plenary Address, Seventh ACM/SIGPLAN Symposium on Principles and Practice of Parallel Programming, Las Vegas, NV, June 19–20, 1997.

20. “High Performance Fortran: A Ten Year View,” Keynote Address, High Perform-

ance Distributed Computing Communications-6, Portland, OR, August 7, 1997. 21. “High Performance Fortran: A Ten Year View,” Keynote Address, The Tenth Inter-

national Workshop on Languages and Compilers for Parallel Computing, Min-neapolis, MN, August 8, 1997.

22. “The Challenge of Supporting Architecture–Independent Programming on Parallel

and Distributed Computer Systems,” Keynote Address, Parallel Architectures and Compiler Techniques (PACT '97), San Francisco, CA, November 14, 1997.

23. “Programming Support Software for High Performance Computers,” Invited State

of the Field Address, Supercomputing '97, San Jose, CA, November 19, 1997. 24. “HPF: Achievements, Problems, and Prospects,” Keynote Address, HUG '98: The

2nd Annual HPF User Group Meeting, Porto, Portugal, June 25, 1998.

29

25. “The Investment in Information Technology Research: Interim Report of the President's Information Technology Advisory Committee,” Challenges-of-the-Field Talk, Supercomputing '98, Orlando, FL, November 11, 1998.

26. “Memory Hierarchy Management on Modern Parallel Computer Systems,” Key-

note Address, The 5th International Symposium on High Performance Computer Architecture, Orlando, FL, January 12, 1999.

27. “Long–Term Research in High End Computing: The PITAC Report and Its Impli-

cations for the Petaflops Initiative,” Keynote Address, The 2nd Conference on Enabling Technologies for Petaflops Computing (Petaflops II), Santa Barbara, CA, February 16, 1999.

28. “Future Investment in Information Technology Research: Report of the Presi-

dent's Information Technology Advisory Committee,” Keynote Address, The 7th Symposium on the Frontiers of Massively Parallel Computation (Frontiers '99), Annapolis, MD, February 23, 1999.

29. “Compiler Technology in the Near and Distant Future,” ACM SIGPLAN Program-

ming Languages Achievement Award Talk, SIGPLAN Symposium on Program-ming Languages Design and Implementation, Atlanta, GA, May 3, 1999.

30. “Future Investment in Information Technology Research: Report of the Presi-

dent's Information Technology Advisory Committee,” Plenary Address, The 1999 Federated Computing Research Conference (FCRC '99), Atlanta, GA, May 5, 1999.

31. “Federal Perspectives on Information Technology,” Invited Address, The Fourth

Annual Statewide Information Technology Conference, Indiana University, Indi-anapolis, IN, June 4, 1999.

32. “Interaction Between Run–Time Systems and Compilers,” Keynote Address, 4th

Workshop on Runtime Systems for Parallel Programming (RTSPP), Cancun, Mex-ico, May 1, 2000.

33. “Compiler Architecture for High Performance Problem–Solving,” Keynote Address,

14th International Parallel and Distributed Processing Symposium (IPDPS `00), Cancun, Mexico, May 3, 2000.

34. “Long–Term Information Technology Research: Meeting the PITAC Challenge,”

Plenary Address, 2000 SIAM Annual Meeting, Rio Grande, PR, July 11, 2000. 35. “Software Support for High Performance Problem–Solving,” Plenary Address,

2001 International Conference on Computational Science, San Francisco, CA, May 28, 2001.

36. “Software Support for High Performance Problem–Solving on the Grid,” Richard

Tapia Celebration of Diversity in Computing Symposium 2001: Expanding Hori-zons, Sponsored by the Association for Computing Machinery (ACM) Houston, TX, October 19, 2001.

30

37. “Telescoping Languages: A Framework for Generating High Performance Prob-lem-Solving Systems,” Invited Lecture, Advanced Research Workshop on High Performance Computing Technology and Applications (HPC2002), Cetraro, Italy, June 24, 2002.

38. “Automatic Generation of High Performance Problem–Solving Systems from Com-

ponent Libraries,” Invited Address, Workshop on Challenges for Compiler Research (in honor of Fran Allen), Yorktown Heights, NY, July 18, 2002.

39. “Software Support for High Performance Problem–Solving on the Grid,” Invited

Address, Workshop on Clusters and Computational Grids for Scientific Comput-ing (CCGSC), Lyon, France, September 11, 2002.

40. “Software Challenges in Achieving “Productive” PetaOps,” Invited Address,

US/UK Meeting on High–Performance Computing, London, England, September 30–October 2, 2002.

41. “Software Support for High Performance Problem–Solving on the Grid,” Invited

Address, Performance and the Grid Workshop, Edinburgh, Scotland, December 9–10, 2002.

42. “High Performance (and Grid) Computing without a Degree in Computer Sci-

ence,” Keynote Address, International Parallel and Distributed Processing Sym-posium (IPDPS) 2004, Santa Fe, NM, April 27, 2004.

43. “Generation of High-Performance Domain-Specific Languages from Component

Libraries,” Keynote Address, Workshop on High Productivity Programming Lan-guages and Models, Santa Monica, CA, May 18, 2004.

44. “Long-Term Information Technology Research: Challenges and Opportunities,”

Keynote Address, Schlumberger Information Technology Workshop, Houston, TX, September 30, 2004.

45. “Why Performance Models Matter for Grid Computing”, Invited Plenary Address,

IFIP Working Conference on Grid-Based Problem Solving Environments: Implica-tions for Development and Deployment of Numerical Software, Prescott, AZ, July 17, 2006.

46. “Why Performance Models Matter for Grid Computing”, Invited Plenary Address,

Workshop on Clusters and Computational Grids for Scientific Computing 2006, Flat Rock, NC, September 12, 2006.

Distinguished and Named Lectures: 1. “Interactive Transformation of Programs for Execution on Parallel Machines” and

“Interprocedural Analysis in a Programming Environment for Fortran,” Computer Science Distinguished Lecture Series, University of Wisconsin, Madison, WI, No-vember 12, 1986.

31

2. “Automatic Decomposition of Fortran Programs for Parallel Execution,” Distin-guished Lecture Series, Purdue University, West Lafayette, IN, December 9, 1987.

3. “Interprocedural Analysis in a Parallel Programming Environment,” Distin-

guished Lecture Series, University of Arizona, Tucson, AZ, January 26, 1989. 4. “ParaScope: A Parallel Programming Environment,” Distinguished Lecture Series,

University of California at Irvine, Irvine, CA, April 17, 1989. 5. “Programming Environments for Parallel Scientific Computers,” Distinguished

Lecture Series, Center for the Analysis and Prediction of Storms, University of Oklahoma, Norman, OK, June 14, 1990.

6. “Compiling Fortran for the Intel Touchstone,” Distinguished Lecture Series, Cen-

ter for Supercomputing Research and Development, University of Illinois at Ur-bana-Champaign, Urbana, IL, March 20, 1991.

7. “Architecture–Independent Parallel Programming Support in Fortran D,” Distin-

guished Lecture Series, University of Minnesota, Minneapolis, MN, December 3, 1991.

8. “Architecture–Independent Parallel Programming Support in Fortran D,” Distin-

guished Lecture Series, Johns Hopkins University, Baltimore, MD, February 6, 1992.

9. “Architecture–Independent Parallel Programming Support in Fortran D,” Distin-

guished Lecture Series, Carnegie Mellon University, Pittsburgh, PA, March 6, 1992.

10. “Architecture–Independent Parallel Programming Support in Fortran D,” Distin-

guished Speaker Series, Carnegie Mellon University, Pittsburgh, PA, April 9, 1992.

11. “Architecture–Independent Parallel Programming Support in Fortran D,” Distin-

guished Speaker Series, University of Kentucky, Lexington, KY, April 20, 1992. 12. “A Machine–Independent Programming System for Massively Parallel Comput-

ers,” Distinguished Lecture Series, The University of Texas, Austin, TX, March 4, 1993.

13. “Optimization in the Fortran 77D Compiler,” Distinguished Lecture Series, The

University of Texas, Austin, TX, March 5, 1993. 14. “Architecture–Independent Parallel Programming Support in Fortran D,” Distin-

guished Lecture Series, Massachusetts Institute of Technology, Cambridge, MA, April 29, 1993.

15. “Architecture–Independent Parallel Programming Support in Fortran D,” IBM

Distinguished Lecture Series, Duke University, Durham, NC, December 6, 1993.

32

16. “Architecture–Independent Parallel Programming Support in Fortran D,” Distin-guished Lecture Series, Georgia Tech, Atlanta, GA, February 10, 1994.

17. “Architecture–Independent Parallel Programming Support in Fortran D,” Distin-

guished Lecture Series, Colorado State University, Ft. Collins, CO, April 11, 1994.

18. “Architecture–Independent Parallel Programming Support for Fortran D and High

Performance Fortran,” UCLA Distinguished Lecture Series, Los Angeles, CA, April 19, 1994.

19. “Architecture–Independent Parallel Programming Support for Fortran D and High

Performance Fortran,” Distinguished Lecture Series, University of California at Santa Barbara, Santa Barbara, CA, March 6, 1995.

20. “Beyond High Performance Fortran,” Distinguished Lecture Series, California In-

stitute of Technology, Pasadena, CA, March 29, 1995. 21. “Architecture–Independent Parallel Programming Support for Fortran D and High

Performance Fortran,” Distinguished Lecture Series, University of Utah, Salt Lake City, UT, April 6, 1995.

22. “Architecture–Independent Parallel Programming Support for Fortran D and High

Performance Fortran,” Distinguished Lecture Series, University of California at San Diego, San Diego, CA, May 8, 1995.

23. “Beyond High Performance Fortran,” Distinguished Lecture Series, University of

Illinois at Urbana-Champaign, Urbana, IL, September 15, 1995. 24. “Beyond High Performance Fortran,” Distinguished Lecture Series, University of

Houston, Houston, TX, October 19, 1995. 25. “Beyond High Performance Fortran,” Distinguished Lecture Series, University of

Tennessee, Knoxville, TN, January 26, 1996. 26. “Optimization of High Performance Fortran,” Invited Address, The 1996 J. Bar-

kley Rosser Memorial Lecture, University of Wisconsin-Madison, Madison, WI, April 25, 1996.

27. “The Search for Architecture–Independent Parallel Programming Support,” Sam-

uel D. Conte Distinguished Lecture Series, Purdue University, Indianapolis, IN, October 27, 1997.

28. “Interprocedural Compilation: Algorithm and Applications,” Distinguished Lec-

ture Series, University of North Carolina, Chapel Hill, NC, March 30, 1998. 29. “Federal Investment in Information Technology: A Strategy for the Future,” Dis-

tinguished Lecture Series, University of Texas, Austin, TX, April 17, 1998. 30. “The State of Programming Support Software for High Performance Computers,”

Distinguished Lecture Series, University of Delaware, Newark, DE, April 24, 1998.

33

31. “Software and High Performance Computing: The PITAC Challenge to the Com-

munity” and “Compiler Architecture for High Performance Problem-Solving on Computational Grids,” UW–L Distinguished Lecture Series in Computer Science, University of Wisconsin, LaCross, April 17, 2000.

32. “The Future of the Internet Economy: The Role of Universities and the Federal

Government,” Inaugural “Business Thought Leader” invited presentation, The Rice Alliance, Rice University, March 23, 2000.

33. “Software and High Performance Computing: Challenges for Research,” IBM Aus-

tin Lecture Series, Austin, TX, August 23, 2000. 34. “Compiler Architecture for High Performance Problem Solving,” Distinguished

Lecture, Computer Science Department, Iowa State University, Ames, Iowa, Feb-ruary 12, 2001.

35. “Compiler Architecture for High Performance Problem Solving,” Lecture Series in

Computational Science, Computer Science Department, Johns Hopkins, Balti-more MD, March 26, 2001.

36. “Telescoping Languages: A Framework for Generating High Performance Prob-

lem–Solving Systems,” Distinguished Lecturer, College of Computing, Georgia Tech, Atlanta, GA, April 3, 2001.

37. “Compiler Architecture for High Performance Problem Solving,” Distinguished

Lecture, Computer Science Department, University of Massachusetts, Amherst, MA, May 9, 2001.

38. “Telescoping Languages: A Framework for Generating High Performance Prob-

lem–Solving Systems,” Motorola Distinguished Lecture, Department of Electrical and Computer Engineering, Northwestern University, Evanston, IL, May 22, 2001.

39. “Telescoping Languages: A Framework for Generating High Performance Prob-

lem–Solving Systems,” Distinguished Lecture Series, Department of Computer Science, The University of Chicago, Chicago, IL, April 2, 2002.

40. “Increasing Productivity in Computational Problem Solving,” University Professor

Lecture Series, Dean's Office, Engineering, Rice University, Houston, TX, Janu-ary 30, 2003.

41. “Generation of High Performance Problem–Solving Systems from Domain Librar-

ies,” Distinguished Lecture Series, Erik Jonsson School of Engineering and Computer Science, The University of Texas at Dallas, Dallas, TX, February 21, 2003.

42. “High Performance Computing without a Degree in Computer Science,” Rice Alli-

ance, Austin Chapter, University of Texas, Austin, TX, January 26, 2004.

34

43. “Generation of High-Performance Domain-Specific Languages from Component Libraries,” Distinguished Lecture Series, Department of Computer Science, Uni-versity of Rochester, Rochester, NY, Sept 27, 2004.

44. “Compilers for High-Performance Computer Systems: Do They Have a Future?,”

Institute for Terascale Simulation Distinguished Lecture Series, Lawrence Livermore National Laboratory, December 7, 2004.

45. “Generation of High-Performance Domain-Specific Languages from Component

Libraries,” Barr Systems Distinguished Lecture Series, Department of Computer Science, University of Florida, Gainesville, FL, January 28, 2005.

46. “Generation of High-Performance Domain-Specific Languages from Component

Libraries,” Distinguished Lecture Series, Department of Computer Science, University of California, San Diego, La Jolla, CA, February 14, 2005.

47. “Generation of High-Performance Domain-Specific Languages from Component

Libraries,” Distinguished Lecture Series, Department of Computer Science, Ohio State University, Columbus, OH, May 19, 2005.

48. “Generation of High-Performance Domain-Specific Languages from Component

Libraries,” Distinguished Lecture Series, Department of Computer Science, Indi-ana University, Bloomington, IN, May 20, 2005.