Hi,
I am observing GPU kernel is taking huge time when I am running an empty kernel. I am Using "Samsung Exynos Octa 5420 Board" which has Mali GPU. I have one kernel which is of work group size around "3000" when I am running it with logic inside kernel and passing arguments, it is taking 2 msec of time but when I run the same kernel without any logic in it and without passing any arguments it is taking 19 msec. What I heard is kernel with less load for will run very fast, but why kernel without any load is taking huge time? For answering this query just consider my logic of kernel as a simple factorial of NxN elements. I hope I gave complete information related my problem, please let me know any more information you need to solve this.
Thanks & Regards,
Narendra Kumar Chepuri.
Hi Hartley,
I will explain you block wise with some example.
block 1:
{
This is some input preparation part which will fill the GPU input source buffer;
}
block 2:
StartTime of profile;
Here it is kernel execution part which has SetKernelArguments followed by EnqueueNDRangeKernel, clFlush, clFinish;
EndTime of profile;
block3:
Print the execution time of kernel and some CPU task which works on GPU output.;
I think this information is sufficient for checking, if you still want more details on algorithm then I can share the exact code.
Narendra Kumar.
Hi Narendra,
My apologies for getting back to you sooner - I had missed the above post.
I'm not sure there's enough there to easily track this down. Can you provide an actual simple reproducer for us to investigate further? It's not necessarily the algorithm you are using - whatever minimum piece of code exhibits the problem will do.
Regards,
Tim