Comments (4)
Your MWE does not work (no definitions for N, W; W_sparse unused) and performs scalar iteration (slicing A).
Looking at the backtrace though, it looks like you're trying to:
julia> x = CuSparseVector(sprand(1, 1.0))
1-element CuSparseVector{Float64, Int32} with 1 stored entry:
[1] = 0.753707
julia> false .* x
ERROR: broadcast with sparse arrays is currently only implemented for CSR and CSC matrices
Is this what you need? In any case, this isn't a bug, but just a missing feature. I'm also not sure it's worth the effort, seeing how you're doing scalar iteration first? In that case, it's probably much better to just copy to the CPU first.
from cuda.jl.
Yeah that seems to be the a simpler version of the same issue. It's mixing broadcast of sparse matrices or views/slices with scalars.
from cuda.jl.
It's mixing broadcast of sparse matrices or views/slices with scalars.
You'll have to be more specific then. Is it scalar .* CuSparseVector you need? Does it involve multiple sparse vectors? Or also involve sparse matrices? If so, which format, and how exactly? Since there isn't a way (I know of) to implement this generically, we need specialized kernels to handle exactly what you need.
from cuda.jl.
Yes, specifically it's just trying to zero a sparse vector. false .* W[1,:]
. fill!(W[1,:],false)
also fails:
julia> fill!(W_d_sparse[1,:],false)
ERROR: CanonicalIndexError: setindex! not defined for CUDA.CUSPARSE.CuSparseVector{Float32, Int32}
Stacktrace:
[1] error_if_canonical_setindex(::IndexCartesian, A::CUDA.CUSPARSE.CuSparseVector{Float32, Int32}, ::Int64)
@ Base .\abstractarray.jl:1403
[2] setindex!
@ Base .\abstractarray.jl:1392 [inlined]
[3] fill!(A::CUDA.CUSPARSE.CuSparseVector{Float32, Int32}, x::Bool)
@ Base .\multidimensional.jl:1114
[4] top-level scope
@ REPL[2]:1
from cuda.jl.
Related Issues (20)
- NSight Compute: prevent API calls during precompilation HOT 1
- Track CuArray stream usage HOT 1
- Integrated profiler: detect lack of permissions
- Dependencies in `profile.jl` constitute a significant fraction of the load time HOT 2
- Support for Julia 1.11 HOT 9
- Base.stack is underperforming. HOT 1
- Inverse Complex-to-Real FFT allocates GPU memory HOT 1
- Illegal memory access in GemmKernels on Julia 1.9
- cuDNN not available for your platform HOT 5
- Supporting precompilation without CUDA is problematic
- Power of adjoint of `CuSparseMatrix` does not work anymore HOT 2
- Cannot reset CuArray to zero HOT 2
- Inference failure with sort(::CuMatrix) after loading MLDatasets HOT 1
- Cannot take gradient of `sort` on 2D CuArray HOT 2
- Multi-threaded code hanging forever with Julia 1.10 HOT 11
- cuDNN: Provide wrappers for the declarative API HOT 3
- CUBLAS: nrm2 support for StridedCuArray with length requiring Int64 HOT 1
- Adjoint not supported on Diagonal arrays HOT 1
- Regression in broadcast: getting Array (Julia 1.10) instead of CuArray (Julia 1.9) HOT 3
- 2-`norm` for views of CuArray falls back to scalar indexing
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 cuda.jl.