The state of SIMD in Rust in 2026

45 points - last Friday at 1:46 PM

Source

Comments

the__alchemist today at 9:20 PM
I am using my own lib, `lin_alg`, which apes core_simd for floating point values, and extends the concept to vectors and quaternions. I will eventually replace the floating point portions with core::simd upon its arrival in stable Rust.

Downside: It's currently x86 only.

amelius today at 9:28 PM
Can we start using stainless steel instead?
Archit3ch today at 8:12 PM
Hot take: there is no portable SIMD.

You can either have performance (=write manual ASM for each platform), or portability, but not both.

What so-called "portable SIMD" libraries give you is "portable auto-vectorization". "Portable performance" is a global property of the algorithm. Relying on auto-vectorization will result in e.g. sub-optimal register spills in practice. The microbenchmarks will look great, though. ;)

justmeeew today at 8:05 PM
[flagged]