Forums - Question about fcvSetOperationMode

2 posts / 0 new
Last post
Question about fcvSetOperationMode
da.teng
Join Date: 20 Jun 21
Posts: 16
Posted: Fri, 2021-07-16 11:17

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_POWER

Target-optimized implementation uses lowest power consuming implementation.

FASTCV_OP_PERFORMANCE

Target-optimized implementation uses highest performance implementation.

FASTCV_OP_CPU_OFFLOAD

Target-optimized implementation offloads as much of the CPU as possible.

FASTCV_OP_CPU_PERFORMANCE

Target-optimized implementation uses CPU highest performance implementation.

FASTCV_OP_RESERVED

Values >= 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

  • Up0
  • Down0
jeff4s Moderator
Join Date: 4 Nov 12
Posts: 107
Posted: Wed, 2021-07-21 15:05

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

  • Up0
  • Down0
or Register

Opinions expressed in the content posted here are the personal opinions of the original authors, and do not necessarily reflect those of Qualcomm Incorporated or its subsidiaries (“Qualcomm”). The content is provided for informational purposes only and is not meant to be an endorsement or representation by Qualcomm or any other party. This site may also provide links or references to non-Qualcomm sites and resources. Qualcomm makes no representations, warranties, or other commitments whatsoever about any non-Qualcomm sites or third-party resources that may be referenced, accessible from, or linked to this site.