Skip to content

feat: add simd support for decode_filter_exp#24

Draft
CrazyboyQCD wants to merge 1 commit intoyzsolt:mainfrom
CrazyboyQCD:simd
Draft

feat: add simd support for decode_filter_exp#24
CrazyboyQCD wants to merge 1 commit intoyzsolt:mainfrom
CrazyboyQCD:simd

Conversation

@CrazyboyQCD
Copy link

@CrazyboyQCD CrazyboyQCD commented Dec 3, 2025

Added as a reference for other functions, and I personally think slice argument is easier to adapt into simd api than iterator.

CI Changes should be done in another PR.

  • Add simd intrinsics
  • Multiversioning

@yzsolt
Copy link
Owner

yzsolt commented Dec 13, 2025

Hey @CrazyboyQCD, first of all, sorry for taking so long to reply, and of course, big thanks for taking a stab at this!

Overall the changes look good. There are some prerequsites on main though I'd like to have before merging this - things you've already mentioned:

  • Iterator vs. slice API: I'd like to explore this topic once all 1.0 changes are ported, and settle on either one, preferably consistent for all meshoptimizer APIs.
  • WASM build + CI: planned, and I can take a stab at it soon. I managed to implement WebAssembly SIMD testing on GitHub CI some time ago when adding WASM SIMD support for simdeez.

FYI, originally I was considering simdeez as a possible method of introducing SIMD to meshopt-rs, but I'm not against using intrinsics directly, as you did it.

Let me know if this is important for you, in that case I'll schedule it before the 1.0 porting finishes.

@CrazyboyQCD
Copy link
Author

CrazyboyQCD commented Dec 15, 2025

@yzsolt
Thanks for your response.

  • Iterator vs. slice API: I'd like to explore this topic once all 1.0 changes are ported, and settle on either one, preferably consistent for all meshoptimizer APIs.

Sure.

Great that you have done that before, and I think all the CI changes should be done in another PR, and mine should only focus on implementation.

FYI, originally I was considering simdeez as a possible method of introducing SIMD to meshopt-rs, but I'm not against using intrinsics directly, as you did it.

I was also considering using wide, but I think a similar code structure would be easier to adapt for future changes and also introduces less dependencies.

@CrazyboyQCD CrazyboyQCD force-pushed the simd branch 2 times, most recently from 93ef201 to 450e0d2 Compare December 17, 2025 01:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants