View Single Post
Old 07-17-2012, 06:11 PM   #35
knc1
Going Viral
knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.
 
knc1's Avatar
 
Posts: 17,212
Karma: 18210809
Join Date: Feb 2012
Location: Central Texas
Device: No K1, PW2, KV, KOA
This has been fun, but O.T

Now that we have a bit of a feel for how the emulated armv6l environment posted in DIY-KeK works (6us per 64 point FFT vs 9us per 64 point FFT on the K3) . . . .

Time to drop this gpl licensed fun show and go back to the thread topic, the bsd licensed one that needs to port from 16bit to 32 bit.

The 16bit example uses a DIY, 8Q7, real number storage format to fit the data into 16bits.
With our 32bit integer and floating point processors, we can us "int" and "float" (both 32bit register sizes) in place of the 8Q7.

Since libm does double precision (64bit) operations, we need to be a bit careful to keep local "float" versions of the libm results so that we don't need for the C code to "promote / demote" the data types a zillion times per math statement.

Although the VFP does have the float <-> double conversions in hardware, it is still better to avoid any work that can be avoided.

The VFP has 4 banks of (different views, same registers) either 8 single or 4 double precision vectors.
So we want to organize our progress as inner loops of either 4 or 8 data values (depending on precision at that place in the code).

And just so everyone does not have to go searching for the O.P. files, I have attached copies here:
Attached Files
File Type: zip 3722Firmware.zip (234.1 KB, 264 views)
File Type: pdf EJ57-1.pdf (222.1 KB, 326 views)
knc1 is offline   Reply With Quote