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

5 次查看(过去 30 天)
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.

采纳的回答

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

更多回答(1 个)

Amin zaami
Amin zaami 2022-6-7
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

类别

Help CenterFile Exchange 中查找有关 Sparse Matrices 的更多信息

标签

产品


版本

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by