Hi,
I have a question about IMGLIB for DM814x C674x+ core.
My customer is using C674x core and trying to improve their software's performance.
They are comparing the cycle of IMGLIB, intrinsics API, and natural C code.
Their evironment is as follow:
Code Composer Studio : v5.2
C6000 CodeGenerationTool : v7.3.4
IMGLIB : imglib_c64Px_3_1_1_0
They are comparing the cycle of folowing API and the code:
*IMGLIB API : IMG_sad_8x8()
*Natural C code : C code equivalent to IMG_sad_8x8()
(copy the source code of IMG_sad_8x8() from IMGLIB src file)
*Intrinsics API : Same code as Natural C code but replaced the "abs()" function to
intrinsics API "_abs()"
When they build the code with no optimization option,
the result was as follow:
<Natural C Code> IMG_sad_8x8_c() time 66944
<intrinsics> IMG_sad_8x8_abs() time 66939
<IMGLIB> IMG_sad_8x8() time 4516
IMGLIB API was fastest.
But when they build the code with optimization option -o3,
the result was as follow:
<Natural C Code> IMG_sad_8x8_c() time 3038
<intrinsics> IMG_sad_8x8_abs() time 3090
<IMGLIB> IMG_sad_8x8() time 4298
By using -o3 option, Natural C Code was fastest, and IMGLIB was slowest.
We were thinking that IMGLIB is optimized for C674x core
so that IMGLIB will be the fastest even using -o3 option.
Is this result appropriate? Or is there any method to improve the IMGLIB performance.
best regards,
g.f.