Jutho / TensorOperations.jl

Julia package for tensor contractions and related operations
https://jutho.github.io/TensorOperations.jl/stable/
Other
438 stars 55 forks source link

Compability with CUDA 5.2 #165

Open lpawela opened 3 months ago

lpawela commented 3 months ago

CUDA.jl 5.2 enforces cuTENSOR 2. Consider the following compat section:

CUDA = "5.2"
DocStringExtensions = "0.9.3"
LowRankApprox = "0.5.5"
MKL = "0.4.2"
Memoization = "0.2.1"
SparseArrays = "1.9"
TensorCast = "0.4"
TensorOperations = "4"

This results in the following error (SpinGlassTensors is my package which has this problem)

(SpinGlassTensors) pkg> instantiate
    Updating registry at `~/.julia/registries/QMZJuliaRegistry`
    Updating git-repo `git@github.com:quantumz-io/JuliaRegistry.git`
    Updating registry at `~/.julia/registries/General.toml`
ERROR: Unsatisfiable requirements detected for package cuTENSOR [011b41b2]:
 cuTENSOR [011b41b2] log:
 ├─possible versions are: 1.0.0-2.0.0 or uninstalled
 ├─restricted to versions * by SpinGlassTensors [7584fc6a], leaving only versions: 1.0.0-2.0.0
 │ └─SpinGlassTensors [7584fc6a] log:
 │   ├─possible versions are: 1.0.0 or uninstalled
 │   └─SpinGlassTensors [7584fc6a] is fixed to version 1.0.0
 ├─restricted by compatibility requirements with CUDA [052768ef] to versions: 2.0.0 or uninstalled, leaving only versions: 2.0.0
 │ └─CUDA [052768ef] log:
 │   ├─possible versions are: 0.1.0-5.2.0 or uninstalled
 │   └─restricted to versions 5.2.0-5 by SpinGlassTensors [7584fc6a], leaving only versions: 5.2.0
 │     └─SpinGlassTensors [7584fc6a] log: see above
 └─restricted by compatibility requirements with TensorOperations [6aa20fa7] to versions: 1.0.0-1.2.1 or uninstalled — no versions left
   └─TensorOperations [6aa20fa7] log:
     ├─possible versions are: 0.6.1-4.1.0 or uninstalled
     └─restricted to versions 4 by SpinGlassTensors [7584fc6a], leaving only versions: 4.0.0-4.1.0
       └─SpinGlassTensors [7584fc6a] log: see above
lkdvos commented 3 months ago

Hi @lpawela , I think for now the only way to solve that is to not update CUDA to v5.2 yet. Sadly, cuTENSOR v2 is very breaking in comparison with v1, and while I have put in some effort to update: see #160 , I don't think I am ready to merge that yet, as I have not yet ported over the implementations for StridedViews. If you have some time to look into that further, I'd be very happy to assist, but I have some other projects running at the moment and have little time to immediately fix this. It is however definitely on my to-do list, so I am definitely planning on fixing this.

lpawela commented 3 months ago

@lkdvos just FYI why this might be important https://github.com/JuliaGPU/CUDA.jl/issues/2171

lkdvos commented 3 months ago

Thanks for linking that. I had a quick glance, and it seems like this is the same bug that prompted the initial work on the update, so I'll bump the priority a bit. The annoying thing is that cuTENSOR 2 also requires Julia v1.8, so then we'd have to drop support for Julia 1.6 as I don't see having the time to maintain both versions. I'll keep you posted here if I make some progress.