Find Peaks In a Faster Way

9 views (last 30 days)
Ana
Ana on 2 Nov 2015
Hello everyone! I'm trying to develop a code to process a signal accordingly to an algorithm. I have the serial code already and I'm trying to parallelize it. I found out that the part that is most time consuming is the built-in MATLAB function:
[pks,locs] = findpeaks(data)
Is there anyway I can make it faster, or do I need to implement myself something similar? In order to be able to use either GPU or elements of the Parallel C. Toolbox.
Thanks!
  1 Comment
Joss Knight
Joss Knight on 3 Nov 2015
Do you have Image Processing Toolbox? You may find imregionalmax can be adapted to work for your problem. It is optimized for GPU.

Sign in to comment.

Accepted Answer

Edric Ellis
Edric Ellis on 3 Nov 2015
Unfortunately, findpeaks does not currently support gpuArray inputs. You might be able to create your own simplified version using diff and find...
  2 Comments
Ana
Ana on 3 Nov 2015
Edited: Ana on 3 Nov 2015
It's the approach I'm doing. Trying to implement a simplified version using gpuArray or other functions that allows me to use distributed arrays.
Thanks :)
바유아디따마 남자
바유아디따마 남자 on 23 Dec 2022
Could you please provide an example on how to use gpuArray on findpeaks?

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!