Azzera filtri
Azzera filtri

Sparse for gpuArray problem

1 visualizzazione (ultimi 30 giorni)
shahrizan jamaludin
shahrizan jamaludin il 8 Mar 2016
Commentato: Joss Knight il 21 Mar 2016
Hello, i got problem with the code below:
pix=pix1; %pix1 is gpuArray with size 5194x2
P1=pix(:,2); %gpuArray with size 5194x1
P2=pix(:,1); %gpuArray with size 5194x1
spr=sparse(P1,P2,1,size(A,1),size(A,2));
%Error using gpuArray/sparse. Too many input arguments
but if i put "gather", it shows no error.
pix=pix1; %pix1 is gpuArray with size 5194x2
pix=gather(pix); % double with 5194x2
P1=pix(:,2); %double with size 5194x1
P2=pix(:,1); %double with size 5194x1
spr=sparse(P1,P2,1,size(A,1),size(A,2));
What went wrong? Any limitation for sparse in gpuArray? My GPU is 4GB

Risposta accettata

Joss Knight
Joss Knight il 8 Mar 2016
Yes, in R2015b the five-argument form of sparse is not supported for gpuArray. See help gpuArray/sparse.
Now that it's out you can upgrade to R2016a, which does support the five-argument form of gpuArray/sparse.
  2 Commenti
shahrizan jamaludin
shahrizan jamaludin il 8 Mar 2016
Thanks for your help.
Joss Knight
Joss Knight il 21 Mar 2016
By the way, in R2015b you can use accumarray, which has very much the same syntax as the 5-argument form of sparse. All you do is combine i and j into one matrix, also combine m and n into one size input, and specify the 6th argument as true (output sparse matrix), namely:
S = accumarray([i j], s, [m n], [], [], true);
is equivalent to
S = sparse(i, j, s, m, n);

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Startup and Shutdown in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by