Sparse arrays on GPU?

4 次查看(过去 30 天)
Ajay Shenoy
Ajay Shenoy 2015-7-18
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!

采纳的回答

Matt J
Matt J 2015-7-18
编辑:Matt J 2015-7-18
Make sure you are using a recent enough version of MATLAB. Sparse gpuArrays weren't always supported.
  2 个评论
Ajay Shenoy
Ajay Shenoy 2015-7-18
编辑:Ajay Shenoy 2015-7-18
Which was the first version to support sparse gpuArrays? I have Matlab R2014b and version 6.5 of the parallel computing toolbox. Thanks - A.

请先登录,再进行评论。

更多回答(1 个)

Amin zaami
Amin zaami 2022-6-7
编辑:Amin zaami 2022-6-7
See example below for sparse on GPU:
sparse(41200,41200,gpuArray(1),41200,41200);
  • first 2 arguments for size, last two for memory,

类别

Help CenterFile Exchange 中查找有关 GPU Computing 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by