I'm looking for a speed-optimized software routine that produces the dot-product of two arrays of unsigned 8-bit data. (For the C6748) I don't know where to begin looking.
Thanks for your help.
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.
I'm looking for a speed-optimized software routine that produces the dot-product of two arrays of unsigned 8-bit data. (For the C6748) I don't know where to begin looking.
Thanks for your help.
Walter,
Although it takes 16-bit parameters, the DSP_dotprod() function in C64x+ DSPLIB is a good start:
http://focus.ti.com/docs/toolsw/folders/print/sprc265.html
To further explore the capabilities of parallel multiplication in C64x+/C674x architecture, check the function IMG_mad_8x8() of the C64x+ IMGLIB code. Its source code implementation contains a loop that performs 8x8 minimum absolute difference calculation that can be easily adapted to a dot product (check the API reference guide).
http://focus.ti.com/docs/toolsw/folders/print/sprc094.html
At last, check the C674x DSPLIB if you are looking for some floating point implementations.
http://processors.wiki.ti.com/index.php/C674x_DSPLIB
Hope this helps,
Rafael