A toolchain for the automatic generation of computer codes for correlated wavefunction calculations

In this work, the automated generator environment for ORCA (ORCA‐AGE) is described. It is a powerful toolchain for the automatic implementation of wavefunction‐based quantum chemical methods. ORCA‐AGE consists of three main modules: (1) generation of “raw” equations from a second quantized Ansatz for the wavefunction, (2) factorization and optimization of equations, and (3) generation of actual computer code. We generate code for the ORCA package, making use of the powerful functionality for wavefunction‐based correlation calculations that is already present in the code. The equation generation makes use of the most elementary commutation relations and hence is extremely general. Consequently, code can be generated for single reference as well as multireference approaches and spin‐independent as well as spin‐dependent operators. The performance of the generated code is demonstrated through comparison with efficient hand‐optimized code for some well‐understood standard configuration interaction and coupled cluster methods. In general, the speed of the generated code is no more than 30% slower than the hand‐optimized code, thus allowing for routine application of canonical ab initio methods to molecules with about 500–1000 basis functions. Using the toolchain, complicated methods, especially those surpassing human ability for handling complexity, can be efficiently and reliably implemented in very short times. This enables the developer to shift the attention from debugging code to the physical content of the chosen wavefunction Ansatz. Automatic code generation also has the desirable property that any improvement in the toolchain immediately applies to all generated code. © 2017 Wiley Periodicals, Inc.

[1]  Robert A. van de Geijn,et al.  BLIS: A Framework for Rapidly Instantiating BLAS Functionality , 2015, ACM Trans. Math. Softw..

[2]  F. Neese,et al.  Theoretical analysis of the spin Hamiltonian parameters in Co(II)S4 complexes, using density functional theory and correlated ab initio methods. , 2011, Inorganic chemistry.

[3]  Celestino Angeli,et al.  FRODO: a MuPAD program to calculate matrix elements between contracted wavefunctions , 2005, Comput. Phys. Commun..

[4]  H. Monkhorst,et al.  Calculation of properties with the coupled-cluster method , 2009 .

[5]  Frank Neese,et al.  The ORCA program system , 2012 .

[6]  R. Bartlett,et al.  Recursive intermediate factorization and complete computational linearization of the coupled-cluster single, double, triple, and quadruple excitation equations , 1991 .

[7]  Hans-Joachim Werner,et al.  A new internally contracted multi-reference configuration interaction method. , 2011, The Journal of chemical physics.

[8]  Marcel Nooijen,et al.  State Selective Equation of Motion Coupled Cluster Theory: Some Preliminary Results , 2002 .

[9]  L. Dagum,et al.  OpenMP: an industry standard API for shared-memory programming , 1998 .

[10]  Mihály Kállay,et al.  Higher excitations in coupled-cluster theory , 2001 .

[11]  F. Neese,et al.  Communication: multireference equation of motion coupled cluster: a transform and diagonalize approach to electronic structure. , 2014, The Journal of chemical physics.

[12]  Peter Pulay,et al.  An efficient reformulation of the closed‐shell self‐consistent electron pair theory , 1984 .

[13]  F. Neese,et al.  Magneto-Structural Correlations in a Series of Pseudotetrahedral [Co(II)(XR)4](2-) Single Molecule Magnets: An ab Initio Ligand Field Study. , 2015, Inorganic chemistry.

[14]  So Hirata,et al.  Symbolic Algebra in Quantum Chemistry , 2006 .

[15]  M. Nooijen,et al.  State specific equation of motion coupled cluster method in general active space. , 2009, The Journal of chemical physics.

[16]  Edward F. Valeev,et al.  Equations of explicitly-correlated coupled-cluster methods. , 2008, Physical chemistry chemical physics : PCCP.

[17]  Jeppe Olsen,et al.  The initial implementation and applications of a general active space coupled cluster method , 2000 .

[18]  David L. Freeman,et al.  Algebraic and Diagrammatic Methods in Many-Fermion Theory , 1992 .

[19]  J. Paldus,et al.  Computer generation of Feynman diagrams for perturbation theory. II. Program description , 1984 .

[20]  F. Neese,et al.  Efficient and accurate local approximations to coupled-electron pair approaches: An attempt to revive the pair natural orbital method. , 2009, The Journal of chemical physics.

[21]  Toru Shiozaki,et al.  Communication: automatic code generation enables nuclear gradient computations for fully internally contracted multireference theory. , 2015, The Journal of chemical physics.

