Skip to content

Incremental fixes for MPSKit#54

Merged
kshyatt merged 7 commits into
mainfrom
ksh/mps
May 28, 2026
Merged

Incremental fixes for MPSKit#54
kshyatt merged 7 commits into
mainfrom
ksh/mps

Conversation

@kshyatt
Copy link
Copy Markdown
Member

@kshyatt kshyatt commented May 7, 2026

OK, I think we do actually need the GPU-specific copyto! for things to work. We also need some explicit promotion strategies due to the extremely annoying way AbstractTensorMap storage types work 😸

@kshyatt kshyatt requested a review from lkdvos May 7, 2026 11:35
@codecov
Copy link
Copy Markdown

codecov Bot commented May 7, 2026

Welcome to Codecov 🎉

Once you merge this PR into your default branch, you're all set! Codecov will compare coverage reports and display results in all future pull requests.

ℹ️ You can also turn on project coverage checks and project coverage reporting on Pull Request comment

Thanks for integrating Codecov - We've got you covered ☂️

kshyatt and others added 3 commits May 12, 2026 09:19
Let's try being a little more flexible with compat...
@kshyatt kshyatt force-pushed the ksh/mps branch 2 times, most recently from 1e62663 to dcb2294 Compare May 12, 2026 13:21
@assert !isnothing(I)
@views dst_dense .= src_dense[:, I]
# deal with the case where the output is not in-place
dst_dense === dst_block || copyto!(dst_block, dst_dense)
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just out of curiosity, is this ever in-place?
I guess the dst_dense always comes from a similar_dense, which allocates a fresh array?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I guess in theory, it could be? For now I agree it's always out of place

Comment thread src/linalg/linalg.jl Outdated
Comment thread src/linalg/linalg.jl Outdated
if eltype(t) === T && typeof(space(t)) === typeof(P)
return T
elseif isconcretetype(T)
elseif isconcretetype(T) || T isa Union
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice catch! this is probably already solving a lot of issues?

Comment thread src/tensors/blocktensor.jl Outdated
Comment thread src/tensors/sparseblocktensor.jl Outdated
Comment thread src/tensors/tensoroperations.jl Outdated
Comment thread Project.toml Outdated
Comment thread ext/BlockTensorKitGPUArraysExt.jl
kshyatt and others added 2 commits May 27, 2026 07:53
Co-authored-by: Lukas Devos <ldevos98@gmail.com>
Copy link
Copy Markdown
Member

@lkdvos lkdvos left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Left the one comment open, feel free to pick whichever you like and merge!

(Maybe we can already bump the patch version?)

@kshyatt kshyatt merged commit 4b3a1e2 into main May 28, 2026
27 checks passed
@kshyatt kshyatt deleted the ksh/mps branch May 28, 2026 04:25
@lkdvos
Copy link
Copy Markdown
Member

lkdvos commented May 28, 2026

@kshyatt can you also bump the patch version and release?

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.

2 participants