Tensor engine implementation and migration tracker¶
Parent: TENS-00 (#793). The semantic proposal is the contract
starting point, based on the completed tensor-engine-2026-11-02 library
study. Status: proposed implementation programme, no engine delivered, no
benchmarks run. Issue IDs below identify execution work, not accepted results.
The programme is unscheduled and adds no release gate or dependency to #557.
First work and dependency order¶
Begin with TENS-01 (#794) inventory and semantic ADR, then TENS-02 (#795) descriptors and domain identities. TENS-03 (#796) IR and TENS-04 (#797) resource/provider lifecycle can develop against that shared contract. Deliver the molecular RI-J slice TENS-05 (#798) and complex selected-local factor slice TENS-06 (#799) using existing Eigen/BLAS and registered specialized paths. TENS-06 (#799) is a small local/periodic slice, not the full periodic migration or a production-correlation claim.
TENS-07 (#800) uses their measured costs to choose planning/backend crossovers; TENS-08 (#801) generalizes representation capabilities learned from actual sources; TENS-09 (#802) supplies coarse Python ownership/graph submission. A native migration does not wait for an unrelated Python or sparse capability. Optional GPU/MPI and compiler/compression issues start only at their particular capability and evidence prerequisites. There is no whole-umbrella closure dependency.
Package / issue |
Deliverable and first claim |
Specific dependencies |
|---|---|---|
TENS-00 (#793) |
Full-goal coverage and closure ledger |
Children and existing scientific owners |
TENS-01 (#794) |
Enumerate every numerical tensor route and write semantic ADR; start with RI factors and selected-local complex factors |
Current main, study, #472/#580/#617 and GPU/MPI records |
TENS-02 (#795) |
Runtime-rank descriptors, owners/borrows, leases, checked addressing and dependent index identities |
TENS-01 (#794) initial ADR |
TENS-03 (#796) |
Checked indexed/einsum IR, explicit numerical effects and multi-expression DAG |
TENS-02 (#795) schema |
TENS-04 (#797) |
Reservation ledger, provider protocol, sync executor and completion-safe lifetime/failure |
TENS-02 (#795) owners; TENS-03 (#796) effects at executor boundary |
TENS-05 (#798) |
Molecular RI-J CPU slice over actual per-P factors, then one bounded AO transform |
TENS-03 (#796) and TENS-04 (#797) minimal CPU capabilities |
TENS-06 (#799) |
Complex local/periodic panel and selected-pair contraction slice |
TENS-03 (#796)/TENS-04 (#797); existing source-admitted factor/MP2 path |
TENS-07 (#800) |
Bounded planning, layout/packing choice, cache/rebinding and thread/NUMA policy; optional TBLIS measurement |
TENS-05 (#798)/TENS-06 (#799) baseline traces; TENS-04 (#797) accounting |
TENS-08 (#801) |
Sparse assembly, ragged domains, packed symmetry, replay/stream and factor representations |
TENS-02 (#795)/TENS-04 (#797) and lessons from TENS-06 (#799); per-format IR support |
TENS-09 (#802) |
Coarse Python graph/provider handles, buffer/future ownership and device handshakes |
TENS-02 (#795)/TENS-04 (#797), one working CPU operation |
TENS-10 (#803) |
Optional GPU operation adapter and transfer/workspace qualification |
TENS-04 (#797)/TENS-07 (#800) relevant contracts, GPU G0 measurements; #639 for MANTA qualification |
TENS-11 (#804) |
Optional MPI placement/execution adapter, communicator/progress/thread policy |
TENS-04 (#797)/TENS-07 (#800) relevant contracts and existing MPI0/MPI1 substrate |
TENS-12 (#805) |
Integrals, AO-to-MO, RI/DF and SCF/DFT migrations |
TENS-05 (#798); representation/Python capabilities only where needed; #472/#617 source/state interfaces |
TENS-13 (#806) |
MPn, CCD/CCSD/UCCSD, triples and implemented higher-excitation migrations |
TENS-05 (#798), needed DAG/representations; #611 admitted references |
TENS-14 (#807) |
Molecular and periodic local-correlation migrations |
TENS-06 (#799), needed TENS-08 (#801) domains; #580/#581 and existing bounded-resource admissions |
TENS-15 (#808) |
CI/CAS/MR perturbation/DMRG and other implemented active-space solver migrations |
Needed TENS-08 (#801) sparse/factor and TENS-09 (#802) capabilities |
TENS-16 (#809) |
Response, EOM/TDDFT/stability and property migrations |
Producer method migrated or a registered compatible kernel; existing #612 mathematical roles |
TENS-17 (#810) |
Gradients, Hessians, nuclear/cell derivatives and stress migrations |
Relevant primal/response and derivative-provider capabilities; #636/#637 where applicable |
TENS-18 (#811) |
Periodic k/q/multi-k, GPW/GAPW, BIPOLE, AICCM/chi integration |
Relevant native/provider operations; #577/#607/#617 and existing finite-source admission |
TENS-19 (#812) |
All implemented semiempirical tensor routes |
Needed small-block/native/Python capabilities; #609/#610 state associations |
TENS-20 (#813) |
Later compiler/lowering experiment on a measured bottleneck |
TENS-07 (#800) profile evidence and stable IR; optional dependency decision if needed |
TENS-21 (#814) |
Later compression/mixed-precision experiment with method-owned error contract |
Exact baseline and explicit scientific scope; no default approximation change |
Migration coverage and observed source entry points¶
This is a source navigation inventory, not an assertion that every route is
qualified or fully implemented. At main 3ec1a4ae none of these families has
been migrated to the proposed engine. TENS-01 (#794) must expand each family into
route rows with exact call site, provider, dtype/layout, domain/source owner,
resource behavior, implementation/qualification state, issue and evidence.
Search C++ loops/Eigen operations and Python matmul/einsum/tensordot as well
as arrays named tensor; wrappers alone miss native and callback work.
Family and package |
Existing starting points |
Required variants and complete-method observables |
|---|---|---|
Integral generation, AO-to-MO, RI/DF; TENS-12 (#805) |
|
Direct/screened and stored ERIs; ECP/range/derivative sources where present; auxiliary metrics and three-index factors; actual strides/symmetries, factor/transform equality and an affected complete SCF/correlation case |
SCF/HF/DFT, exchange and grids; TENS-12 (#805) |
|
Restricted/independent-spin/restricted-open-shell, direct/DF/COSX, grid/XC, fractions/smearing, symmetry and source variants actually present; physical energy/density/Fock, stationarity/closure, iterations and unchanged thresholds |
MPn and canonical CC; TENS-13 (#806) |
|
Inventory MP3/MP4/CCD entry points rather than assume their implementation from roadmap claims; canonical/DF, spin/frozen and triples variants; energies, amplitudes, raw residuals and benchmark-scale higher-excitation limits |
Local correlation; TENS-14 (#807) |
|
PNO/PAO/local domains and independent spins; frozen spaces and translated pairs; staged pair/triple censuses, factor identities, raw residuals/energies and domain/threshold invariance |
Multireference/CI/DMRG; TENS-15 (#808) |
|
Determinant actions and sparse assembly, active/root/spin spaces, RDMs, MR intermediates and tensor-network bonds; energies/roots, normalization, RDM trace/symmetry and existing bond/truncation controls |
Response and properties; TENS-16 (#809) |
|
Matrix-free/batched actions, TDA/full response/EOM where implemented, real/complex and spin; eigenpair residuals, response symmetries, property tensors, sum rules/finite-field checks where applicable; do not cast non-Hermitian problems as Fock solves |
Gradients/Hessians/stress; TENS-17 (#810) |
|
Every implemented primal method’s nuclear/cell derivatives and response contractions; analytic/finite-difference checks with fixed topology and thresholds, translation/rotation invariance, separate stress/cell normalization |
Periodic/CCM overlays; TENS-18 (#811) |
|
Gamma/complex multi-k, k/q/shifted mesh, GDF, grids/FFT/Poisson and augmentation, BIPOLE, neutral Bloch/real-Gamma/chi; actual weights/phases, source/support/q=0 conventions, cell-normalized energy and derivatives |
Semiempirical; TENS-19 (#812) |
|
Inventory actual DFTB0/SCC-DFTB, GFN/xTB, PM/OM/MSINDO variants and supported molecular/periodic/SECCM routes; tiny irregular blocks, charges/multipoles, two/three-centre terms, method energies, SCC residuals, properties/derivatives and existing restrictions |
Other tensor consumers; TENS-01 (#794) routes to existing family issue |
Geometry/phonon/elasticity/transport, dispersion/solvation, density/property analysis, learned-model adapters and output transforms where present |
Find remaining numerical arrays and assign an operation owner. External optional model internals retain their dependency-owned kernels; vibe-qc-owned tensor preprocessing/postprocessing uses the contract. File serialization and scalar control flow do not need an executor task |
Periodic, derivative and property rows are overlays on producer families, not duplicate ownership. For example TENS-14 (#807) owns the local pair contraction; TENS-18 (#811) owns its k/q integration; TENS-17 (#810) owns the differentiated operation. Record one implementing issue per operation, link consumer rows and reuse its evidence. Unsupported/not-implemented variants are stated explicitly, without adding a new method to the scope by inference. Implemented deferred routes retain a concrete issue and next slice; permanent arbitrary bypasses are not an accepted full-engine completion state.
Route record and closure¶
Each route row records: method/variant and entry point; operation/kernels;
axes/domain/source/frame identities; representation/layout/dtype; exact or
approximate status; provider replay/assembly/workspace; owned/borrowed and
external inventory; execution/backend/thread policy; focused source result;
complete vq scientific result and actual source/native identity; measured
cold/warm/full-method cost; old-path retirement; remaining capabilities.
Keep raw operational records outside the product checkout. Repository
summaries use portable commands, public references and public-safe evidence.
Use migration states with distinct meanings:
Inventoried: exact route and owner identified; still a legacy execution.
Source landed: common contract actually checks/adopts its execution; focused semantic/resource checks pass and source is on main.
Scientifically accepted: affected complete method passed through
vqwith matched reference or justified numerical evidence and limitations.Retired: duplicate execution removed or retained as a registered, admitted specialized path; supported entry points use the common engine.
Unsupported/not implemented: explicit current capability, with no claim that a shared interface implements or qualifies missing physics.
The parent closes only when every implemented route is accepted and retired in this sense, including optional/experimental routes within their admitted scope. Registering specialized kernels is a valid end state; leaving an untracked implementation behind a wrapper is not. Optional compiler or new compression experiments are not prerequisites for the exact core/migration goal and do not keep an otherwise completed parent open. A new approximation does not repair a failed exact-refactoring check.
Checks and pickup¶
The design’s verification protocol and the study’s benchmark matrix supply the starting cases. Set tolerances and performance targets from existing route evidence and pilots before accepting new results. Test exact/below-budget boundaries and delayed async release, not just allocator totals after a successful call. No current result or release support is inferred from this plan.
Workers claim a bounded first increment and files on its issue, read latest
main/notes and preserve shared edits and jobs. Specific missing capabilities
block only dependent slices. Use existing #472/#594/#580/#581/#617/#639 and
GPU/MPI work for their own interfaces and scientific acceptance; no duplicate
Fock/provider/symmetry adapter or separate reviewer. Dev runs a focused source
check and lands source on main with CI skipped, then completes own cleanup.
Validator owns complete vq acceptance and issue closure and may be the same
worker. Pending runtime delivery/science does not prolong a finished Dev task.
New test files use the curated test-manifest generator. User-visible changes
update manuals/citations/changelog as applicable; this internal design adds
no runtime feature or changelog fragment.