Gpu methods to locate unique IDs
Show older comments
Hi,
I am just looking for some ideas to solve this problem on gpu with matlab.
There is a 2 x N vector. Row 1 has N has Ids which can be duplicate. Row 2 has corresponding numerical values. I need to sum all the values for which there is a unique column ID.
Input : [1 1 1 2 2 3 3; 10 11 12 13 14 15 16] Output : [1 2 3; 33 27 31]
A vectorized solution of this on a GPU I am guessing would be the fastest
Any suggestions would be greatly appreciated.
Thanks
Answers (1)
Jan
on 9 Apr 2013
2 votes
Start with an implementation on the CPU using accumarray.
Then decide, if the index vector is dense, this means if it contains values from 1 to N, which are all positive integers without larger gaps. Then it is much faster to accumulate the values using them as indixes. In this case a C-Mex function might be very efficient.
Categories
Find more on GPU Computing in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!