GPU Array fun inside for loop - slower execution

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 个评论

@fun(a) is not valid syntax
You have to be careful with gpu timing. gputimeit is recommended.
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.

请先登录,再进行评论。

回答(0 个)

类别

帮助中心File Exchange 中查找有关 GPU Computing 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by