[Speex-dev] TI 6xxx platform performance
jean-marc.valin at usherbrooke.ca
Wed Jan 18 23:00:07 PST 2006
> To get a feel for the computational load, I am running 1 second (50 frames)
> of voice through the encoder.
You might want to use a bit more just so you don't see the
initialization complexity at all.
> My profile of the 6416 indicates I'm at 27.4M cycles/channel. I need to get
> below 720Mhz/32 channels = 22.5M cycles per channel. I did a little work on
> inner_prod() and normalize16() and I'm confident I can get 32 channels by
> optimizing 5 or 6 functions. I expect these numbers to translate over the
have you tried defining PRECISION16? That should reduce the computation
> A lower cost option would be to use a floating point 6713. I thought that a
> 300Mhz floating point would come out even or ahead in an encoding
> comparison. Instead of the 300M/32=9.3M cycles per channel that I need, I
> see 71.5M cycles per channel!!!
That's definitely strange. Normally, if your chip takes the same time to
do a float op than it takes to do an int op, then the float version
should be faster. That's because some of the float ops get replaced by
several int ops.
> Does this make sense?
> I'm generating floating point code, using the optimizer, etc...
Are you sure the compiler isn't using float emulation or something like
> Has anyone posted DM642, C64xx or C67xx benchmarks?
I'm not aware of any.
More information about the Speex-dev