I'm running sample code using FastCV on QRB5165, which I think is the same as Snapdragon 865. The main ARM core is Cortex-A77. The is a cDSP Hexagon 698 available on the SOC. I have questions about fcvSetOperationMode. The following is the doc for the enum:
FASTCV_OP_LOW_POWERTarget-optimized implementation uses lowest power consuming implementation.
FASTCV_OP_PERFORMANCETarget-optimized implementation uses highest performance implementation.
FASTCV_OP_CPU_OFFLOADTarget-optimized implementation offloads as much of the CPU as possible.
FASTCV_OP_CPU_PERFORMANCETarget-optimized implementation uses CPU highest performance implementation.
FASTCV_OP_RESERVEDValues >= 0x80000000 are reserved.
FASTCV_OP_LOW_POWER says it uses lowest power consuming implementation, which means it should use the DSP implementation. FAST_OP_CPU_OFFLOAD says it offloads from CPU much as possible, which also suggest it should use the DSP. But when I run some image processing functions on the SOC, for example, Gaussian 3x3 8bit, FASTCV_OP_LOW_POWER gives 25.7ms while FAST_OP_CPU_OFFLOAD uses 19.8ms. What's the reason for this?
Another question is about FASTCV_OP_PERFORMANCE vs. FASTCV_OP_CPU_PERFORMANCE. Based on their discription, I should expect same performance from these two modes and CPU has the highest performance on this SOC. But I'm see different results: FASTCV_OP_PERFORMANCE: 3.6ms vs. FASTCV_OP_CPU_PERFORMANCE: 1.8ms.
Can someone please shed some light on this?
Thanks
Hi,
For stable profiling results you can loop 100x or 1000x times to average out the noise.
Also please refer to this post to follow the proper init/deinit procedure:
https://developer.qualcomm.com/forum/qdn-forums/software/fastcv-computer...
Cheers,
-Jeff