Switch to std::simd #88
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
TODO:
f32pipeline is a bit broken. Specifically gradients and patterns. No idea why. Maybe due to rounding.f32pipeline is up to 40% slower on aarch64. Should start with fixingcolor_burn. MaybeMask::selectis not getting vectorized?aarch64is identical.simd::StdFloatandno_std.f32x8::recip_fastmethod.std::simdwill become stable...Some methods in the
u16pipeline are up to 20% faster onaarch64, which is very good.Gradients in the
u16pipeline are slightly different because of explicitmul_addinstead of a manualf * m + a.Closes #59