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

[ITensors] [ENHANCEMENT] Try using ValSplit for op and related functions #1196

Open
mtfishman opened this issue Sep 14, 2023 · 0 comments
Open
Labels
enhancement New feature or request ITensorMPS Issues related to the ITensorMPS submodule mps Issues related to MPS/MPO functionality

Comments

@mtfishman
Copy link
Member

Currently we rely on dynamic dispatch to dispatch to functions like op, since we convert runtime objects (tags, strings, etc.) into types like OpName to be used by dispatch. I just noticed a neat package ValSplit.jl that optimizes that code pattern by internally rewriting that kind of dispatch into a single method that uses if statements, and therefore avoids dynamic dispatch. Would be neat to see if that improves performance anywhere (though I've only seen a few examples where lookups to op showed any performance issues, and those cases could be optimized away with memoization).

@mtfishman mtfishman added enhancement New feature or request ITensors Issues or pull requests related to the `ITensors` package. labels Sep 14, 2023
@mtfishman mtfishman added mps Issues related to MPS/MPO functionality ITensorMPS Issues related to the ITensorMPS submodule and removed ITensors Issues or pull requests related to the `ITensors` package. labels May 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request ITensorMPS Issues related to the ITensorMPS submodule mps Issues related to MPS/MPO functionality
Projects
None yet
Development

No branches or pull requests

1 participant