Why does OpenVX graph time vary so wildly???

Hi everybody,

I have built a graph to estimate global motion between consecutive video frames, and try measuring its performance using

vx_perf_t perf;
vxQueryGraph(graph, VX_GRAPH_ATTRIBUTE_PERFORMANCE, &perf, sizeof(perf)));

Processing the graph on Jetson Tx2 kit for thousands time with FullHD frames and computing histogram of execution times, I was quite surprised that graph performance fluctuate in a too wide range (from under 10ms to above 60ms (figure) ).

https://imgur.com/a/7yi4Z3K

Why there is this difference?
Thanks in advance

Hi,

Have you fixed the CPU/GPU clock?

sudo ./jetson_clocks.sh

If not, TX2 is by default using dynamic frequency, which optimizes the power utilization but has some latency.

Thanks.

Thank AastaLLL,

The improvement is very impressive, now the processing time is always kept around 5ms <=> 200 fps !!!

Btw, Could you explain me how dynamic frequency work, please?
And is there any side effect of setting max frequency for GPU, CPU beside the increase of power consumption?

Thank in advance,

Hi,

You can find detail information for frequency and power management in our document:
https://developer.nvidia.com/embedded/dlc/l4t-documentation-28-2-ga
>> Clock Frequency and Power Management

Thanks.