[22]  Peter Pulay,et al.  Fourth‐order Mo/ller–Plessett perturbation theory in the local correlation treatment. I. Method , 1987 .

[23]  Beverly A. Sanders,et al.  Software design of ACES III with the super instruction architecture , 2011 .

[24]  John F. Stanton,et al.  The equation of motion coupled‐cluster method. A systematic biorthogonal approach to molecular excitation energies, transition probabilities, and excited state properties , 1993 .

[25]  Takeshi Yanai,et al.  Multireference configuration interaction theory using cumulant reconstruction with internal contraction of density matrix renormalization group wave function. , 2013, The Journal of chemical physics.

[26]  Marcel Nooijen,et al.  Extended similarity transformed equation-of-motion coupled cluster theory (extended-STEOM-CC): Applications to doubly excited states and transition metal compounds , 2000 .

[27]  M. Hanauer,et al.  Explicitly correlated internally contracted multireference coupled-cluster singles and doubles theory: ic-MRCCSD(F12∗) , 2013 .

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

[29]  Celestino Angeli,et al.  Computer assisted generation of the matrix elements between contracted wavefunctions in a Complete Active Space scheme , 2005, Comput. Phys. Commun..

[30]  Curtis L. Janssen,et al.  The automated solution of second quantization equations with applications to the coupled cluster approach , 1991 .

[31]  Christian Lengauer,et al.  Polly - Performing Polyhedral Optimizations on a Low-Level Intermediate Representation , 2012, Parallel Process. Lett..

[32]  So Hirata,et al.  Explicitly correlated coupled-cluster singles and doubles method based on complete diagrammatic equations. , 2008, The Journal of chemical physics.

[33]  Andreas Köhn,et al.  Perturbative treatment of triple excitations in internally contracted multireference coupled cluster theory. , 2012, The Journal of chemical physics.

[34]  Michael Hanrath,et al.  An efficient matrix-matrix multiplication based antisymmetric tensor contraction engine for general order coupled cluster. , 2010, The Journal of chemical physics.

[35]  Andreas Köhn,et al.  Pilot applications of internally contracted multireference coupled cluster theory, and how to choose the cluster operator properly. , 2011, The Journal of chemical physics.

[36]  David E. Bernholdt,et al.  Synthesis of High-Performance Parallel Programs for a Class of ab Initio Quantum Chemistry Models , 2005, Proceedings of the IEEE.

[37]  Michael Hanrath,et al.  A fully simultaneously optimizing genetic approach to the highly excited coupled-cluster factorization problem. , 2011, The Journal of chemical physics.

[38]  D. Tew,et al.  Implementation of the full explicitly correlated coupled-cluster singles and doubles model CCSD-F12 with optimally reduced auxiliary basis dependence. , 2008, The Journal of chemical physics.

[39]  Rachel L. Martinelli,et al.  PLuTO , 1930, EAMT.

[40]  S. Hirata Tensor Contraction Engine: Abstraction and Automated Parallel Implementation of Configuration-Interaction, Coupled-Cluster, and Many-Body Perturbation Theories , 2003 .

[41]  Manoj K. Kesharwani,et al.  Exploring the Accuracy Limits of Local Pair Natural Orbital Coupled-Cluster Theory. , 2015, Journal of chemical theory and computation.

[42]  Dipayan Datta,et al.  Multireference equation-of-motion coupled cluster theory. , 2012, The Journal of chemical physics.

[43]  J. Paldus,et al.  Computer generation of Feynman diagrams for perturbation theory I. General algorithm , 1973 .

[44]  Uday Bondhugula,et al.  Automatic Transformations for Communication-Minimized Parallelization and Locality Optimization in the Polyhedral Model , 2008, CC.

[45]  Charles L. Lawson,et al.  Basic Linear Algebra Subprograms for Fortran Usage , 1979, TOMS.

[46]  Evgeny Epifanovsky,et al.  New implementation of high‐level correlated methods using a general block tensor library for high‐performance electronic structure calculations , 2013, J. Comput. Chem..

[47]  Trygve Helgaker,et al.  Coupled cluster energy derivatives. Analytic Hessian for the closed‐shell coupled cluster singles and doubles wave function: Theory and applications , 1990 .

[48]  Frank Neese,et al.  Comparison of fully internally and strongly contracted multireference configuration interaction procedures. , 2016, The Journal of chemical physics.