Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.5555/762761.762818acmconferencesArticle/Chapter ViewAbstractPublication PagesscConference Proceedingsconference-collections
Article

A high-level approach to synthesis of high-performance codes for quantum chemistry

Published: 16 November 2002 Publication History

Abstract

This paper discusses an approach to the synthesis of high-performance parallel programs for a class of computations encountered in quantum chemistry and physics. These computations are expressible as a set of tensor contractions and arise in electronic structure modeling. An overview is provided of the synthesis system, that transforms a high-level specification of the computation into high-performance parallel code, tailored to the characteristics of the target architecture. An example from computational chemistry is used to illustrate how different code structures are generated under different assumptions of available memory on the target computer.

References

[1]
Philip Alpatov, Greg Baker, Carter Edwards, John Gunnels, Greg Morrow, James Overfelt, Robert van de Geijn, Yuan-Jye J. Wu. PLAPACK: Parallel Linear Algebra Package. In Proc. of the SIAM Parallel Processing Conference, 1997.]]
[2]
Satish Balay, William D. Gropp, Lois Curfman McInnes, and Barry F. Smith. PETSc Users Manual. Technical Report ANL-95/11 --- Revision 2.1.2, Argonne National Laboratory, 2002.]]
[3]
J. Bilmes, K. Asanovic, C. Chin, and J. Demmel. Optimizing matrix multiply using PHiPAC. In Proc. ACM Intl. Conf. on Supercomputing, pp. 340--347, 1997.]]
[4]
D. L. Brown, William D. Henshaw and Daniel J. Quinlan. Overture: An Object-Oriented Framework for Solving Partial Differential Equations on Overlapping Grids. In Proc. SIAM conference on Object Oriented Methods for Scientfic Computing, UCRL-JC-132017, 1999.]]
[5]
W. Carlson, J. Draper, D. Culler, K. Yelick, E. Brooks, and K. Warren. Introduction to UPC and Language Specification. CCS-TR-99-157, IDA Center for Computing Sciences, 1999.]]
[6]
J. Choi, J. Demmel, I. Dhillon, J. Dongarra, S. Ostrouchov, A. Petitet, K. Stanley, D. Walker, and R. C. Whaley. ScaLAPACK: A Portable Linear Algebra Library for Distributed Memory Computers --- Design Issues and Performance. Technical Report CS-95-283, University of Tennessee, Knoxville, Mar. 1995.]]
[7]
D. Cociorva, G. Baumgartner, C.-C. Lam, P. Sadayappan, J. Ramanujam. Memory-Constrained Communication Minimization for a Class of Array Computations. In Proc. of the 15th International Workshop on Languages and Compilers for Parallel Computing, Jul. 2002.]]
[8]
D. Cociorva, G. Baumgartner, C.-C. Lam, P. Sadayappan, J. Ramanujam, M. Nooijen, D.E. Bernholdt, and R. Harrison. Space-Time Trade-Off Optimization for a Class of Electronic Structure Calculations. In Proc. of the ACM SIGPLAN 2002 Conference on Programming Language Design and Implementation, Jun. 2002, pp. 177--186.]]
[9]
D. Cociorva, J. Wilkins, G. Baumgartner, P. Sadayappan, J. Ramanujam, M. Nooijen, D.E. Bernholdt, and R. Harrison. Towards Automatic Synthesis of High-Performance Codes for Electronic Structure Calculations: Data Locality Optimization. Proc. of the Intl. Conf. on High Performance Computing, Dec. 2001, Lecture Notes in Computer Science, Vol. 2228, pp. 237--248, Springer-Verlag, 2001.]]
[10]
D. Cociorva, J. Wilkins, C.-C. Lam, G. Baumgartner, P. Sadayappan, J. Ramanujam. Loop Optimizations for a Class of Memory-Constrained Computations. In Proc. 15th ACM Intl. Conf. on Supercomputing, Jun. 2001, pp. 103--113.]]
[11]
L. De Rose and D. Padua. A MATLAB to Fortran 90 Translator and its Effectiveness. In Proc. 10th ACM Intl. Conf. on Supercomputing, 1996.]]
[12]
M. Frigo and S. Johnson. FFTW: An Adaptive Software Architecture for the FFT. In Proc. ICASSP 98, Vol. 3, pp. 1381--1384, 1998, http://www.fftw.org.]]
[13]
Samuel Guyer and Calvin Lin. Broadway: A Software Architecture for Scientific Computing. In The Architecture of Scientific Software, R.F. Boisvert and P.T.P. Tang (eds.), Kluwer Academic Press, 2000, pp. 175--192.]]
[14]
High Performance Computational Chemistry Group. NWChem, A Computational Chemistry Package for Parallel Computers, Version 3.3, 1999. Pacific Northwest National Laboratory, Richland, WA 99352.]]
[15]
J. Johnson, R. Johnson, D. Padua, and J. Xiong. Searching for the Best FFT Formulas with the SPL Compiler. In Languages and Compilers for High-Performance Computing, Springer-Verlag, 2001.]]
[16]
K. Kennedy, B. Broo, K. Cooper, J. Dongarra, R. Fowler, D. Gannon, L. Johnsson, J. Mellor-Crummey, and L. Torczon. Telescoping Languages: A Strategy for Automatic Generation of Scientific Problem-Solving Systems from Annotated Libraries. J. Parallel and Distributed Computing, 2001.]]
[17]
C.-C. Lam. Performance Optimization of a Class of Loops Implementing Multi-Dimensional Integrals. PhD thesis, The Ohio State University, 1999.]]
[18]
C.-C. Lam, D. Cociorva, G. Baumgartner, and P. Sadayappan. Memory-Optimal Evaluation of Expression Trees Involving Large Objects. In Intl. Conf. on High Performance Computing, Dec. 1999, Lecture Notes in Computer Science, Vol. 1745, Springer-Verlag, 1999.]]
[19]
C.-C. Lam, D. Cociorva, G. Baumgartner, and P. Sadayappan. Optimization of Memory Usage for a Class of Loops Implementing Multi-Dimensional Integrals. In Languages and Compilers for Parallel Computing, Aug. 1999, Lecture Notes in Computer Science, Vol. 1863, Springer-Verlag, 1999.]]
[20]
C.-C. Lam, P. Sadayappan, and R. Wenger. On Optimizing a Class of Multi-Dimensional Loops with Reductions for Parallel Execution. Parallel Processing Letters, Vol. 7, No. 2, pp. 157--168, 1997.]]
[21]
C.-C. Lam, P. Sadayappan, and R. Wenger. Optimization of a Class of Multi-Dimensional Integrals on Parallel Machines. In 8th SIAM Conf. on Parallel Processing for Scientific Computing, 1997.]]
[22]
T. J. Lee and G. E. Scuseria. Achieving Chemical Accuracy with Coupled Cluster Theory. In S. R. Langhoff (Ed.), Quantum Mechanical Electronic Structure Calculations with Chemical Accuracy, pp. 47--109, Kluwer Academic, 1997.]]
[23]
J. M. L. Martin. In P. v. R. Schleyer, P. R. Schreiner, N. L. Allinger, T. Clark, J. Gasteiger, P. Kollman, H. F. Schaefer III (Eds.), Encyclopedia of Computational Chemistry, Wiley & Sons, Berne (Switzerland). Vol. 1, pp. 115--128, 1998.]]
[24]
The Match Project. A MATLAB Compilation Environment for Distributed Heterogeneous Adaptive Computing Systems. www.ece.nwu.edu/cpdc/Match/Match.html.]]
[25]
Vijay Menon, Keshav Pingali. High-Level Semantic Optimization of Numerical Codes. In Proc. ACM Intl. Conf. on Supercomputing, 1999.]]
[26]
Vijay Menon, Keshav Pingali. A Case for Source-Level Transformations in MATLAB. In Proc. 2nd Conf. on Domain-Specific Languages, 1999.]]
[27]
D. Mirkovic and L. Johnsson. Automatic Performance Tuning in the UHFFT Library. In Proc. International Conference on Computational Science, Lecture Notes in Computer Science, Vol. 2073, pp. 71--80, Springer-Verlag, 2001.]]
[28]
J. Moura, J. Johnson, R. Johnson, D. Padua, V. Prasanna, M. Puschel, and M. Veloso. SPIRAL: Portable Library of Optimized Signal Processing Algorithms, 1998. http://www.ece.cmu.edu/~spiral.]]
[29]
J. Nieplocha, R. J. Harrison, and R. J. Littlefield. Global Arrays: A Nonuniform Memory Access Programming Model for High-Performance Computers. The Journal of Supercomputing, Vol. 10, pp. 197--220, 1996.]]
[30]
R.W. Numrich and J.K. Reid. Co-Array Fortran for Parallel Programming. Fortran Forum, Vol. 17, No. 2, 1998.]]
[31]
Matei Ripeanu and Adriana Iamnitchi. Cactus application: Performance predictions in grid environments. In Proc. EuroPar 2001, Lecture Notes in Computer Science, Springer-Verlag, 2001.]]
[32]
L. Snyder. A Programmer's Guide to ZPL. The MIT Press, Mar. 1999.]]
[33]
R. Whaley and J. Dongarra. Automatically Tuned Linear Algebra Software (ATLAS). In Proc. Supercomputing '98, 1998.]]
[34]
J. Xiong, D. Padua, and J. Johnson. SPL: A Language and Compiler for DSP Algorithms. In Proc. ACM SIGPLAN Conf. on Programming Language Design and Implementation, 2001.]]
[35]
K. A. Yelick, L. Semenzato, G. Pike, C. Miyamoto, B. Liblit, A. Krishnamurthy, P. N. Hilfinger, S. L. Graham, D. Gay, P. Colella, and A. Aiken. Titanium: A High-Performance Java Dialect, Concurrency: Practice and Experience, Vol. 10, No. 11--13, Sept.-Nov. 1998.]]

