Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

No optimized dsps_bit_rev_sc16 resulting slow sc16 S3 FFT performance overall (DSP-98) #65

Open
ayavilevich opened this issue Feb 1, 2023 · 1 comment

Comments

@ayavilevich
Copy link

It looks like there is just an ansi implementation of dsps_bit_rev_sc16 at this time. On the other hand, there is an optimized implementation of the dsps_bit_rev2r_fc32 but the fc32 FFT is not accelerated where the sc16 one is.

Considering the optimized dsps_fft2r_sc16 on the S3, it is a blocker for any effective, fast and fixed point FFT on the S3 to not have an optimized bit reversal function as well. Currently, if the first step of the FFT takes time T then just the final bit reversal (ansi) will take 2T.

Please consider adding. I am not sure about the effort, but maybe it is similar to the floating point version with just type changes?!

P.S. similar issue with the dsps_cplx2real_sc16, but lower priority.

@tom-borcin tom-borcin changed the title No optimized dsps_bit_rev_sc16 resulting slow sc16 S3 FFT performance overall No optimized dsps_bit_rev_sc16 resulting slow sc16 S3 FFT performance overall Apr 3, 2023
@github-actions github-actions bot changed the title No optimized dsps_bit_rev_sc16 resulting slow sc16 S3 FFT performance overall No optimized dsps_bit_rev_sc16 resulting slow sc16 S3 FFT performance overall (DSP-98) Apr 3, 2023
@dmitry1945
Copy link
Collaborator

Hi @ayavilevich ,

In float version of FFT we have an table base implementation of bit reverse, and that's why it's faster.
We will think to add the same functionality for the int16 version.

About dsps_cplx2real_sc16 the approach is different. The ansi version and asm version will not have such big difference as FFT or other functions, that's why we have onlu ansi version for this function.

Regards,
Dmitry

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants