-
Notifications
You must be signed in to change notification settings - Fork 27
Wasm32 support #66
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Wasm32 support #66
Conversation
4586244 to
fc11524
Compare
|
Request my review when you think it's ready, also please mention how to run/test it |
|
Hey, I think it's ready! Rebased onto master and reenabled the commented out scalar tests. About testing: I've set up things in a way that if you specify For more complex testing you can build |
arduano
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks about right, I can't find any issues. Is it good to merge?
Yes, ship it! |
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 #20.