Cited By

View all
  • (2018)The three pillars of machine programmingProceedings of the 2nd ACM SIGPLAN International Workshop on Machine Learning and Programming Languages10.1145/3211346.3211355(69-80)Online publication date: 18-Jun-2018
  • (2016)A domain-specific compiler for a parallel multiresolution adaptive numerical simulation environmentProceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis10.5555/3014904.3014958(1-12)Online publication date: 13-Nov-2016
  • (2013)Exploiting domain knowledge to optimize parallel computational mechanics codesProceedings of the 27th international ACM conference on International conference on supercomputing10.1145/2464996.2464998(25-36)Online publication date: 10-Jun-2013
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
SC '02: Proceedings of the 2002 ACM/IEEE conference on Supercomputing
November 2002
952 pages
ISBN:076951524X

Sponsors

Publisher

IEEE Computer Society Press

Washington, DC, United States

Publication History

Published: 16 November 2002

Check for updates

Qualifiers

  • Article

Conference

SC '02
Sponsor:

Acceptance Rates

SC '02 Paper Acceptance Rate 67 of 230 submissions, 29%;
Overall Acceptance Rate 1,516 of 6,373 submissions, 24%

Upcoming Conference

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)3
  • Downloads (Last 6 weeks)0
Reflects downloads up to 22 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2018)The three pillars of machine programmingProceedings of the 2nd ACM SIGPLAN International Workshop on Machine Learning and Programming Languages10.1145/3211346.3211355(69-80)Online publication date: 18-Jun-2018
  • (2016)A domain-specific compiler for a parallel multiresolution adaptive numerical simulation environmentProceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis10.5555/3014904.3014958(1-12)Online publication date: 13-Nov-2016
  • (2013)Exploiting domain knowledge to optimize parallel computational mechanics codesProceedings of the 27th international ACM conference on International conference on supercomputing10.1145/2464996.2464998(25-36)Online publication date: 10-Jun-2013
  • (2012)Using machine learning to improve automatic vectorizationACM Transactions on Architecture and Code Optimization10.1145/2086696.20867298:4(1-23)Online publication date: 26-Jan-2012
  • (2011)MDE4HPCProceedings of the 15th international conference on Integrating System and Software Modeling10.1007/978-3-642-25264-8_19(247-261)Online publication date: 5-Jul-2011
  • (2006)An approach to locality-conscious load balancing and transparent memory hierarchy management with a global- address-space parallel programming modelProceedings of the 20th international conference on Parallel and distributed processing10.5555/1898699.1898947(383-383)Online publication date: 25-Apr-2006
  • (2006)An extensible global address space framework with decoupled task and data abstractionsProceedings of the 20th international conference on Parallel and distributed processing10.5555/1898699.1898804(283-283)Online publication date: 25-Apr-2006
  • (2006)Hypergraph partitioning for automatic memory hierarchy managementProceedings of the 2006 ACM/IEEE conference on Supercomputing10.1145/1188455.1188558(98-es)Online publication date: 11-Nov-2006
  • (2006)Efficient synthesis of out-of-core algorithms using a nonlinear optimization solverJournal of Parallel and Distributed Computing10.1016/j.jpdc.2005.06.01766:5(659-673)Online publication date: 1-May-2006
  • (2005)Performance modeling and optimization of parallel out-of-core tensor contractionsProceedings of the tenth ACM SIGPLAN symposium on Principles and practice of parallel programming10.1145/1065944.1065980(266-276)Online publication date: 15-Jun-2005
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media