Code generation in ORCA: progress, efficiency and tight integration
An improved version of ORCA's automated generator environment (ORCA-AGE II) is presented. The algorithmic improvements and the move to C++ as the programming language lead to a performance gain of up to two orders of magnitude compared to the previously developed P ython toolchain. Additionally...
Saved in:
Published in | Physical chemistry chemical physics : PCCP Vol. 26; no. 21; pp. 1525 - 1522 |
---|---|
Main Authors | , , , , , , , |
Format | Journal Article |
Language | English |
Published |
England
Royal Society of Chemistry
29.05.2024
|
Subjects | |
Online Access | Get full text |
Cover
Loading…
Summary: | An improved version of ORCA's automated generator environment (ORCA-AGE II) is presented. The algorithmic improvements and the move to C++ as the programming language lead to a performance gain of up to two orders of magnitude compared to the previously developed P
ython
toolchain. Additionally, the restructured modular design allows for far more complex code engines to be implemented readily. Importantly, we have realised an extremely tight integration with the ORCA host program. This allows for a workflow in which only the wavefunction Ansatz is part of the source code repository while all actual high-level code is generated automatically, inserted at the appropriate place in the host program before it is compiled and linked together with the hand written code parts. This construction ensures longevity and uniform code quality. Furthermore the new developments allow ORCA-AGE II to generate parallelised production-level code for highly complex theories, such as fully internally contracted multireference coupled-cluster theory (fic-MRCC) with an enormous number of contributing tensor contractions. We also discuss the automated implementation of nuclear gradients for arbitrary theories. All these improvements enable the implementation of theories that are too complex for the human mind and also reduce development times by orders of magnitude. We hope that this work enables researchers to concentrate on the intellectual content of the theories they develop rather than be concerned with technical details of the implementation.
An improved version of ORCA's automated generator environment is presented, which is capable of producing well-performing code for highly complex methods, such as multireference coupled-cluster and analytic nuclear gradients for correlation methods. |
---|---|
Bibliography: | https://doi.org/10.1039/d4cp00444b Electronic supplementary information (ESI) available. See DOI ObjectType-Article-1 SourceType-Scholarly Journals-1 ObjectType-Feature-2 content type line 23 |
ISSN: | 1463-9076 1463-9084 |
DOI: | 10.1039/d4cp00444b |