Modernizing the core quantum chemistry algorithms

This document covers the basics of computational chemistry and how using the modern programming techniques the theory can be efficiently implemented on digital computers. The computer implementations are developed from the core two-electron integrals to many-body and coupled cluster algorithms. A particular attention is paid to the physical constraints of he computer resources and the emergence of the novel architectures.

[1]  J. Cizek On the Correlation Problem in Atomic and Molecular Systems. Calculation of Wavefunction Components in Ursell-Type Expansion Using Quantum-Field Theoretical Methods , 1966 .

[2]  Kazuya Ishimura,et al.  A new parallel algorithm of MP2 energy calculations , 2006, J. Comput. Chem..

[3]  S. F. Boys Electronic wave functions - I. A general method of calculation for the stationary states of any molecular system , 1950, Proceedings of the Royal Society of London. Series A. Mathematical and Physical Sciences.

[4]  Richard Gerber The Software Optimization Cookbook , 2002 .

[5]  David Abrahams,et al.  C++ Template Metaprogramming: Concepts, Tools, and Techniques from Boost and Beyond (C++ In-Depth Series) , 2004 .

[6]  Matthew L. Leininger,et al.  Psi4: an open‐source ab initio electronic structure program , 2012 .

[7]  A.P. Rendell,et al.  Enabling the Efficient Use of SMP Clusters: The GAMESS/DDI Model , 2003, ACM/IEEE SC 2003 Conference (SC'03).

[8]  Karol Kowalski,et al.  Efficient computer implementation of the renormalized coupled-cluster methods: The R-CCSD[T], R-CCSD(T), CR-CCSD[T], and CR-CCSD(T) approaches , 2002 .

[9]  Andrew Binstock,et al.  Programming with hyper-threading technology , 2004 .

[10]  B. Alford The Overall Picture , 1988 .

[11]  Michael Klemm,et al.  From GPGPU to Many-Core: Nvidia Fermi and Intel Many Integrated Core Architecture , 2012, Computing in Science & Engineering.

[12]  Tomasz Janowski,et al.  Array files for computational chemistry: MP2 energies , 2007, J. Comput. Chem..

[13]  Kazuya Ishimura,et al.  A new algorithm of two-electron repulsion integral calculations: a combination of Pople–Hehre and McMurchie–Davidson methods , 2008 .

[14]  R J Bartlett,et al.  Parallel implementation of electronic structure energy, gradient, and Hessian calculations. , 2008, The Journal of chemical physics.

[15]  Mark S. Gordon,et al.  A Novel Approach to Parallel Coupled Cluster Calculations: Combining Distributed and Shared Memory Techniques for Modern Cluster Based Systems , 2007 .

[16]  Brian W. Kernighan,et al.  The C Programming Language , 1978 .

[17]  W. Heisenberg,et al.  Zur Quantentheorie der Molekeln , 1924 .

[18]  J. W. Backus,et al.  The FORTRAN automatic coding system , 1899, IRE-AIEE-ACM '57 (Western).

[19]  J. Pople Molecular orbital methods in organic chemistry , 1970 .

[20]  Rodney J. Bartlett,et al.  Coupled-cluster methods with internal and semi-internal triply and quadruply excited clusters: CCSDt and CCSDtq approaches , 1999 .

[21]  Roland Lindh,et al.  An integral direct, distributed-data, parallel MP2 algorithm , 1997 .

[22]  Mark S. Gordon,et al.  Advances in electronic structure theory , 2005 .

[23]  R. Bartlett,et al.  A full coupled‐cluster singles and doubles model: The inclusion of disconnected triples , 1982 .

[24]  Isaiah Shavitt,et al.  Many-Body Methods in Chemistry and Physics: MBPT and Coupled-Cluster Theory , 2009 .

[25]  Henry F. Schaefer,et al.  Accelerating the convergence of the coupled-cluster approach: The use of the DIIS method , 1986 .

[26]  A. Szabó,et al.  Modern quantum chemistry : introduction to advanced electronic structure theory , 1982 .

[27]  Mark S. Gordon,et al.  Chapter 41 – Advances in electronic structure theory: GAMESS a decade later , 2005 .

[28]  Karl A. Wilkinson,et al.  Acceleration of the GAMESS‐UK electronic structure package on graphical processing units , 2011, J. Comput. Chem..

[29]  David Feller,et al.  Basis Set Selection for Molecular Calculations , 1986 .

[30]  J. Pople,et al.  Variational configuration interaction methods and comparison with perturbation theory , 2009 .

[31]  Peter Pulay,et al.  Parallel Calculation of Coupled Cluster Singles and Doubles Wave Functions Using Array Files. , 2007, Journal of chemical theory and computation.

[32]  Curtis L. Janssen,et al.  An efficient reformulation of the closed‐shell coupled cluster single and double excitation (CCSD) equations , 1988 .

[33]  Ronald L. Rivest,et al.  Introduction to Algorithms , 1990 .

[34]  David E. Bernholdt,et al.  Parallel computational chemistry made easier: The development of NWChem , 1995 .

[35]  M. Plesset,et al.  Note on an Approximation Treatment for Many-Electron Systems , 1934 .

[36]  Alán Aspuru-Guzik,et al.  Accelerating Correlated Quantum Chemistry Calculations Using Graphical Processing Units , 2010, Computing in Science & Engineering.

[37]  Koji Yasuda,et al.  Two‐electron integral evaluation on the graphics processor unit , 2008, J. Comput. Chem..

[38]  Robert J. Harrison,et al.  Parallel direct four-index transformations , 1996 .

[39]  Graham D. Fletcher,et al.  A parallel second-order Møller-Plesset gradient , 1997 .

[40]  Mark S. Gordon,et al.  New Multithreaded Hybrid CPU/GPU Approach to Hartree-Fock. , 2012, Journal of chemical theory and computation.

[41]  Randy H. Katz,et al.  A case for redundant arrays of inexpensive disks (RAID) , 1988, SIGMOD '88.

[42]  Michael J. Frisch,et al.  Semi-direct algorithms for the MP2 energy and gradient , 1990 .

[43]  Benny G. Johnson,et al.  Kohn—Sham density-functional theory within a finite basis set , 1992 .

[44]  Shigeru Obara,et al.  Efficient recursive computation of molecular integrals over Cartesian Gaussian functions , 1986 .

[45]  Michael J. Frisch,et al.  MP2 energy evaluation by direct methods , 1988 .

[46]  Jack J. Dongarra,et al.  Accelerating GPU Kernels for Dense Linear Algebra , 2010, VECPAR.

[47]  James Isaak The History of Posix: A Study in the Standards Process , 1990, Computer.

[48]  M. Head‐Gordon,et al.  A fifth-order perturbation comparison of electron correlation theories , 1989 .

[49]  D. B. Boyd Quantum Chemistry Program Exchange. , 1999, Journal of molecular graphics & modelling.

[50]  Martin Head-Gordon,et al.  A method for two-electron Gaussian integral and integral derivative evaluation using recurrence relations , 1988 .

[51]  Edward T. Seidl,et al.  Parallel direct implementations of second‐order perturbation theories , 1995, J. Comput. Chem..

[52]  Thomas R. Furlani,et al.  Implementation of a parallel direct SCF algorithm on distributed memory computers , 1995, J. Comput. Chem..

[53]  F. Matthias Bickelhaupt,et al.  Chemistry with ADF , 2001, J. Comput. Chem..

[54]  Julien Langou,et al.  Parallel tiled QR factorization for multicore architectures , 2007, Concurr. Comput. Pract. Exp..

[55]  F. Coester,et al.  Short-range correlations in nuclear wave functions , 1960 .

[56]  Warren J. Hehre,et al.  Computation of electron repulsion integrals involving contracted Gaussian basis functions , 1978 .

[57]  Ivan S Ufimtsev,et al.  Quantum Chemistry on Graphical Processing Units. 2. Direct Self-Consistent-Field Implementation. , 2009, Journal of chemical theory and computation.

[58]  D R Yarkony,et al.  Modern electronic structure theory , 1995 .

[59]  Michel Dupuis,et al.  Parallel computation of molecular energy gradients on the loosely coupled array of processors (LCAP) , 1987 .

[60]  Ivan S Ufimtsev,et al.  Quantum Chemistry on Graphical Processing Units. 1. Strategies for Two-Electron Integral Evaluation. , 2008, Journal of chemical theory and computation.

[61]  Sandeep Koranne,et al.  Boost C++ Libraries , 2011 .

[62]  Jarek Nieplocha,et al.  Advances, Applications and Performance of the Global Arrays Shared Memory Programming Toolkit , 2006, Int. J. High Perform. Comput. Appl..

[63]  Shawn T. Brown,et al.  Advances in methods and algorithms in a modern quantum chemistry program package. , 2006, Physical chemistry chemical physics : PCCP.

[64]  Michael Wolfe,et al.  J+ = J , 1994, ACM SIGPLAN Notices.

[65]  Michel Dupuis,et al.  Parallel computation of the Moller–Plesset second‐order contribution to the electronic correlation energy , 1988 .

[66]  Clemens C. J. Roothaan,et al.  New Developments in Molecular Orbital Theory , 1951 .

[67]  Debashis Mukherjee,et al.  Applications of a non-perturbative many-body formalism to general open-shell atomic and molecular problems: calculation of the ground and the lowest π-π* singlet and triplet energies and the first ionization potential of trans-butadiene , 1977 .

[68]  Brett M. Bode,et al.  Uncontracted Rys Quadrature Implementation of up to G Functions on Graphical Processing Units. , 2010, Journal of chemical theory and computation.

[69]  Bjarne Stroustrup,et al.  C++ Programming Language , 1986, IEEE Softw..

[70]  Michel Dupuis,et al.  Computation of electron repulsion integrals using the rys quadrature method , 1983 .

[71]  Martin Head-Gordon,et al.  Quadratic configuration interaction. A general technique for determining electron correlation energies , 1987 .

[72]  I. Lindgren A coupled-cluster approach to the many-body perturbation theory for open-shell systems , 2009 .

[73]  Josef Paldus,et al.  Correlation Problems in Atomic and Molecular Systems. IV. Extended Coupled-Pair Many-Electron Theory and Its Application to the B H 3 Molecule , 1972 .