The state of SIMD in Rust in 2026
This detailed survey compares Rust’s SIMD options, from nightly std::simd to libraries such as Fearless SIMD, pulp, wide, and macerator. It focuses on the practical trade-offs: safe abstractions, portable code, runtime CPU-feature dispatch, and choosing vector widths. The author maintains Fearless SIMD, but says maintainers of competing libraries reviewed a draft; he retained editorial control and responsibility for mistakes.
The /r/rust discussion sharpened the trade-offs. Commenters debated whether generic Simd<T, N> can support runtime-selected widths cleanly, and whether vectors wider than the CPU’s native width can help. The author cautioned that wider vectors can also hurt through register pressure and need workload-specific benchmarks. One commenter caught a Rust-version typo; the author corrected it.