Ancestors

Written by nietras 👾 on 2025-01-13 at 10:03

WTH 😅 #dotnet 8 vs 9 SIMD output is different for simple float to byte conversion apparently due to Vector.ConvertToUInt output is now different?

cc @tannergooding

.NET SDK 9.0.101, x64, AMD 5950X

=> View attached media | View attached media

=> More informations about this toot | More toots from nietras@mastodon.social

Toot

Written by nietras 👾 on 2025-01-13 at 11:09

@tannergooding arguably the output is more consistent with (byte)(uint) output so perhaps this is why this has changed, just surprised by the silent change.

=> More informations about this toot | More toots from nietras@mastodon.social

Descendants

Written by tannergooding on 2025-01-13 at 13:51

@nietras this is https://learn.microsoft.com/en-us/dotnet/core/compatibility/jit/9.0/fp-to-integer

It's also notably not so much a break as the behavior was previously non-deterministic and depended on the underlying hardware (x64 vs Arm64 vs WASM vs ...; or even just on x64: SSE vs AVX vs AVX512 vs AVX10v2 vs ...)

It's rather a change to ensure determinism with new APIs such as ConvertToUInt32Native that give you the faster non-deterministic behavior if you absolutely need it and aren't broken by it being non-deterministic

=> More informations about this toot | More toots from tannergooding@dotnet.social

Proxy Information
Original URL
gemini://mastogem.picasoft.net/thread/113820734085580068
Status Code
Success (20)
Meta
text/gemini
Capsule Response Time
271.619721 milliseconds
Gemini-to-HTML Time
1.902382 milliseconds

This content has been proxied by September (3851b).