Challenges
Datasets
Workspaces
Papers
Discussions
Leaderboard
Log inSign up
Challenges
Datasets
Workspaces
Papers
Discussions
Leaderboard
Blog
Job Board
Q3AS

© 2026 Aqora Quantum S.A.S.

TermsPrivacyLegal Notice

Journal of Computational Chemistry

The SHARK integral generation and digestion system

Frank Neese

Published Jun 9, 2022• 538 citations
Publisher

Abstract

In this paper, the SHARK integral generation and digestion engine is described. In essence, SHARK is based on a reformulation of the popular McMurchie/Davidson approach to molecular integrals. This reformulation leads to an efficient algorithm that is driven by BLAS level 3 operations. The algorithm is particularly efficient for high angular momentum basis functions (up to L = 7 is available by default, but the algorithm is programmed for arbitrary angular momenta). SHARK features a significant number of specific programming constructs that are designed to greatly simplify the workflow in quantum chemical program development and avoid undesirable code duplication to the largest possible extent. SHARK can handle segmented, generally and partially generally contracted basis sets. It can be used to generate a host of one- and two-electron integrals over various kernels including, two-, three-, and four-index repulsion integrals, integrals over Gauge Including Atomic Orbitals (GIAOs), relativistic integrals and integrals featuring a finite nucleus model. SHARK provides routines to evaluate Fock like matrices, generate integral transformations and related tasks. SHARK is the essential engine inside the ORCA package that drives essentially all tasks that are related to integrals over basis functions in version ORCA 5.0 and higher. Since the core of SHARK is based on low-level basic linear algebra (BLAS) operations, it is expected to not only perform well on present day but also on future hardware provided that the hardware manufacturer provides a properly optimized BLAS library for matrix and vector operations. Representative timings and comparisons to the Libint library used by ORCA are reported for Intel i9 and Apple M1 max processors.

DOI
10.1002/jcc.26942

Related papers

3-center and 4-center 2-particle Gaussian AO integrals on modern accelerated processors

Andrey Asadchev, Edward F. Valeev

We report an implementation of the McMurchie-Davidson (MD) algorithm for 3-center and 4-center 2-particle integrals over Gaussian atomic orbitals (AOs) with low and high angular momenta l and varying degrees of contraction for graphical processing units (GPUs). This work builds upon our recent implementation of a matrix form of the MD algorithm that is efficient for GPU evaluation of 4-center 2-particle integrals over Gaussian AOs of high angular momenta (l ≥ 4) [A. Asadchev and E. F. Valeev, J. Phys. Chem. A 127, 10889-10895 (2023)]. The use of unconventional data layouts and three variants of the MD algorithm allow for the evaluation of integrals with double precision and sustained performance between 25% and 70% of the theoretical hardware peak. Performance assessment includes integrals over AOs with l ≤ 6 (a higher l is supported). Preliminary implementation of the Hartree-Fock exchange operator is presented and assessed for computations with up to a quadruple-zeta basis and more than 20 000 AOs. The corresponding C++ code is part of the experimental open-source LibintX library available at https://github.com/ValeevGroup/libintx.

arXiv:2405.01834•The Journal of Chemical Physics•Jun 27, 2024•15 citations

Code generation in ORCA: progress, efficiency and tight integration

Marvin H. Lechner, Anastasios Papadopoulos, Kantharuban Sivalingam +5 more

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 PYTHON 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.

Physical Chemistry Chemical Physics•Jan 1, 2024•26 citations

Implementation of McMurchie–Davidson Algorithm for Gaussian AO Integrals Suited for SIMD Processors

Andrey Asadchev, Edward F. Valeev

High Resolution Image Download MS PowerPoint Slide We report an implementation of the McMurchie–Davidson evaluation scheme for 1- and 2-particle Gaussian AO integrals designed for processors with Single Instruction Multiple Data (SIMD) instruction sets. Like in our recent MD implementation for graphical processing units (GPUs) [ Asadchev, A.; Valeev, E. F. . J. Chem. Phys. 2024, 160, 244109 .], variable-sized batches of shellsets of integrals are evaluated at a time. By optimizing for the floating point instruction throughput rather than minimizing the number of operations, this approach achieves up to 50% of the theoretical hardware peak FP64 performance for many common SIMD-equipped platforms (AVX2, AVX512, NEON), which translates to speedups of up to 30 over the state-of-the-art one-shellset-at-a-time implementation of Obara–Saika-type schemes in Libint for a variety of primitive and contracted integrals. As with our previous work, we rely on the standard C++ programming language─such as the std::simd standard library feature to be included in the 2026 ISO C++ standard─without any explicit code generation to keep the code base small and portable. The implementation is part of the open source LibintX library freely available at https://github.com/ValeevGroup/libintx .

arXiv:2506.12501•The Journal of Physical Chemistry A•Oct 13, 2025•1 citation

Calculation of Quantum Chemical Two-Electron Integrals by Applying Compiler Technology on GPU

Gábor János Tornai, István Ladjánszki, Ádám Rák +2 more

In this article, we present an effective approach to calculate quantum chemical two-electron integrals over basis sets consisting of Gaussian-type basis functions on graphical processing unit (GPU). Our framework generates several different variants called routes to the same integral problem with different integral algorithms (McMurchie-Davidson, Head-Gordon-Pople, and Rys) and precision. Each route is benchmarked on more GPU architectures, and with this data, a model is fitted to select the best available route for an integral task given a GPU architecture. Moreover, this approach supports the computation of high angular momentum orbitals up to g effectively on GPU, tested up to cc-pVQZ-sized basis sets. Rigorous analysis is shown regarding the effectiveness of our method. Molecule simulations with several basis sets are measured using NVIDIA GTX 1080 Ti, NVIDIA P100, and NVIDIA V100 cards.

Journal of Chemical Theory and Computation•Sep 10, 2019•55 citations

Software Update: The ORCA Program System—Version 6.0

Frank Neese

ABSTRACT Version 6.0 of the ORCA quantum chemistry program suite was released in July 2024. ORCA 6.0 is a major turning point in the history of the program since it represents a near complete rewrite of the code base that leads to: (1) major performance improvements, (2) a clean and highly efficient code base that greatly facilitates future development, (3) a large amount of new functionality, and (4) new interface capabilities that facilitate inter‐operability with other quantum chemistry program packages. The article describes the most salient features of the program.

Wiley Interdisciplinary Reviews Computational Molecular Science•Mar 1, 2025•1,265 citations

Quantum Chemistry on Graphical Processing Units. 1. Strategies for Two-Electron Integral Evaluation

Ivan S. Ufimtsev, Todd J. Martı́nez

Modern videogames place increasing demands on the computational and graphical hardware, leading to novel architectures that have great potential in the context of high performance computing and molecular simulation. We demonstrate that Graphical Processing Units (GPUs) can be used very efficiently to calculate two-electron repulsion integrals over Gaussian basis functions [Formula: see text] the first step in most quantum chemistry calculations. A benchmark test performed for the evaluation of approximately 10(6) (ss|ss) integrals over contracted s-orbitals showed that a naïve algorithm implemented on the GPU achieves up to 130-fold speedup over a traditional CPU implementation on an AMD Opteron. Subsequent calculations of the Coulomb operator for a 256-atom DNA strand show that the GPU advantage is maintained for basis sets including higher angular momentum functions.

