arduano / simdeez

easy simd
MIT License
332 stars 25 forks source link

Wasm32 support #66

Open yzsolt opened 8 months ago

yzsolt commented 8 months ago

Adds support for WebAssembly SIMD, using the currently available stable intrinsics in Rust.

I also added a GitHub action for automated testing. Benchmarking also works, and shows a ~3x improvement of SIMD vs. scalar when running in wasmtime.

Note that I'm not a SIMD expert, so I may have missed some optimization opportunities when implementing operations which don't map 1:1 to WASM SIMD intrinsics. I've tried to follow already existing SSE and NEON implementations though.

Closes https://github.com/arduano/simdeez/issues/20.