Implementation of McMurchie–Davidson Algorithm for Gaussian AO Integrals Suited for SIMD Processors
Andrey Asadchev, Edward F. Valeev

TL;DR
This paper presents a new way to compute Gaussian integrals using modern processors, achieving high performance and open-source availability.
Contribution
A novel SIMD-optimized implementation of the McMurchie–Davidson algorithm for Gaussian AO integrals using standard C++.
Findings
The implementation achieves up to 50% of the theoretical hardware peak FP64 performance on SIMD platforms.
Speedups of up to 30x are observed compared to state-of-the-art one-shellset-at-a-time implementations.
The code is portable and uses upcoming C++ features like std::simd without explicit code generation.
Abstract
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) [ AsadchevA., ; ValeevE. F., . J. Chem. Phys. 2024, 160, 244109.]38934632 10.1063/5.0217001, 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.…
Genes, proteins, chemicals, diseases, species, mutations and cell lines named across the full text — each resolved to its canonical identifier and authoritative record.
Click any figure to enlarge with its caption.
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
Figure 9
Figure 10
Figure 11
Figure 12
Figure 13
Figure 14
Figure 15
Figure 16
Figure 17
Figure 18
Figure 19
Figure 20
Figure 21
Figure 22
Figure 23
Figure 24
Figure 25
Figure 26
Figure 27
Figure 28
Figure 29
Figure 30
Figure 31
Figure 32
Figure 33
Figure 34
Figure 35
Figure 36
Figure 37
Figure 38
Figure 39
Figure 40
Figure 41
Figure 42
Figure 43
Figure 44
Figure 45
Figure 46
Figure 47
Figure 48
Figure 49
Figure 50Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsBlind Source Separation Techniques · Target Tracking and Data Fusion in Sensor Networks · Optical Polarization and Ellipsometry
