Skip to content

Switch to std::simd#88

Open
RazrFalcon wants to merge 2 commits intomainfrom
std-simd
Open

Switch to std::simd#88
RazrFalcon wants to merge 2 commits intomainfrom
std-simd

Conversation

@RazrFalcon
Copy link
Copy Markdown
Collaborator

TODO:

  • f32 pipeline is a bit broken. Specifically gradients and patterns. No idea why. Maybe due to rounding.
  • f32 pipeline is up to 40% slower on aarch64. Should start with fixing color_burn. Maybe Mask::select is not getting vectorized?
  • Bench on x86.
  • Make sure output on x86 and aarch64 is identical.
  • Figure out what to do with simd::StdFloat and no_std.
  • Figure out what to do with the old f32x8::recip_fast method.
  • Wait until std::simd will become stable...

Some methods in the u16 pipeline are up to 20% faster on aarch64, which is very good.

Gradients in the u16 pipeline are slightly different because of explicit mul_add instead of a manual f * m + a.

Closes #59

@notgull
Copy link
Copy Markdown

notgull commented May 27, 2023

Not sure if you're planning on releasing this soon, but I would be against making tiny-skia a nightly-only package. It's currently relied on by winit and theo, which are not nightly-only and would likely be opposed to becoming nighly-only.

@RazrFalcon
Copy link
Copy Markdown
Collaborator Author

@notgull

Wait until std::simd will become stable...

@notgull
Copy link
Copy Markdown

notgull commented May 27, 2023

Ah, my bad, I missed that option. Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

2 participants