SIGN IN SIGN UP

Speed up time stretching ~3x on Linux with FFTW3. (#349)

* Add FFTW3 for faster time stretching.

* Fix build on Ubuntu.

* Lint.

* Add FMA4 support.

* Target Broadwell CPUs instead of just fma4.

* Add FMA4 support again.

* Enable optional AVX512 instructions.

* Add missing swizzle enum definitions.

* Don't built KCVI extensions with GCC or Clang.

* Add missing declares.

* Remove duplicate assert.c.

* Properly ignore assert.c on ARM.

* Disable AVX512.

* Don't compile any avx512 files.

* No more of these FMA4 instructions, please.

* Nope, no AVX_128_FMA either.

* No -mavx maybe?

* -march=native

* Tell RubberBand that we're using threads.

* Tell RubberBand that we're already configured.

* Silly; -DNO_THREADING=0 doesn't work, you need to not define NO_THREADING.

* Use Pthreads.

* Use PThreads, but correctly this time.

* Wrap RubberBandStretcher constructor with a mutex.

* It's... memalign?

* Also disable generic SIMD.

* Fix Windows build.

* Closer...

* So close, come on MSVC, you can do it!

* Use built-in FFT on Windows.

* Disable pthreads on Windows.

* Just use AVX; it's all we need!
P
Peter Sobot committed
60404dd9fcace9e9ed062d5b117a15f2cc2cbb8d
Parent: f29daa9
Committed by GitHub <noreply@github.com> on 7/2/2024, 1:51:21 PM