Repository navigation
Use allocators for multi-site gates in simple update - #483
Conversation
J1–J2 iPEPO simple-update benchmarkJ1=1, J2=0.5, spin-1/2, unpurified iPEPO, Float64, 2×2 unit cell, and Δβ=0.01.
The measured speedup is modest, around 1.13–1.28×, corresponding to roughly 11–22% less elapsed time. The saving is mainly on total allocated bytes, which fall by about 29–68%, depending on the symmetry and D. Although allocation counts rise slightly (about 2–5%). Symmetry charges on virtual spaces
@lkdvos Looks good? |
lkdvos
left a comment
There was a problem hiding this comment.
Definitely okay for me, do we need to check the buildkite failures or were they already there?
|
Should be irrelevant to this PR. The failure also occurs in @kshyatt's several other PRs; maybe due to recent release of TensorKit 0.17.3? |
This PR allows simple update with multi-site MPO gates to select an allocator, following what @lkdvos did in #459 for nearest-neighbor gates.
There is another improvement on how an (OBC) gate applies on its two endpoints, similar to how we factor out reduced bond tensors before applying a nearest neighbor gate.