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] [NDTensors] Excise libraries #1601

Draft
wants to merge 6 commits into
base: main
Choose a base branch
from
Draft

Conversation

mtfishman
Copy link
Member

@mtfishman mtfishman commented Nov 20, 2024

This PR deletes a big set of submodules of NDTensors and moves them to separate repositories, for example NDTensors.BlockSparseArrays has been moved to the new BlockSparseArrays.jl repository. Most will be unregistered (potentially interdependent) packages for the time being, while TypeParameterAccessors.jl will be registered since it is used extensively throughout NDTensors.jl and also is used by some of the new packages.

So far most of the packages are kept as-is, however GradedAxes has been renamed to GradedUnitRanges.

I followed the instructions here to preserve the git history of the subfolders.

To-do:

  • Register TypeParameterAccessors.jl so it can be used as a dependency of NDTensors and also other packages.
  • Delete code loading and testing workflows related to the excised modules.
  • Rewrite code in NDTensors that was depending on DiagonalArrays, so that it can be removed as a dependency.
  • Many of the new packages aren't functional yet so I won't merge this until that is fixed. The goal will be for them to all have their own CI with tests of downstream packages. At first they won't be registered, but we will configure them to install unregistered dependencies automatically with a [sources] section in their Project.toml (see https://pkgdocs.julialang.org/v1/toml-files/#The-%5Bsources%5D-section).

The packages should be set up in a uniform way using ITensorPkgSkeleton.jl. The following packages have been set up based on the code removed in this PR:

Here are package extensions that need to be set up for compatibility with NDTensors.jl and ITensors.jl, which will be addressed in future work:

Other libraries to split off in future PRs are (these are being used in some tests which requires loading NDTensors as a test dependency):

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.

1 participant