projectNe10/Ne10

Magnitude of complex number ne10_fft_cpx_float32_t

Opened this issue · 2 comments

Is there a function to evaluate the magnitude of complex number variable type ne10_fft_cpx_float32_t without storing it into two separate arrays and using SIMD neon intrinsic?

ne10_len_vec2f can evaluate the magnitudes of an array of complex number variable type ne10_fft_cpx_float32_t. However, it is not optimized for AArch64 yet.

@kira505 , I have adjusted the build system and copy the C implementation for some math function to the NEON function. Now we can build module math for AArch64.
You can check the branch dev-math for it. The branch is not ready to merge yet but it is enough for performance test.
I have also optimized ne10_len_vec2f with NEON intrinsic. This is one of special cases where the NEON implementation are signficantly better in performance. The recent compilers are quite good at automatic vectorization so the performance boost is not significant for simple functions, such as the function adding two vectors.