Comments (6)
Can confirm that it now works with v4.07 - thanks!
Closing this one.
from tensoroperations.jl.
The reason for this happening now is that indeed because you have CUDA.jl v5.0.0, whereas our tests and compat bounds are "CUDA=4". Apparently, these compat bounds are not respected in combination with package extensiosn (cjdoris/PackageExtensionCompat.jl#4)
We are looking into fixing this asap.
from tensoroperations.jl.
Actually, it seems like this might be a bug from our side. I think because of how I implemented the package extension, it was not reading the CUDA compat. I changed this now, such that TensorOperations should now restrict CUDA to v4. In order to support v5, a small adaptation of StridedViews.jl should do the trick, so we should be able to fix this soon.
from tensoroperations.jl.
@lkdvos , so with the following configuration the above code definitely works:
⌅ [052768ef] CUDA v4.4.1
[6aa20fa7] TensorOperations v4.0.6 `~/.julia/dev/TensorOperations`
⌃ [011b41b2] cuTENSOR v1.1.0
The following line, https://github.com/JuliaGPU/CUDA.jl/blob/9888ac92810373c3d6b58b5ca972d8df2afb4829/lib/cutensor/src/libcutensor.jl#L390C16-L390C16, which is in the stack trace, was already there in CUDA 4.4.1 and was already then forcing the conversion to ptr::PtrOrCuPtr{Cvoid}
. So I guess that something in CUDA itself changed of how it handles conversions to PtrOrCuPtr{Cvoid}
and why this does no longer end up with our definition for converting a CuStridedView{T}
to PtrOrCuPtr{T}
.
from tensoroperations.jl.
Ok I think I understand. the reason why StridedViews was not enforcing CUDAv4 is because Strided 2.0.4 allows both StridedViews 0.1 and 0.2. So the package manager resolves this by having TensorOperations 4.0.6, Strided 2.0.4, CUDA5, and StridedViews 0.1.2. The latter doesn't have the package extension for CUDA and so does not impose restrictions on CUDA. And therefore, our pointer conversion routine is not called at all.
from tensoroperations.jl.
Thanks for reporting
from tensoroperations.jl.
Related Issues (20)
- How can @tensor macro be used in variable length systems? HOT 2
- Does TensorOperations.jl not support Zygote.jl? HOT 1
- Cryptic `IndexError` messages HOT 2
- Specify output type HOT 4
- Update Cuda.jl to v4? HOT 5
- NCon cannot do partial trace? HOT 1
- Unexpected behavior when there is a global minus sign HOT 2
- Sums are not commutative HOT 2
- Question: @cutensor not defined HOT 5
- possible memory leak with metaprogramming
- Why drop caching Tensors? HOT 3
- Is TensorOperations able to take advantage of symmetry in the output? HOT 8
- Manual allocation strategy HOT 2
- Floating Point Accuracy of @tensor results with CUDA HOT 3
- Enable multithreads when doing the permutedims in the TTGT algorithms HOT 2
- Unexpected `DimensionMismatch` (v4.0.2 -> v4.0.3) HOT 3
- Wrong result with subnetworks with equal labels HOT 2
- Unintuitive `ncon` result when scalar HOT 2
- Taking gradients of traces HOT 6
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from tensoroperations.jl.