We’ve been using the Intel Performance Primitives library for the Fourier transform, convolution, and the Hilbert transform.
Now, just like everyone else, we need the equivalent for ARM64. I’ve been looking at the Arm Compute library, CMSIS, and FFTW (since really we just need a nice fast Fourier transform).
Hi Matt, I’m now in the process of doing exactly what you did. I’m still learning, so I wanted to gauge how involved this process was. Were you able to swap out equivalent IPP functions with vDSP replacements relatively easily, or did you have to deeply refactor your DSP code?
Any experience you have I’d love to hear about it. Thanks!
My approach is to wrap various SIMD libraries with a common API, so that the actual DSP code needs no changes, and the API is the same regardless of which backend is being used.
We use kfrlib with great success. It has ready to use convolution, FFT and other goodies. Builds for x64, arm, etc. with full optimizations and native SIMD usage.
Did you manage to use it on arm platform like Raspberry Pi or Apple’s M? We are trying to build plugins working on embedded linux and are looking for proper audio processing libraries.