-
-
Notifications
You must be signed in to change notification settings - Fork 888
Add SimdUtils.HwIntrinsics #1398
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
Conversation
Codecov Report
@@ Coverage Diff @@
## master #1398 +/- ##
=======================================
Coverage 82.88% 82.88%
=======================================
Files 690 690
Lines 30903 30985 +82
Branches 3544 3554 +10
=======================================
+ Hits 25614 25683 +69
- Misses 4570 4580 +10
- Partials 719 722 +3
Flags with carried forward coverage won't be shown. Click here to find out more.
Continue to review full report at Codecov.
|
|
@SixLabors/core I'd really like to get this merged now as I want to reuse |
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.
My only concern is the broken RemoteExecutor run, but the E2E results are fine, so it should be OK.
| } | ||
|
|
||
| /// <summary> | ||
| /// Implementation <see cref="SimdUtils.ByteToNormalizedFloat"/>, which is faster on new RyuJIT runtime. |
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.
This summary got outdated by today I guess.
Add SimdUtils.HwIntrinsics
Prerequisites
Description
Replaces the
SimdUtilsAxv2IntrinsicswithSimdUtils.HwIntrinsicscontaining Avx2 and Sse2 implementations ofByteToNormalizedFloatReduceandNormalizedFloatToByteSaturateReduce. This gives us fully accelerated conversion in both directions.Benchmarks
Warmup and iteration count is probably a little low for these as demonstrated by the differences between
PixelOperations_SpecializedandHwIntrinsics. One calls the other!ToVector4_Rgba32
FromVector4_Rgba32