gpu support for sparse calculation : times function

2 views (last 30 days)
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)

Edric Ellis
Edric Ellis on 17 May 2016
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?

Suresh
Suresh on 17 May 2016
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
Edric Ellis
Edric Ellis on 18 May 2016
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?
Ben Ward
Ben Ward on 8 Aug 2017
Edited: Ben Ward on 8 Aug 2017
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.

Tags

Community Treasure Hunt

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

Start Hunting!