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

**Authors:** Andrey Asadchev, Edward F. Valeev

PMC · DOI: 10.1021/acs.jpca.5c04136 · 2025-10-13

## 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++.

## Key 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. 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.

## Full-text entities

- **Chemicals:** Coulomb (-)

## Figures

50 figures with captions in the complete paper: https://tomesphere.com/paper/PMC12557360/full.md

---
Source: https://tomesphere.com/paper/PMC12557360