Hi,
We tried compiling and running the fastcv demo app on phone built around SDM710. Parallelly used the Snapdragon profiler to check CDSP and GPU utliisation. Surprisingly there seems to be not much activity on GPU and DSP (utilisation less than 3% for both) even when the samples are running.
So the question is, what does Fastcv uses to gain performance? If it is using DSP or GPU, then why we are not seeing any noticable utilisation of any of them while the demo is running?
We tried both FASTCV_OP_PERFORMANCE and FASTCV_OP_CPU_OFFLOAD flags but didnt see any noticable utilisation of DSP or GPU.
Thanks,
Anand Mistry
Hi,
The algorithm itself may not have high complexity to require high processor utilization in a single run. Suggest to loop 100 or even 1000 times and measure again.
Cheers,
-Jeff
Hi Jeff,
Sorry, I forgot to mention in my original post that I've already checked looping the gaussian resize by 2 around 100 times. Today I tried it with 1000 times per frame, also tried with corner detection. The frame rate dropped significantly, but no activity seen in GPU and CDSP utilisation. I tried using both Debug and Release build of the factcv demo app.
Do I need to do anything special to get the app to utilise DSP? Like Do we need to add any compilation parameters to enable the demo app to to use DSP? I am asking this because I had to import the app to android studio and compile. Also tried with older sdk, but same results.
Also do you have any link to precompilied demo apk known to be working correctly?
Thanks and Regards,
Anand Mistry
Hi,
The fact that you saw frame rate dropped with increasing number of loops indicates that utilization rate changes. Suggest you try to set FASTCV_OP_LOW_POWER to check CDSP usage. I'm not familiar with the profiler. If you suspect issues with the profiler please raise question with its respective forum.
Best,
-Jeff
Hi Jeff,
We also tried with FASTCV_OP_LOW_POWER, but found same results, i.e. no increase in utilisation of DSP or GPU. I dont doubt the profiler because, with the phone's default camera app running, I can see significant rise in DSP and GPU usages. Even reaching 100% mutliple times. I suspect I am doing something wrong while compiling the app. If you have a working copy of the apk that I can test locally, please share.
Thanks,
Anand Mistry
Hi Anand,
I met the samilar problem. I tried to use fcvRemapu8 instead of cv::remap in order to speed my app. But I found fcvRemapu8 is slower than cv::remap!
I used FASTCV_OP_PERFORMANCE and make it loop 10000 times. I found the task is only on core7 (99% usage).
While used cv::remap the task is paralled on 8 cores and the total cpu usage is ~ 620%. So it is faster than fcvRemapu8.
Obviously fcvRemapu8 does NOT run on GPU or DSP. So how can make it run on GPU/DSP ?
Thanks in advance.