You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
julia>versioninfo()
Julia Version 1.9.1
Commit 147bdf428cd (2023-06-0708:27 UTC)
Platform Info:
OS: Linux (x86_64-linux-gnu)
CPU:48× AMD EPYC 735224-Core Processor
WORD_SIZE:64
LIBM: libopenlibm
LLVM: libLLVM-14.0.6 (ORCJIT, znver2)
Threads:1 on 48 virtual cores
Environment:
LD_LIBRARY_PATH =/usr/local/nvidia/lib:/usr/local/nvidia/lib64:/usr/lib/x86_64-linux-gnu
Output from using Pkg; Pkg.status("ITensors"):
julia>using Pkg; Pkg.status("ITensors")
Status `~/.julia/environments/v1.9/Project.toml`
⌃ [9136182c] ITensors v0.3.34
Info Packages marked with ⌃ have new versions available and may be upgradable.
(I also tried it with v0.3.35)
The text was updated successfully, but these errors were encountered:
Thanks for the report @csmaczny. Basically I don't think we ever had support for Diag tensors on GPU, so I'm not surprised this doesn't work.
A workaround should be to do something like T * cu(dense(delta(m, n))), i.e. make the tensor dense and move it to GPU.
Work that @kmp5VT is doing to make the NDTensors code more generic across different device backends should make it easier for us to implement that type of operation directly, without making the tensor dense.
@mtfishman I am working with @ryanlevy and he has some code which uses deltas in a number of places. Right now operations like this
using ITensors, NDTensors, CUDA
i,j = Index.((2,2))
T = NDTensors.cu(randomITensor(Float32, (i,j)))
d = delta(i,j)
T * d ## Fails
fail for two reasons. First is that d is implicitly Float64 but it seems like we could use UnspecifiedNumber type or Bool. The second problem is that delta is implicitly Vector. I think Ryan is opening up a PR to address these inconsistencies
Description of bug
Contracting a tensor using delta(m, n) causes a BoundsError.
Minimal code demonstrating the bug or unexpected behavior
Minimal runnable code
Actual output or behavior
Output of minimal runnable code
Version information
versioninfo()
:using Pkg; Pkg.status("ITensors")
:(I also tried it with v0.3.35)
The text was updated successfully, but these errors were encountered: