Hello,
According to the Matlab documentation ( http://www.mathworks.com/help/distcomp/run-built-in-functions-on-a-gpu.html ), I can create a sparse gpuArray by "either by calling sparse with a gpuArray input, or by calling gpuArray with a sparse input." Neither of these seems to work:
x = sparse([0 2 0; 0 5 0; 0 1 0])
x =
(1,2) 2
(2,2) 5
(3,2) 1
m = gpuArray(x)
Error using gpuArray
Only full arrays of fundamental numeric types or logical types are supported for
GPU arrays.
Or alternatively:
x = gpuArray([0 2 0; 0 5 0; 0 1 0])
x =
0 2 0
0 5 0
0 1 0
X = sparse(x)
Undefined function 'sparse' for input arguments of type 'gpuArray'.
Am I doing something wrong?
Thanks!

 Réponse acceptée

Matt J
Matt J le 18 Juil 2015
Modifié(e) : Matt J le 18 Juil 2015

1 vote

Make sure you are using a recent enough version of MATLAB. Sparse gpuArrays weren't always supported.

2 commentaires

Ajay Shenoy
Ajay Shenoy le 18 Juil 2015
Modifié(e) : Ajay Shenoy le 18 Juil 2015
Which was the first version to support sparse gpuArrays? I have Matlab R2014b and version 6.5 of the parallel computing toolbox. Thanks - A.

Connectez-vous pour commenter.

Plus de réponses (1)

Amin zaami
Amin zaami le 7 Juin 2022
Modifié(e) : Amin zaami le 7 Juin 2022

0 votes

See example below for sparse on GPU:
sparse(41200,41200,gpuArray(1),41200,41200);
  • first 2 arguments for size, last two for memory,

Catégories

En savoir plus sur Sparse Matrices dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by