How to convert this vectorized code into GPU code for MAXIMUM speedup ?
Show older comments

1 Comment
Jan
on 26 Apr 2017
Please post code as text and not as a screenshot. Then it can be used by copy&paste to create an answer.
Answers (2)
Joss Knight
on 18 Apr 2017
I was able to get a marginal speedup with additional vectorization of the mask:
x = sum(I < cat(3, 120, 155, 160), 3) == true;
but otherwise you've done pretty well. You've got to wonder why you need to replicate the output on every channel however. Why not discard the colour channels if you're using grayscale?
2 Comments
Tanmay Virnodkar
on 20 Apr 2017
Edited: Tanmay Virnodkar
on 20 Apr 2017
Joss Knight
on 26 Apr 2017
Right, but then you're including the cost of replicating data in GPU memory and doing indexing, which is memory-bound and doesn't necessarily show the GPU in a great light.
Jan
on 18 Apr 2017
0 votes
The bottlenecks of the code are the darn clear all and the disk access using imwrite. Moving this to the GPU will not help.
Categories
Find more on GPU Computing in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!