MANTA performance plan: the fastest integral engine beside libint

Status 2026-10-30. Owner: the MANTA programme (#617); performance tracker #638. This page is the ordered implementation plan behind the “MANTA speed n/12” tracker issues; each issue carries the equations, files, steps and acceptance for one bounded increment so independent chats can take steps in parallel. The target is the maintainer’s: the speedup SHARK reaches over libint, generalized to the molecular and the periodic selected routes, as a second engine beside libint (never a replacement), with a paper at the end.

Where MANTA stands (measured)

Measurement

Result

Source

Per-quartet kernel, identical shell schedule, HBr and ZnH+ in STO-3G

5.5x slower than libint (22x before the #638 kernel slices)

direct J/K cost

Complete selected RHF on 10 bohr water chains, n = 4 and 8

4,700x (RI-J, exact K) to 18,000x (RI-BUPO) slower than libint; exact K grows as n^4; no screening. After #748 slice 1 (tau = 1e-10, exact K screened, RI passes not yet): 790x (n = 4) and 320x (n = 8); after #757 step 2 the best path (RI-BUPO leaf 8 / order 6) is 645x and 204x; after #748 slice 3 (RI-J passes screened) RI-J is 574x and 135x; after #750 slices 0/0b (shared pair expansions) 224x and 60x; after #749 step 1 (unique quartets) 122x and 38x; after #749 step 2 (unique RI pairs) 95x and 28x; after #752 (grid-Taylor Boys) 80x and 23x; after #751 step 1 at the route’s default channel batch 1 (earlier rows used 2) 60x and 20x; with the retained RI coupling (#638) 24x and 7.8x

crossover

RI-BUPO-J at the test fixture (order 12, leaf 1)

3.0-3.9x the RI-J build; 74% of the SCF in the far-block admission repeated every build

same

Streamed RI K

3.3x the exact K at 14-28 basis functions (every three-center tile re-evaluated per mode-block pass)

same

The gap has three independent causes, in order of size: no screening and no incremental builds (the route is certificate-first and the screening certificate was never written, manta_engine.md section 2.2); per-quartet assembly instead of block matrix products; and a far-field fixture whose admission work exceeds the passes it replaces.

What the fastest engines do

SHARK (Neese 2023) is McMurchie-Davidson like MANTA. Its measured ratio to libint is parity to 1.3x on whole double and triple zeta Fock builds (penicillin def2-TZVPP 417 s against 481 s on Intel, 329 s against 315 s on Apple M1; def2-QZVPP 3175 s against 3862 s) and 2-6x per batch at l >= 3 with contraction depth >= 2. The mechanisms: per-shell-pair E matrices with contraction and solid-harmonic transform folded in and primitive pairs pre-screened (section 3.2); two BLAS level 3 products per shell-pair block (Eqs. 21-26, Scheme 1); loop-free routines for l_tot <= 2 (section 3.1); digestion with redundancy factors (Eq. 37); Split-J and Split-RI-J in the Hermite basis (Eqs. 38-50); a per-class hybrid dispatch with libint (section 3.5). LibintX (Asadchev and Valeev 2023-2025) pushes the same factorization to SIMD and GPUs: variable-size shell-set batches, 30-90% of FP64 peak, up to 30x over libint on CPUs per class, terminal-Hermite folding and early contraction. Screening: Cauchy-Schwarz (Häser and Ahlrichs 1989) is rigorous for every positive-definite kernel; distance-including rigorous bounds (Thompson and Ochsenfeld 2017) and tight estimates (QQR, Maurer et al. 2012) remove the well-separated remainder; difference-density builds make the omission shrink along the SCF. The Boys function has table-free minimax rational approximations to 5e-14 (Vikhamar-Sandberg and Repisky 2025). Exchange beyond screening: occupied RI-K, COSX (Neese et al. 2009), sn-LinK (Laqua et al. 2020) and analytic/seminumerical hybrids (Zhang et al. 2024). Far field: BUPO (Neese et al. 2025) at Lmax 6-10 with about 150 shell pairs per bubble crosses Split-RI-J near 300 atoms; Split-RI-J is 2-4x faster than RI-J.

The core equations the engine implements

Hermite expansion and E recurrence (McMurchie and Davidson 1978): G_a G_b = sum_t E_t^{ab} Lambda_t, E_t^{a+1,b} = E_{t-1}^{ab}/(2p) + X_PA E_t^{ab} + (t+1) E_{t+1}^{ab}, E_0^{00} = K_AB, terminal E_{a+b}^{ab} = (2p)^{-(a+b)} E_0^{00}. Folded transform H(tuv, mu nu) = sum t_{ijk,lm} t_{i'j'k',l'm'} d d' E. Integral block (mu nu|kappa tau) = (H_bra^T R H_ket) with R(tuv,t'u'v') = C (-1)^{t'+u'+v'} R_{t+t',u+u',v+v'}, R^{(n)}_{t+1,u,v} = t R^{(n+1)}_{t-1,u,v} + X_PQ R^{(n+1)}_{t,u,v}, R^{(n)}_{000} = (-2 rho)^n F_n(rho R_PQ^2). Ket-first contraction T = sum_ij d_i d_j H^{(ij)T} R, I = sum_kl d_k d_l T H^{(kl)}. Range separation enters only through F_n: F_n^{RS} = f F_n(T) + g kappa^{n+1/2} F_n(kappa T), which is MANTA’s radial_boys. Split-RI-J: Hermite density Pbar(tuv) = sum E(tuv,kappa tau) P_{kappa tau}, auxiliary pre-densities Pbar(t'u'v') = sum Pbar(tuv) R(tuv,t'u'v'), fit Ptilde = V^{-1} Pbar, back transform and J_{mu nu} = sum E(tuv,mu nu) Jbar(tuv). Screening: |(mu nu|lambda sigma)| <= Q_ab Q_cd with Q_ab = max sqrt((mu nu|mu nu)), density-weighted omission bound summed into the receipt; far bound |(ab|cd)| <= ||ab||_1 ||cd||_1 / (R - r_ab - r_cd). Boys regimes: rational minimax on [0, 11.9) per n with downward recurrence, one minimax for F_0 on [11.9, 29.0) with upward recurrence, asymptotic beyond.

The ordered issues

Step

Issue

Lever

Depends on

Parallel with

1

#747 MANTA speed 1/12

per-class microbenchmark and evidence ledger

none

2, 3, 4, 6

2

#748 MANTA speed 2/12

certified Schwarz screening with omission receipts, molecular and periodic

none

3, 4, 6

3

#749 MANTA speed 3/12

unique-tile digestion with redundancy factors

none

2, 4, 6

4

#750 MANTA speed 4/12

shell-pair H matrices, primitive-pair pre-screening, terminal folding

none

2, 3, 6

5

#751 MANTA speed 5/12

block matrix-MD contraction with GEMM, loop-free low-l kernels

3, 4

6, 7

6

#752 MANTA speed 6/12

SIMD batched R tensor and minimax Boys

none (interface with 5)

2-5

7

#753 MANTA speed 7/12

distance-including bounds, certified incremental builds (#621)

2

5, 6, 8

8

#754 MANTA speed 8/12

Split-J and Split-RI-J in the Hermite basis

4, 5

6, 7, 10

9

#755 MANTA speed 9/12

periodic generalization (image-batched R, erfc, Hermite Ewald J, Bloch digestion)

2, 4, 5, 8

10, 11

10

#756 MANTA speed 10/12

retained factors, occupied RI-K, seminumerical hybrid exchange

2, 4

8, 9, 11

11

#757 MANTA speed 11/12

BUPO regime, far-field retention, Split-RI-J crossover

steps 1-3 none; step 4 needs 8

9, 10

12

#758 MANTA speed 12/12

hybrid dispatch, Supported envelope, paper package

2-11 as landed

assembled incrementally

Tracker issues (project issue numbers), created 2026-10-30:

Step

Tracker issue

Title

1

#747

matched per-class microbenchmark and evidence ledger

2

#748

certified Schwarz screening with omission receipts

3

#749

symmetry-unique digestion with redundancy factors

4

#750

shell-pair E and H matrices with primitive-pair pre-screening and terminal-Hermite folding

5

#751

block matrix-MD contraction over shell-pair batches with GEMM, and loop-free low-l kernels

6

#752

SIMD batched R-tensor and Boys evaluation

7

#753

distance-including certified bounds and certified incremental builds

8

#754

Split-J and Split-RI-J in the Hermite basis

9

#755

periodic generalization of the engine

10

#756

exchange, retained factors, occupied RI-K and seminumerical hybrid

11

#757

BUPO regime, far-field retention and the Split-RI-J crossover

12

#758

hybrid libint/MANTA dispatch, Supported envelope and the paper evidence package

Rules every step follows

  • Measurement first: every result note reports the ratio to libint from the step-1 harness and appends a row to the evidence ledger.

  • Bit-identity where the arithmetic is unchanged (saved-tile comparison), a stated tolerance with the reason where the summation order changes; the l = 6 pure-channel cancellation test is never loosened.

  • Every omission is certified in the receipt (bound and identity) and the terminal full-build confirmation stays; defaults do not change before the readiness ledger reaches Supported for that row.

  • One engine, two digestion layers: the periodic routes consume the same pair data, R kernels, screening policy and Hermite densities.

  • libint stays; the hybrid dispatch chooses per class from measured data.

References

McMurchie and Davidson, J. Comput. Phys. 26, 218 (1978), DOI 10.1016/0021-9991(78)90092-X. Neese, J. Comput. Chem. 44, 381 (2023), DOI 10.1002/jcc.26942 (SHARK). Neese, J. Comput. Chem. 24, 1740 (2003) (Split-RI-J). Asadchev and Valeev, J. Phys. Chem. A 127, 10889 (2023); J. Chem. Phys. 160, 244109 (2024), DOI 10.1063/5.0217001; arXiv:2506.12501 (2025), DOI 10.1021/acs.jpca.5c04136 (LibintX). Häser and Ahlrichs, J. Comput. Chem. 10, 104 (1989), DOI 10.1002/jcc.540100111. Maurer, Lambrecht, Flaig, Ochsenfeld, J. Chem. Phys. 136, 144107 (2012), DOI 10.1063/1.3693908. Thompson and Ochsenfeld, J. Chem. Phys. 147, 144101 (2017), DOI 10.1063/1.4994190; J. Chem. Phys. 150, 044101 (2019). Vikhamar-Sandberg and Repisky, arXiv:2512.10059 (2025). Neese, Wennmohs, Hansen, Becker, Chem. Phys. 356, 98 (2009), DOI 10.1016/j.chemphys.2008.10.036 (COSX). Laqua, Thompson, Kussmann, Ochsenfeld, J. Chem. Theory Comput. 16, 1456 (2020), DOI 10.1021/acs.jctc.9b00860 (sn-LinK). Zhang, Lei, Suo, Liu, arXiv:2411.01526 (2024). Neese, Colinet, DeSouza, Helmich-Paris, Wennmohs, Becker, J. Phys. Chem. A 129, 2618 (2025), DOI 10.1021/acs.jpca.4c07415 (BUPO). White, Johnson, Gill, Head-Gordon, Chem. Phys. Lett. 230, 8 (1994) (CFMM). Sierka, Hofmann, Sauer, J. Chem. Phys. 118, 9136 (2003) (MARI-J). Weigend, J. Comput. Chem. 29, 167 (2008), DOI 10.1002/jcc.20702. Helgaker, Jørgensen, Olsen, Molecular Electronic-Structure Theory, Wiley 2000, chapter 9. The SHARK and BUPO primary texts are in the local literature library (software-libraries/); the others are open-access preprints or in the library wishlist.