How can I define an array of sparse matrix? (both for GPU and CPU)

5 views (last 30 days)
A=sparse(3,3)
MT=gpuArray(A);
M2(1,1)=1
%Error using gpuArray/subsasgn
%Sparse gpuArrays are not supported for this function.
L=sparse(3,3,1);
L(:,:,1)=A;
%N-dimensional indexing allowed for full matrices only.
L2=gpuArray(L);
L2(:,:,1)=MT;
%Error using gpuArray/subsasgn
%Sparse gpuArrays are not supported for this function.

Accepted Answer

James Tursa
James Tursa on 16 May 2022
For CPU, you can use the ndSparse submission by Matt J on the FEX:
I am unaware of anything similar for GPU.

More Answers (1)

Amin zaami
Amin zaami on 7 Jun 2022
See example below for sparse on GPU:
sparse(A1,A2,gpuArray(1),m1,m2);
sparse(41200,41200,gpuArray(1),41200,41200);
  • first 2 arguments for size, last two for memory,
  • there should be always A1<m1 & A2 <m2

Categories

Find more on Sparse Matrices in Help Center and File Exchange

Products


Release

R2021a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!