MPSKit.jl icon indicating copy to clipboard operation
MPSKit.jl copied to clipboard

Parallel vumpssvd

Open Gertian opened this issue 1 year ago • 2 comments

This PR also makes vumpSVD parallel.

Again tests have been implemented in another PR and I've tested the combined PR locally on my machine :)

Gertian avatar Oct 15 '24 20:10 Gertian

Codecov Report

Attention: Patch coverage is 88.23529% with 4 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
src/algorithms/changebonds/vumpssvd.jl 88.23% 4 Missing :warning:
Files with missing lines Coverage Δ
src/algorithms/changebonds/vumpssvd.jl 79.16% <88.23%> (+7.37%) :arrow_up:

... and 2 files with indirect coverage changes

codecov[bot] avatar Oct 15 '24 21:10 codecov[bot]

Is this ever a bottleneck? Because this definitely nontrivially changes the algorithm by doing it in parallel, because every bond update is assuming the other sites to be constant, and this implementation breaks that assumption. It might indeed be the case that this does not matter, you're interested in getting the spaces approximately right, but I'm somewhat less confident about this

I just had some code running where this took about half a day. And bond dimensions are still growing.

I wouldn't say its the biggest bottleneck but I was parallelizing stuff anyways so I thought, why not...

I agree that this changes the algorithm, hence my choice to explicitly retain the old algorithm in the non parallel case. I don't think the change is bad though, parallel VUMPS also breaks this assumption and still converges eventually. So I don't see any reason why this wouldn't give something reasonable.

Gertian avatar Oct 15 '24 21:10 Gertian