04-20-2019 04:21 AM - edited 04-20-2019 04:29 AM
Hello everyone
I have a question about kernel launch and its completion event for a pipelined kernel.
Consider two versions of a kernel:
V1) is not pipelined and got latency=7 and II=8
V2) is pipelined and got latency=120 and II=2
Questions:
1. When does SDAccel and it's OpenCL backend consider kernel V2 finished in host code? after the latency period or after II period? The kernel is launched with the clEnqueueTask.
2. If the answer for question 1 is "after latency period", does it mean that using non-pipelined kernel V1 would be better in terms of kernel execution time because it has less latency?
04-21-2019 04:45 PM
1. The answer is "after latency period"
2. yes.
In the next comming release, dataflow execution can be supported. It means that kernel execution can be overlapped by dataflow. FYI.
Besides, for a kernel, please consider not to deal with a small number of data, since there's overhead between kernel executions.
04-21-2019 04:45 PM
1. The answer is "after latency period"
2. yes.
In the next comming release, dataflow execution can be supported. It means that kernel execution can be overlapped by dataflow. FYI.
Besides, for a kernel, please consider not to deal with a small number of data, since there's overhead between kernel executions.