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

LASSIS memory management #90

Open
MatthewRHermes opened this issue Apr 30, 2024 · 1 comment
Open

LASSIS memory management #90

MatthewRHermes opened this issue Apr 30, 2024 · 1 comment
Labels
scalability Code works for small problems but not for large problems

Comments

@MatthewRHermes
Copy link
Owner

Overall, LASSIS does not have good memory management, because of the ad hoc way it was put together.

In LASSIS, the same fragment basis functions appears at multiple rootspace addresses, and to save memory one can just make a view instead of a copy. However, right at the end of lassis.prepare_states, this line

spaces = _spin_shuffle_ci_(spaces)

throws it all away because spaces._spin_shuffle_ci_ was written conservatively to combine multiple possibly non-orthogonal spin-shuffle references, which requires making copies and not references.

@MatthewRHermes MatthewRHermes added the scalability Code works for small problems but not for large problems label Apr 30, 2024
@MatthewRHermes
Copy link
Owner Author

The dev branch should have much less CI-vector copying now due to _spin_shuffle_ci_, but I'm leaving this up until we have actual memory checks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
scalability Code works for small problems but not for large problems
Projects
None yet
Development

No branches or pull requests

1 participant