-
Notifications
You must be signed in to change notification settings - Fork 8
TAPP as interpreter backend #482
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
9b34e73 to
5a4d051
Compare
currently hardwired to TAPP-reference
5a4d051 to
b41cd96
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR introduces a new TAPP-based evaluation backend for SeQuant, wiring it into the build system and adding both unit and integration coverage to validate correctness against manual contractions/permutations and SCF integration behavior.
Changes:
- Add a header-only TAPP backend (
TAPPTensor, ops, Result integration, EvalExpr integration) and MBPT biorthogonal cleanup support for TAPP tensors. - Add unit + integration tests for the TAPP backend, and hook them into the test CMake targets conditionally on
SEQUANT_HAS_TAPP. - Extend CMake packaging/build to find or fetch the
tapp-referencedependency; update external dependency pins; fix a BTAS unit test assertion.
Reviewed changes
Copilot reviewed 17 out of 17 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
tests/unit/test_eval_tapp.cpp |
New unit tests validating TAPP evaluation, symm/antisymm, and biorthogonal cleanup behaviors. |
tests/unit/test_eval_btas.cpp |
Fixes an incorrect assertion and strengthens the comparison between two evaluation paths. |
tests/unit/CMakeLists.txt |
Adds conditional compilation/linkage of the new TAPP unit test object library. |
tests/integration/eval/tapp/data_world_tapp.hpp |
Provides TAPP-backed data world for integration SCF tests (mirrors BTAS version). |
tests/integration/eval/tapp/scf_tapp.hpp |
Implements SCF driver using TAPP backend evaluation (mirrors BTAS version). |
tests/integration/eval/tapp/main.cpp |
Integration test entry point for TAPP SCF run and energy check. |
tests/integration/eval/CMakeLists.txt |
Adds conditional eval_tapp integration executable and ctest entry. |
SeQuant/core/eval/backends/tapp/tensor.hpp |
Introduces TAPPTensor container bridging to the TAPP C API tensor-info handle. |
SeQuant/core/eval/backends/tapp/ops.hpp |
Implements TAPP-based contract/permute/scal/dot ops used by the Result backend and tests. |
SeQuant/core/eval/backends/tapp/eval_expr.hpp |
Adds TAPP-specific EvalExpr with TAPP-compatible annotation. |
SeQuant/core/eval/backends/tapp/result.hpp |
Implements ResultTensorTAPP integration (sum/prod/permute/symm/antisymm). |
SeQuant/domain/mbpt/biorthogonalization.hpp |
Adds TAPP overload for biorthogonal_nns_project. |
cmake/modules/FindOrFetchTAPP.cmake |
New module to find or FetchContent the TAPP reference implementation and patch/install targets. |
cmake/modules/FindOrFetchBTAS.cmake |
Fixes BTAS tag variable name used for FetchContent. |
cmake/sequant-config.cmake.in |
Extends installed package config to locate tapp-reference when not built from source. |
external/versions.cmake |
Updates pinned dependency tags and adds BTAS/TAPP tracked tags. |
CMakeLists.txt |
Adds SEQUANT_TAPP option, builds SeQuant::eval::tapp target, and wires export/module lists. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
41be0b9 to
032a5c1
Compare
032a5c1 to
6241cb2
Compare
No description provided.