Conversation
gfoidl
left a comment
There was a problem hiding this comment.
For .NET 7 cross-platform intrinsics will be available, so that code can be written on behalf of Vector128<T> and not via Sse2 / AdvSimd.
I know that it's still a long time until is .NET 7 is available and adopted, but is this something that should be focused on now already?
That's interesting, I was not aware of this. How would that work? SSE has intrinsics which ARM does not have and vice versa. I think its to early to early to consider this now. Anything ARM related is now only pretty much experimental and will not land in the main branch anytime soon. |
Only the "common subset" is exposes as xplat-intrinsics. The journey started in dotnet/runtime#49397 but more operations got added so far -- I can't find a up-to-date summary of all operations 😢.
This is also my expectation. Just wanted to point to it (as a reminder that something is on the way). |
Thanks for sharing, that's very interesting to know. |
Co-authored-by: Günther Foidl <gue@korporal.at>
PNG: Throw exception, if palette chunk is missing
Prerequisites
Description
I was experimenting a bit with ARM hardware intrinsics and decided to port the adler32 version of chromium to ImageSharp.
BenchmarkDotNet=v0.13.1, OS=ubuntu 20.04
Unknown processor
.NET SDK=5.0.402
[Host] : .NET 5.0.11 (5.0.1121.47308), Arm64 RyuJIT
DefaultJob : .NET 5.0.11 (5.0.1121.47308), Arm64 RyuJIT
CPU info:
Benchmark was run with the following data:
There is still a bug, adler results for N 4096:fixedArm: 1010560139Scalar: 1010560140