This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

About IMGLIB for C674x core

Guru 15510 points

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.