Find Peaks In a Faster Way

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

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 :)
Could you please provide an example on how to use gpuArray on findpeaks?

Sign in to comment.

More Answers (0)

Categories

Community Treasure Hunt

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

Start Hunting!