2008 г.
Восход и закат High Performance Fortran: наглядный урок истории
Кен Кеннеди, Чарльз Коулбел, Ганс Зима
Пересказ: Сергей Кузнецов
Назад Содержание
Литература
- Jeanne C. Adams, Walter S. Brainard, Jeanne T. Martin, Brian T. Smith, and Jerrold L. Wagener. Fortran 95 Handbook. Complete ISO/ANSI Reference. Scientific and Engineering Computation Series. MIT Press, Cambridge, Massachusetts, 1997.
- Vikram S. Adve, John Mellor-Crummey, Mark Anderson, Ken Kennedy, Jhy-Chun Wang, and Daniel A. Reed. An Integrated Compilation and Performance Analysis Environment for Data Parallel Programs. In Proceedings of Supercomputing ’95, November 1995.
- J. R. Allen and K. Kennedy. Automatic Translation of Fortran Programs to Vector Form. ACM Transactions on Programming Languages and Systems, 9(4):491–542, October 1987.
- R. Allen and K. Kennedy. Optimizing Compilers for Modern Architectures. Morgan Kaufmann, San Francisco, California, 2002.
- Alliant Computer Systems.
- Jennifer M. Anderson and Monica S. Lam. Global Optimizations for Parallelism and Locality on Scalable Parallel Machines. In PLDI ’93: Proceedings of the ACM SIGPLAN 1993 conference on Programming language design and implementation, pages 112–125, New York, NY, USA, 1993. ACM Press.
- F. Andre, J.-L. Pazat, and H. Thomas. PANDORE: A System to Manage Data Distribution. In International Conference on Supercomputing, pages 380–388, Amsterdam, The Netherlands, June 1990.
- Applied Parallel Research, Sacramento, California. Forge High Performance Fortran xhpf User’s Guide, Version 2.1, 1995.
- G. H. Barnes, R. M. Brown, M. Kato, D. Kuck, D. Slotnick, and R. Stokes. The ILLIAC IV computer. IEEE Transactions on Computers, C-17:746–757, 1968.
- Kenneth E. Batcher. The Multi-Dimensional Access Memory in STARAN. IEEE Transactions on Computers, C-26(2):174–177, February 1977.
- S. Benkner, G. Lonsdale, and H.P. Zima. The HPF+ Project: Supporting HPF for Advanced Industrial Applications. In Proceedings EuroPar’99 Parallel Processing, volume 1685 of Lecture Notes in Computer Science. Springer–Verlag, 1999.
- S. Benkner and H. Zima. Compiling High Performance Fortran for Distributed-Memory Architectures. Parallel Computing, 1999.
- J. Bircsak, P. Craig, R. Crowell, Z. Cvetanovic, J. Harris, C.A. Nelson, and C. Ofner. Extending OpenMP for NUMA Machines. In Proceedings of Supercomputing 2000, November 2000.
- F. Bodin, P. Beckman, D. Gannon, S. Yang, S. Kesavan, A. Malony, and B. Mohr. Implementing a Parallel C++ Runtime System for Scalable Parallel Systems. In Proceedings of Supercomputing ’93, November 1993.
- Z. Bozkus, L. Meadows, S. Nakamoto, V. Schuster, and M. Young. PGHPF—An Optimizing High Performance Fortran Compiler for Distributed Memory Machines. Scientific Programming, 6(1):29–40, 1997.
- M. Burke and R. Cytron. Interprocedural Dependence Analysis and Parallelization. In Proceedings of the SIGPLAN ’86 Symposium on Compiler Construction, Palo Alto, California, June 1986.
- D. Callahan, Bradford L. Chamberlain, and Hans P. Zima. The Cascade High Productivity Language. In Ninth International Workshop on High-Level Parallel Programming Models and Supportive Environments (HIPS’04), pages 52–60, April 2004.
- D. Callahan and K. Kennedy. Compiling Programs for Distributed–Memory Multiprocessors. Journal of Supercomputing, 2:151–169, October 1988.
- Bradford L. Chamberlain. The Design and Implementation of a Region-Based Parallel Programming Language. PhD thesis, Department of Computer Science and Engineering, University of Washington, 2001.
- Bradford L. Chamberlain, D. Callahan, and H. P. Zima. Parallel Programmability and the Chapel Language. The International Journal of High Performance Computing Applications, 2007. Special Issue on High Productivity Programming Languages and Models (in print).
- B. Chapman, P. Mehrotra, and H. Zima. Programming in Vienna Fortran. Scientific Programming, 1(1):31–50, Fall 1992.
- Philippe Charles, Christian Grothoff, Vijay Saraswat, Christopher Donawa, Allan Kielstra, Kemal Ebcioglu, Christoph von Praun, and Vivek Sarkar. X10: An Objectoriented Approach to Non-uniform Cluster Computing. In OOPSLA ’05: Proceedings of the 20th annual ACM SIGPLAN Conference on Object Oriented Programming, Systems, Languages, and Applications, pages 519–538, New York, NY, USA, 2005. ACM Press.
- Siddhartha Chatterjee, John R. Gilbert, Robert Schreiber, and Shang-Hua Teng. Automatic array alignment in dataparallel programs. In POPL ’93: Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, pages 16–28, New York, NY, USA, 1993. ACM Press.
- Daniel Chavarr´ıa-Miranda, Guohua Jin, and John Mellor-Crummey. Assessing the US Supercomputing Strategy: An Application Study Using IMPACT-3D. In Proceedings of the 19th International Parallel and Distributed Processing Symposium (IPDPS), Denver, CO, April 2005.
- Daniel Chavarr´ıa-Miranda and John Mellor-Crummey. An Evaluation of Data-Parallel Compiler Support for Line-Sweep Applications. The Journal of Instruction-Level Parallelism, 5, February 2003. Special issue with selected papers from: The Eleventh International Conference on Parallel Architectures and Compilation Techniques, September 2002. Guest Editors: Erik Altman and Sally McKee.
- A. Choudhary, G. Fox, S. Ranka, S. Hiranandani, K. Kennedy, C. Koelbel, and J. Saltz. Software Support for Irregular and Loosely Synchronous Problems. International Journal of Computing Systems in Engineering, 3(2):43–52, 1993. (also available as CRPC-TR92258).
- Peter Christy. Software to Support Massively Parallel Computing on the MasPar MP-1. In Proceedings of the IEEE Compcon, 1990.
- Stephanie Coleman and Kathryn S. McKinley. Tile Size Selection Using Cache Organization and Data Layout. In PLDI ’95: Proceedings of the ACM SIGPLAN 1995 Conference on Programming Language Design and Implementation, pages 279–290, New York, NY, USA, 1995. ACM Press.
- K. D. Cooper, M. W. Hall, K. Kennedy, and L. Torczon. Interprocedural Analysis and Optimization. Communications in Pure and Applied Mathematics, 48:947–1003, 1995.
- Cray history.
- Cray-1 Computer System. Hardware Reference Manual 224004. Technical report, Cray Research, Inc., November 1977. Revision C.
- David E. Culler, Jaswinder Pal Singh, and Anoop Gupta. Parallel Computer Architecture. A Hardware/Software Approach. Morgan Kaufman Publishers, San Francisco, California, 1999.
- L. Dagum and R. Menon. OpenMP: An Industry-Standard API for Shared-Memory Programming. Computational Science and Engineering, 5(1):46–55, 1998.
- F. Darema-Rogers, D. A. George, V. A. Norton, and G. F. Pfister. VM/EPEX – A VM Environment for Parallel Execution. Technical Report RC 11225(#49161), IBM T. J. & Watson Research Center, Yorktown Heights, New York, January 1985.
- Luiz DeRose and David Padua. A MATLAB to Fortran 90 Translator and Its Effectiveness. In Proceedings of the 10th International Conference on Supercomputing, May 1996.
- R. L. Diaconescu and H.P. Zima. An Approach to Data Distributions in Chapel. The International Journal of High Performance Computing Applications, 2006. Special Issue on High Productivity Programming Languages and Models (in print).
- M. Flynn. Some Computer Organisations and their Effectiveness. Trans. Computers, 21:948–960, 1972.
- G. Fox, S. Hiranandani, K. Kennedy, C. Koelbel, U. Kremer, C.-W. Tseng, and M. Wu. The Fortran D Language Specification. Technical Report TR90–141, Department of Computer Science, December 1990.
- Dennis Gannon, William Jalby, and Kyle Gallivan. Strategies for Cache and Local Memory Management by Global Program Transformation. J. Parallel Distrib. Comput., 7-19 5(5):587–616, 1988.
- Michael Gerndt. Automatic Parallelization for Distributed-Memory Multiprocessing Systems. PhD thesis, University of Bonn, Germany, 1989.
- Wolfgang K. Giloi. SUPRENUM: A Trendsetter in Modern Supercomputer Development. Parallel Computing, pages 283–296, 1988.
- W. Gropp, S. Huss-Lederman, A. Lumsdaine, E. Lusk, B. Nitsberg, W. Saphir, and M. Snir. MPI – The Complete Reference: Volume 2, The MPI Extensions. Scientific and Engineering Computation Series. MIT Press, Cambridge, Massachusetts, September 1998.
- M. Gupta, S. Midkiff, E. Schonberg, V. Seshadri, D. Shields, K. Wang, W. Ching, and T. Ngo. An HPF Compiler for the IBM SP2. In Proceedings of Supercomputing ’95, San Diego, California, December 1995.
- Manish Gupta. Automatic Data Partitioning on Distributed Memory Multicomputers. PhD thesis, University of Illinois at Urbana-Champaign, Champaign, IL, USA, 1992.
- L. Hamel, P. Hatcher, and M. Quinn. An Optimizing C* Compiler for a Hypercube Multicomputer. In J. Saltz and P. Mehrotra, editors, Languages, Compilers, and Run–Time Environments for Distributed Memory Machines. North–Holland, Amsterdam, The Netherlands, 1992.
- J. Harris, J. Bircsak, M. R. Bolduc, J. A. Diewald, I. Gale, N. Johnson, S. Lee, C. A. Nelson, and C. Offner. Compiling High Performance Fortran for Distributed–Memory Systems. Digital Technical Journal of Digital Equipment Corporation, 7(3):5–23, Fall 1995.
- P. Hatcher, A. Lapadula, R. Jones, M. Quinn, and J. Anderson. A Production Quality C* Compiler for Hypercube Machines. In 3rd ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, pages 73–82, April 1991.
- John L. Hennessy and David A. Patterson. Computer Architecture. A Quantitative Approach. Morgan Kaufman Publishers, 1996. Second Edition.
- High Performance Fortran Forum. High Performance Fortran Language Specification. Scientific Programming, 2(1–2):1–170, 1993. (also available as CRPC–TR92225).
- High Performance Fortran Forum. High Performance Fortran Language Specification, version 1.0. Technical Report CRPC-TR92225, Rice University, Center for Research on Parallel Computation, Houston, Tex., 1993.
- R. Hill. MIMDizer: A New Tool for Parallelization. Supercomputing Review, 3(4), April 1990.
- W. Daniel Hillis. The Connection Machine. Series in Artificial Inteligence. MIT Press, Cambridge, MA, 1985.
- S. Hiranandani, K. Kennedy, and C.-W. Tseng. Compiling Fortran D for MIMD Distributed – Memory Machines. Communications of the ACM, 35(8):66–80, August 1992.
- S. Hiranandani, K. Kennedy, and C.-W. Tseng. Evaluation of Compiler Optimizations for Fortran D on MIMD Distributed–Memory Machines. In Proceedings of the 1992 ACM International Conference on Supercomputing, Washington, DC, July 1992.
- P. Husbands, C. Isbell, and A. Edelman. MATLAB*P: A Tool for Interactive Supercomputing. In Proceedings of the 9th SIAM Conference on Parallel Processing. Scientific Computing, 1999.
- ESA/390 Principles of Operation. Technical report, IBM Corporation. IBM Publication No. SA22-7201.
- K. Ikudome, G. Fox, A. Kolawa, and J. Flower. An Automatic and Symbolic Parallelization System for Distributed Memory Parallel Computers. In Fifth Distributed-Memory Computing Conference, pages 1105–1114, Charleston, South Carolina, April 1990.
- H. F. Jordan. The Force. In L. H. Jamieson, D. B. Gannon, and R. J. Douglass, editors, The Characteristics of Parallel Algorithms. MIT Press, 1987.
- Kendall Square Systems.
- Ken Kennedy and Uli Kremer. Automatic Data Layout for Distributed Memory Machines. ACM Transactions on Programming Languages and Systems (TOPLAS), 20(4):869–916, July 1998.
- Jeremy Kepner and Nadya Travinin. Parallel Matlab: The next generation. In Proceedings of the 2003 Workshop on High Performance Embedded Computing (HPEC03), 2003.
- KSR1 Principles of Operation, 1991. Waltham, MA.
- D. Kuck, Y. Muraoka, and S. Chen. On the Number of Operations Simultaneously Executable in Fortran-like Programs and Their Resulting Speedup. IEEE Transactions on Computers, C-21(12):1293–1310, December 1972.
- Monica D. Lam, Edward E. Rothberg, and Michael E.Wolf. The Cache Performance and Optimizations of Blocked Algorithms. In ASPLOS-IV: Proceedings of the Fourth International Conference on Architectural Support for Programming Languages and Operating Systems, pages 63–74, New York, NY, USA, 1991. ACM Press.
- L. Lamport. The Parallel Execution of DO Loops. Communications of the ACM, 17(2):83–93, February 1974.
- B. Leasure. Parallel Processing Model for High-Level Programming Languages. Technical report, American National Standard for Information Processing, April 1994.
- J. Li and M. Chen. Compiling Communication-Efficient Programs for Massively Parallel Machines. IEEE Trans. Parallel Distrib. Syst., 2(3):361–376, 1991.
- J. Li and M.Chen. Generating Explicit Communication from Shared-Memory Program References. In Proceedings of Supercomputing ’90, pages 865–876, New York, NY, November 1990.
- J. H. Merlin. Adapting Fortran 90 Array Programs for Distributed-Memory Architectures. In H.P. Zima, editor, First International ACPC Conference, pages 184–200. Lecture Notes in Computer Science 591, Springer Verlag, Salzburg, Austria, 1991.
- Message Passing Interface Forum. MPI: A Message–Passing Interface Standard. International Journal of Supercomputer Applications and High Performance Computing, 8(3/4):165–414, 1994. (special issue on MPI, also available electronically via
- Myrias Systems.
- D. S. Nikolopoulos, T.S. Papatheodoru, C.D. Polychronopoulos, J. Labarta, and E. Ayguade. Is Data Distribution Necessary in OpenMP? In Proceedings of Supercomputing 2000, November 2000.
- OpenMP Application Program Interface. Version 2.5. Technical report, OpenMP Architecture Review Board, May 2005.
- Anita Osterhaug. Guide to Parallel Programming on Sequent Computer Systems. Prentice Hall, Englewood Cliffs, New Jersey, 1989.
- D. Pase. MPP Fortran Programming Model. High Performance Fortran Forum, January 1991.
- M. Quinn, A. Malishevsky, N. Seelam, and Y. Zhao. Preliminary Results from a Parallel MATLAB Compiler. In Proceedings of the International Parallel Processing Symposium, pages 81–87, April 1998.
- A. P. Reeves and C.M. Chase. The Paragon Programming Paradigm and Distributed-Memory Multicomputers. In J. Saltz and P. Mehrotra, editors, Compilers and Runtime Software for Scalable Multiprocessors. Elsevier, Amsterdam, The Netherlands, 1991.
- A. Rogers and K. Pingali. Process Decomposition Through Locality of Reference. In Proceedings of the SIGPLAN ’89 Conference on Programming Language Design and Implementation, Portland, Oregon, June 1989.
- John R. Rose and Guy L. Steele. C*: An Extended C Language for Data Parallel Programming. In Proceedings Second International Conference on Supercomputing, volume Vol.II,2-16, 1987. International Supercomputing Institute.
- M. Rosing, R.W. Schnabel, and R.P. Weaver. Expressing Complex Parallel Algorithms in DINO. In Fourth Conference on Hypercubes, Concurrent Computers, and Applications, pages 553–560, 1989.
- R. Ruehl and M. Annaratone. Parallelization of Fortran Code on Distributed-Memory Parallel Processors. In International Conference on Supercomputing, Amsterdam, The Netherlands, June 1990. ACM Press.
- H. Sakagami, H. Murai, Y. Seo, and M. Yokokawa. 14.9 TFLOPS Three-dimensional Fluid Simulation for Fusion Science with HPF on the Earth Simulator. In SC2002, November 2002.
- J. Saltz, K. Crowley, R. Mirchandaney, and H. Berryman. Run-time Scheduling and Execution of Loops on Messagepassing Machines. Journal of Parallel and Distributed Computing, 8(2):303–312, 1990.
- Vivek Sarkar. Automatic Selection of High Order Transformations in the IBM XL Fortran Compilers. IBM Journal of Research and Development, 41(3), May 1997.
- C. L. Seitz. The Cosmic Cube. Communications of the ACM, 28(1):22–33, January 1985.
- M. Shimasaki and Hans P. Zima. Special Issue on the Earth Simulator, November 2004.
- D. Slotnick, W. Brock, and R. MacReynolds. The SOLOMON computer. In Proceedings of the AFIPS Fall Joint Computer Conference, pages 87–107, 1962.
- M. Snir, S. Otto, S. Huss-Lederman, D. Walker, and J. Dongarra. MPI – The Complete Reference: Volume 1, The MPI Core. MIT Press, Cambridge, Massachusetts, 2 edition, 1998.
- Lawrence Snyder. A Programming Guide to ZPL. MIT Press, Scientific and Engineering Computation Series, March 1999.
- Sun Microsystems, Inc., Burlington, Massachusetts. The Fortress Language Specification, Version 0.707, July 2005.
- Thinking Machines Corporation, Cambridge, Massachusetts. CM Fortran Reference Manual, Version 1.0, February 1991.
- Transputer: A Programmable Component that Gives Micros a New Name. Computer Design, 23:243–244, February 1984.
- R. Triolet, F. Irigoin, and P. Feautrier. Direct Parallelization of CALL Statements. In Proceedings of the SIGPLAN ’86 Symposium on Compiler Construction, Palo Alto, California, June 1986.
- C.-W. Tseng. An Optimizing Fortran D Compiler for MIMD Distributed–Memory Machines. PhD thesis, Rice University, January 1993.
- P. S. Tseng. A Systolic Array Programming Language. In Fifth Distributed-Memory Computing Conference, pages 1125–1130, Charleston, South Carolina, April 1990.
- M. Ujaldon, E.L. Zapata, B. Chapman, and H. Zima. Vienna Fortran/HPF Extensions for Sparse and Irregular Problems and Their Compilation. IEEE Transactions on Parallel and Distributed Systems, 8(10):1068–1083, October 1997.
- Vax computers.
- Michael E. Wolf and Monica S. Lam. A Data Locality Optimizing Algorithm. In PLDI ’91: Proceedings of the ACM SIGPLAN 1991 Conference on Programming Language Design and Implementation, pages 30–44, New York, NY, USA, 1991. ACM Press.
- M. J. Wolfe. Optimizing Supercompilers for Supercomputers. MIT Press, Cambridge, Massachusetts, 1989.
- H. Zima, H.-J. Bast, and M. Gerndt. SUPERB: A Tool For Semi–Automatic MIMD/SIMD Parallelization. Parallel Computing, 6:1–18, 1988.
- H. Zima and B. Chapman. Compiling for Distributed–Memory Systems. Proceedings of the IEEE, 81(2):264–287, February 1993.
- Hans P. Zima, P. Brezany, B. Chapman, P. Mehrotra, and A. Schwald. Vienna Fortran – A Language Specification. Internal Report 21, ICASE, NASA Langley Research Center, March 1992.
Назад Содержание
|
|