GPU Array fun inside for loop - slower execution

1 view (last 30 days)
I have a function that I know executes correctly on the GPU using arrayfun. I also know that the execution is very quick ~0.1 seconds. I essentially itterate over the function with slightly different inputs lets say 100 times. What does make sense is that if i were to copy and past the command line and execute it as 100 lines of code instead of a for loop it is much slower
for i = 1:100
out = arrayfun(@fun(a),gpuArray)
end
can anyone explain what i am seeing?
  2 Comments
Walter Roberson
Walter Roberson on 9 Feb 2020
@fun(a) is not valid syntax
You have to be careful with gpu timing. gputimeit is recommended.
Joss Knight
Joss Knight on 9 Feb 2020
I think you're going to have to post your actual code because it's hard to work out exactly what you mean. If your function is an anonymous function, for instance, then it's easy to explain the difference.

Sign in to comment.

Answers (0)

Community Treasure Hunt

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

Start Hunting!