Kron error when dealing with sparse gpuarrays
Mostrar comentarios más antiguos
When I attempt to use kron with a sparse gpu array as an input on R2019a, I get the following error:
"Error using matlab.internal.sparse.kronSparse
Input must be a sparse matrix."
This indicates to me that MATLAB is having issues either making or recognizing when gpuarrays are made sparse, since I've done the simple test case:
a = gpuarray([1 2]);
b = gpuarray([1 2]);
test1 = kron(a,b)
a = sparse(a)
test2 = kron(a,b)
and only the assignment of test2 gives the error. Does anyone know if there's a workaround for this, or am I stuck with using my cpu for these calculations?
3 comentarios
Walter Roberson
el 17 de Oct. de 2019
b is not sparse in your test2 call.
Matt J
el 17 de Oct. de 2019
Also, what operations will be done subsequently with kron(a,b) once it is computed? Knowing that, one can often find workarounds that avoid computing the Kronecker product altogether.
Henry Abrahamson
el 17 de Oct. de 2019
Editada: Henry Abrahamson
el 17 de Oct. de 2019
Respuestas (1)
You may want to look at,
which allows you to do many kinds of manipulations with Kronecker products without computing them in explicit matrix form. It should work with gpuArray operands.
Categorías
Más información sobre Matrix Indexing en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!