Journal of Chemical Theory and Computation•Jan 25, 2008•606 citations
In this paper, the SHARK integral generation and digestion engine is described. In essence, SHARK is based on a reformulation of the popular McMurchie/Davidson approach to molecular integrals. This reformulation leads to an efficient algorithm that is driven by BLAS level 3 operations. The algorithm is particularly efficient for high angular momentum basis functions (up to L = 7 is available by default, but the algorithm is programmed for arbitrary angular momenta). SHARK features a significant number of specific programming constructs that are designed to greatly simplify the workflow in quantum chemical program development and avoid undesirable code duplication to the largest possible extent. SHARK can handle segmented, generally and partially generally contracted basis sets. It can be used to generate a host of one- and two-electron integrals over various kernels including, two-, three-, and four-index repulsion integrals, integrals over Gauge Including Atomic Orbitals (GIAOs), relativistic integrals and integrals featuring a finite nucleus model. SHARK provides routines to evaluate Fock like matrices, generate integral transformations and related tasks. SHARK is the essential engine inside the ORCA package that drives essentially all tasks that are related to integrals over basis functions in version ORCA 5.0 and higher. Since the core of SHARK is based on low-level basic linear algebra (BLAS) operations, it is expected to not only perform well on present day but also on future hardware provided that the hardware manufacturer provides a properly optimized BLAS library for matrix and vector operations. Representative timings and comparisons to the Libint library used by ORCA are reported for Intel i9 and Apple M1 max processors.
We report an implementation of the McMurchie-Davidson (MD) algorithm for 3-center and 4-center 2-particle integrals over Gaussian atomic orbitals (AOs) with low and high angular momenta l and varying degrees of contraction for graphical processing units (GPUs). This work builds upon our recent implementation of a matrix form of the MD algorithm that is efficient for GPU evaluation of 4-center 2-particle integrals over Gaussian AOs of high angular momenta (l ≥ 4) [A. Asadchev and E. F. Valeev, J. Phys. Chem. A 127, 10889-10895 (2023)]. The use of unconventional data layouts and three variants of the MD algorithm allow for the evaluation of integrals with double precision and sustained performance between 25% and 70% of the theoretical hardware peak. Performance assessment includes integrals over AOs with l ≤ 6 (a higher l is supported). Preliminary implementation of the Hartree-Fock exchange operator is presented and assessed for computations with up to a quadruple-zeta basis and more than 20 000 AOs. The corresponding C++ code is part of the experimental open-source LibintX library available at https://github.com/ValeevGroup/libintx.
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 PYTHON 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.
High Resolution Image Download MS PowerPoint Slide We report an implementation of the McMurchie–Davidson evaluation scheme for 1- and 2-particle Gaussian AO integrals designed for processors with Single Instruction Multiple Data (SIMD) instruction sets. Like in our recent MD implementation for graphical processing units (GPUs) [ Asadchev, A.; Valeev, E. F. . J. Chem. Phys. 2024, 160, 244109 .], variable-sized batches of shellsets of integrals are evaluated at a time. By optimizing for the floating point instruction throughput rather than minimizing the number of operations, this approach achieves up to 50% of the theoretical hardware peak FP64 performance for many common SIMD-equipped platforms (AVX2, AVX512, NEON), which translates to speedups of up to 30 over the state-of-the-art one-shellset-at-a-time implementation of Obara–Saika-type schemes in Libint for a variety of primitive and contracted integrals. As with our previous work, we rely on the standard C++ programming language─such as the std::simd standard library feature to be included in the 2026 ISO C++ standard─without any explicit code generation to keep the code base small and portable. The implementation is part of the open source LibintX library freely available at https://github.com/ValeevGroup/libintx .
In this article, we present an effective approach to calculate quantum chemical two-electron integrals over basis sets consisting of Gaussian-type basis functions on graphical processing unit (GPU). Our framework generates several different variants called routes to the same integral problem with different integral algorithms (McMurchie-Davidson, Head-Gordon-Pople, and Rys) and precision. Each route is benchmarked on more GPU architectures, and with this data, a model is fitted to select the best available route for an integral task given a GPU architecture. Moreover, this approach supports the computation of high angular momentum orbitals up to g effectively on GPU, tested up to cc-pVQZ-sized basis sets. Rigorous analysis is shown regarding the effectiveness of our method. Molecule simulations with several basis sets are measured using NVIDIA GTX 1080 Ti, NVIDIA P100, and NVIDIA V100 cards.
ABSTRACT Version 6.0 of the ORCA quantum chemistry program suite was released in July 2024. ORCA 6.0 is a major turning point in the history of the program since it represents a near complete rewrite of the code base that leads to: (1) major performance improvements, (2) a clean and highly efficient code base that greatly facilitates future development, (3) a large amount of new functionality, and (4) new interface capabilities that facilitate inter‐operability with other quantum chemistry program packages. The article describes the most salient features of the program.
Modern videogames place increasing demands on the computational and graphical hardware, leading to novel architectures that have great potential in the context of high performance computing and molecular simulation. We demonstrate that Graphical Processing Units (GPUs) can be used very efficiently to calculate two-electron repulsion integrals over Gaussian basis functions [Formula: see text] the first step in most quantum chemistry calculations. A benchmark test performed for the evaluation of approximately 10(6) (ss|ss) integrals over contracted s-orbitals showed that a naïve algorithm implemented on the GPU achieves up to 130-fold speedup over a traditional CPU implementation on an AMD Opteron. Subsequent calculations of the Coulomb operator for a 256-atom DNA strand show that the GPU advantage is maintained for basis sets including higher angular momentum functions.