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

hard limit on fragment numbers in LASSI #46

Open
MatthewRHermes opened this issue Nov 8, 2023 · 0 comments
Open

hard limit on fragment numbers in LASSI #46

MatthewRHermes opened this issue Nov 8, 2023 · 0 comments
Labels
scalability Code works for small problems but not for large problems

Comments

@MatthewRHermes
Copy link
Owner

MatthewRHermes commented Nov 8, 2023

Caused by the fact that Numpy ndarrays have a maximum dimensionality of 32. Here is one place that this imposes a limit of 31 fragments; there are probably other places in LASSI op_o1. Can this be refactored?

addrs = np.stack (np.meshgrid (*[np.arange(l) for l in lroots[::-1,iroot]],
indexing='ij'), axis=0).astype (int)
addrs = addrs.reshape (nfrags, nprods[iroot])[::-1,:]

ETA: obviously the solution here is to just do 1 fragment at a time since L60 turns it into a 2d ndarray. But better leave this issue up until all ndarray-related hard limits are removed.

@MatthewRHermes MatthewRHermes added the scalability Code works for small problems but not for large problems label Nov 8, 2023
MatthewRHermes added a commit that referenced this issue Nov 8, 2023
Refactor to avoid construction of large-dimensional ndarray. Where
else does ndarray dimensionality limit constrain LASSI number of
fragments?
cjknight pushed a commit to cjknight/mrh that referenced this issue Nov 14, 2023
Refactor to avoid construction of large-dimensional ndarray. Where
else does ndarray dimensionality limit constrain LASSI number of
fragments?
MatthewRHermes added a commit that referenced this issue Aug 5, 2024
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