Cannot install BliContractor.jl

I am trying to install BliContractor.jl , to replace all the tensor contractions in my code that used the @tensor macro with TBLIS. However, when I try to install it using the package manager, I am presented with the folowing error

(@v1.10) pkg> add BliContractor
   Resolving package versions...
ERROR: Unsatisfiable requirements detected for package BliContractor [81fc84e3]:
 BliContractor [81fc84e3] log:
 ├─possible versions are: 1.0.0-1.1.1 or uninstalled
 ├─restricted to versions * by an explicit requirement, leaving only versions: 1.0.0-1.1.1
 ├─restricted by compatibility requirements with TensorOperations [6aa20fa7] to versions: 1.0.0 or uninstalled, leaving only versions: 1.0.0
 │ └─TensorOperations [6aa20fa7] log:
 │   ├─possible versions are: 0.6.1-4.1.1 or uninstalled
 │   ├─restricted to versions * by an explicit requirement, leaving only versions: 0.6.1-4.1.1
 │   ├─restricted by compatibility requirements with TensorKit [07d1fe3e] to versions: [0.6.1-3.2.5, 4.0.2-4.1.1]
 │   │ └─TensorKit [07d1fe3e] log:
 │   │   ├─possible versions are: 0.0.1-0.12.4 or uninstalled
 │   │   ├─restricted to versions * by an explicit requirement, leaving only versions: 0.0.1-0.12.4
 │   │   └─restricted by compatibility requirements with TensorOperations [6aa20fa7] to versions: [0.0.1-0.4.3, 0.11.0-0.12.4] or uninstalled, leaving only versions: [0.0.1-0.4.3, 0.11.0-0.12.4]
 │   │     └─TensorOperations [6aa20fa7] log: see above
 │   ├─restricted by compatibility requirements with CUDA [052768ef] to versions: [0.6.1-2.2.0, 4.0.0-4.1.1] or uninstalled, leaving only versions: [0.6.1-2.2.0, 4.0.2-4.1.1]
 │   │ └─CUDA [052768ef] log:
 │   │   ├─possible versions are: 0.1.0-5.4.2 or uninstalled
 │   │   ├─restricted by compatibility requirements with cuTENSOR [011b41b2] to versions: 4.0.0-5.4.2
 │   │   │ └─cuTENSOR [011b41b2] log:
 │   │   │   ├─possible versions are: 1.0.0-2.1.1 or uninstalled
 │   │   │   └─restricted to versions * by an explicit requirement, leaving only versions: 1.0.0-2.1.1
 │   │   └─restricted by compatibility requirements with GPUCompiler [61eb1bfa] to versions: 5.0.0-5.4.2 or uninstalled, leaving only versions: 5.0.0-5.4.2
 │   │     └─GPUCompiler [61eb1bfa] log:
 │   │       ├─possible versions are: 0.1.0-0.26.5 or uninstalled
 │   │       ├─restricted by julia compatibility requirements to versions: 0.22.0-0.26.5 or uninstalled
 │   │       └─restricted by compatibility requirements with CUDA [052768ef] to versions: [0.17.0-0.21.4, 0.24.0-0.26.5], leaving only versions: 0.24.0-0.26.5
 │   │         └─CUDA [052768ef] log: see above
 │   └─restricted by compatibility requirements with CuArrays [3a865a2d] to versions: [0.6.1-2.0.1, 3.0.0-4.1.1] or uninstalled, leaving only versions: [0.6.1-2.0.1, 4.0.2-4.1.1]
 │     └─CuArrays [3a865a2d] log:
 │       ├─possible versions are: 0.2.1-2.2.2 or uninstalled
 │       └─restricted by julia compatibility requirements to versions: uninstalled
 └─restricted by compatibility requirements with Zygote [e88e6eb3] to versions: 1.1.1 or uninstalled — no versions left
   └─Zygote [e88e6eb3] log:
     ├─possible versions are: 0.1.0-0.6.70 or uninstalled
     ├─restricted to versions * by an explicit requirement, leaving only versions: 0.1.0-0.6.70
     ├─restricted by compatibility requirements with SpecialFunctions [276daf66] to versions: [0.4.21-0.5.1, 0.5.13-0.6.70] or uninstalled, leaving only versions: [0.4.21-0.5.1, 0.5.13-0.6.70]
     │ └─SpecialFunctions [276daf66] log:
     │   ├─possible versions are: 0.7.0-2.4.0 or uninstalled
     │   ├─restricted by compatibility requirements with CUDA [052768ef] to versions: 1.3.0-2.4.0 or uninstalled
     │   │ └─CUDA [052768ef] log: see above
     ├─restricted by compatibility requirements with LoopVectorization [bdcacae8] to versions: [0.1.0-0.5.2, 0.6.0-0.6.70] or uninstalled, leaving only versions: [0.4.21-0.5.1, 0.6.0-0.6.70]
     │ └─LoopVectorization [bdcacae8] log:
     │   ├─possible versions are: 0.1.0-0.12.170 or uninstalled
     │   ├─restricted by julia compatibility requirements to versions: 0.9.0-0.12.170 or uninstalled
     │   └─restricted by compatibility requirements with VectorizationBase [3d5dd08c] to versions: 0.12.19-0.12.170 or uninstalled
     │     └─VectorizationBase [3d5dd08c] log:
     │       ├─possible versions are: 0.1.0-0.21.68 or uninstalled
     │       └─restricted by julia compatibility requirements to versions: 0.20.8-0.21.68 or uninstalled
     └─restricted by compatibility requirements with ChainRules [082447d4] to versions: [0.1.0-0.4.20, 0.5.2-0.6.70] or uninstalled, leaving only versions: 0.6.0-0.6.70
       └─ChainRules [082447d4] log:
         ├─possible versions are: 0.0.1-1.69.0 or uninstalled
         ├─restricted by compatibility requirements with Reexport [189a3867] to versions: [0.0.1, 0.7.42-1.69.0] or uninstalled
         │ └─Reexport [189a3867] log:
         │   ├─possible versions are: 0.2.0-1.2.2 or uninstalled
         │   └─restricted by compatibility requirements with GPUArrays [0c68f7d7] to versions: 1.0.0-1.2.2
         │     └─GPUArrays [0c68f7d7] log:
         │       ├─possible versions are: 0.3.0-10.2.0 or uninstalled
         │       ├─restricted by compatibility requirements with CUDA [052768ef] to versions: [8.6.0-9.1.0, 10.0.1-10.2.0]
         │       │ └─CUDA [052768ef] log: see above
         │       └─restricted by compatibility requirements with LLVM [929cbde3] to versions: [0.3.0-8.1.3, 8.8.1-10.2.0] or uninstalled, leaving only versions: [8.8.1-9.1.0, 10.0.1-10.2.0]
         │         └─LLVM [929cbde3] log:
         │           ├─possible versions are: 0.9.0-7.2.1 or uninstalled
         │           ├─restricted by julia compatibility requirements to versions: 4.0.0-7.2.1 or uninstalled
         │           ├─restricted by compatibility requirements with CUDA [052768ef] to versions: 4.15.0-7.2.1
         │           │ └─CUDA [052768ef] log: see above
         │           └─restricted by compatibility requirements with GPUCompiler [61eb1bfa] to versions: [6.2.1-6.6.3, 7.1.0-7.2.1]
         │             └─GPUCompiler [61eb1bfa] log: see above
         └─restricted by compatibility requirements with SpecialFunctions [276daf66] to versions: 0.1.0-1.69.0 or uninstalled, leaving only versions: 0.7.42-1.69.0 or uninstalled
           └─SpecialFunctions [276daf66] log: see above

It says it has some compatibility issue with CUDA.jl but I do not even have that package installed. I tried uninstalling TensorOperations.jl and trying to install this again but it still showed a similar error. What can be done so that I can install this package?

The problem here stems basically from a problem with cuTENSOR and Tensoroperations. At some point, cuTENSOR 2.0 got released, which broke a lot of things, including the TensorOperations wrapper. It took some time to figure out this update, and sadly the update for this, while implemented in the master version, has not gotten released yet, as this will be bundled with some breaking changes on the TensorOperations side as well.
Depending on your specific needs, I would advise to have a look and see if you can either downgrade CUDA (or add this dependency last), and maybe have a look at GitHub - lkdvos/TensorOperationsTBLIS.jl: Julia wrapper for TBLIS with TensorOperations.jl. I am not sure how the compatibility requirements for your specific case will play out, but it might require just a little more time from our side (for which I apologise!) before we get TensorOperations v5 functional. (At that point, I will include a release of TensorOperationsTBLIS compatible with this update as well)

1 Like