5

RustFFT 5.0.0-experimental.1: Now faster than FFTW!

 3 years ago
source link: https://users.rust-lang.org/t/rustfft-5-0-0-experimental-1-now-faster-than-fftw/53049/4
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
RustFFT 5.0.0-experimental.1: Now faster than FFTW!

Today, I released RustFFT 5.0.0-experimental.1 748!

RustFFT is a high-performance FFT 792 library written in pure Rust. Version 5.0.0-experimental.1 implements AVX acceleration and is 5x-10x faster than RustFFT 4.0.0 at every FFT size.

More notably, with this release, RustFFT beats FFTW 352 in performance, one of the industry-leading FFT libraries! To make the comparison, I used the Fourier 70 crate's very useful benchmarks, which compare the performance of RustFFT, Fourier, and FFTW. I found that, at every single size I tested, RustFFT was either equivalent in speed to FFTW, or faster.

With this release, Rust users no longer have to choose between the convenience of a pure-Rust FFT library and the speed of FFTW: RustFFT brings both!

RustFFT 5.0.0-experimental.1 is marked as an experimental release, because it currently requires nightly for the min_specialization feature. Once I can get it compiling on stable Rust, it will become RustFFT 5.0.

I'm also considering other SIMD instruction sets. RustFFT currently only supports AVX -- I'm open to supporting instruction sets for other targets like NEON or AVX-512 or even a future library like std::simd, but Rust's support for those is currently nightly-only and incomplete. They're also predicated on me finding a machine to benchmark on, so overall I'd prefer not to hold back the AVX release on those.


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK