Related Experiment Video
Updated: Jan 15, 2026

Analyzing Melts and Fluids from Ab Initio Molecular Dynamics Simulations with the UMD Package
Published on: September 17, 2021
Implementation of McMurchie-Davidson Algorithm for Gaussian AO Integrals Suited for SIMD Processors
Andrey Asadchev1, Edward F Valeev1
1Department of Chemistry, Virginia Tech, Blacksburg, Virginia 24061, United States.
None:
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.
More Related Videos
Related Concept Videos
Hybridization of Atomic Orbitals II
Hybridization of Atomic Orbitals I
Atomic Orbitals
Gaussian Elimination: Problem Solving
Mechanistic Models: Compartment Models in Algorithms for Numerical Problem Solving
In individual population analyses, different algorithms are employed, such as Cauchy's method, which uses a...
Maxwell-Boltzmann Distribution: Problem Solving
This distribution function f(v) is defined by saying that the expected number N (v1,v2) of particles with speeds between v1 and v2 is given by

