gpu support for sparse calculation : times function

The gpu support for matlab is so slow and going at snail's pace. Each release, seems like 1-2 functions are added which is sad and frustrating. For example, mtimes is supported but times is not. One can hardly implement anything with such a reduced capability. Are there other external ways to do this other than writing CUDA code which most people cannot.

Answers (2)

You're quite right that times is not currently supported for sparse gpuArray, although the scalar-expansion version of mtimes is supported, e.g.:
2 * gpuArray.sprand(10, 10, 0.1)
Presumably, you need non-scalar version of times for your code?
Looking at the Parallel Computing Toolbox release notes shows the new GPU functionality added in each release. Are there specific functions or families of functions that you'd like to see implemented?
Thank you for your response Edric. Ideally, a lot of functions would be useful to have. Matrix operations will be quite useful, like mtimes(already there) and times, accumarray. Is this possible? Suresh

2 Comments

I'll add times for sparse gpuArray to our list for consideration to add. accumarray already supports sparse output on the GPU, like so:
N = 1000;
Sin = gpuArray(sprand(N, N, 0.1));
[I, J, V] = find(Sin);
Sout = accumarray([I J], V, [N N], [], [], true);
isequal(Sin, Sout) % Returns true
or did you mean something different?
Hi, has there been any further progress on the development of times for sparse gpuArray?
Failing that, would you know of any work-arounds for element-wise multiplication of sparse arrays on a GPU? (without converting back to full)
Thanks

Sign in to comment.

Categories

Find more on Sparse Matrices in Help Center and File Exchange

Tags

Asked:

on 16 May 2016

Edited:

on 8 Aug 2017

Community Treasure Hunt

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

Start Hunting!