Fluctuation in the execution time results for OpenCL applications on Stratix V FPGA board.
- 7 years ago
The profiler is not made for timing measurement, it is made for detecting bottlenecks. Since the profiler dumps data onto the disk during execution, it could cause significant overhead and fluctuation in the run time. Use a host side timer (e.g. gettimeofday()) or the "clGetEventProfilingInfo()" function provided by the OpenCL standard to measure run time instead. 20-30 ms of fluctuation could be normal if run time is in the order of multiple seconds. Furthermore, for short benchmarks with random memory accesses, run time fluctuation could be high due to variable run-time scheduling of memory accesses.
P.S. You might want to take a look at this repository which already has some of the Rodinia benchmarks ported for Intel FPGAs and already has host side timers in place: