Skip to content
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

WIP: Export framework #220

Draft
wants to merge 17 commits into
base: master
Choose a base branch
from
Draft

Conversation

Krzmbrzl
Copy link
Collaborator

@Krzmbrzl Krzmbrzl commented Jul 4, 2024

This implements (more or less) general code generator capabilities into SeQuant. The idea is to abstract the bulk of the work required during code generation away such that new languages can be added as easily as possible.

Note: At this point, I am mainly creating this PR to make everyone aware that I am working on something in that direction.

@Krzmbrzl Krzmbrzl force-pushed the export-framework branch 2 times, most recently from 1313e9b to bf68d73 Compare July 10, 2024 13:36
The entire logic that was present to determine whether a given tensor is
created or loaded and whether when it will be set to zero and when not
is not also applicable to variables.
This is in order to prevent a bug in which result variables would be
loaded but not set to zero before their intended value is added to it.
This way, when inheriting from a given generator, it is still possible
to pass a custom context class to the top-level Generator<> interface,
which is required in order to make things play out nicely.
Support tensor contraction frameworks are
- TensorOperations.jl
- TensorKit.jl
- ITensor.jl
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants