[prev in list] [next in list] [prev in thread] [next in thread]
List: fedora-devel-list
Subject: Re: Fedora 32 System-Wide Change proposal: x86-64 micro-architecture update
From: Kevin Kofler <kevin.kofler () chello ! at>
Date: 2019-07-23 23:53:55
Message-ID: qh86mk$p38$1 () blaine ! gmane ! org
[Download RAW message or body]
Andrew Lutomirski wrote:
> Features like SSE2: enabling SSE2 as the basic floating point mechanism
> changes the ABI drastically. But x86_64 already requires SSE2, so this is
> irrelevant.
For what it's worth, only the x86_64 ABI actually makes use of this. For
i686 (32-bit), even when Fedora moved to requiring SSE2, the ABI was not
changed (because that would have meant bootstrapping a whole new
architecture, breaking compatibility with all existing binaries in the
process). So i686 is stuck with the x87 ABI, copying floating-point data
back and forth between x87 and SSE registers.
> Things like SSSE3, SSE3, SSE4, AVX1, AVX2, FMA, etc: for the most part,
> these accelerate existing algorithms. I'm sure that someone somewhere has
> written an algorithm that requires FMA for enhanced precision, but
> otherwise pretty much any code that benefits from any of these features
> would work just fine, if slower, without the features.
FMA can also be emulated in pure software (while still using hardware
floating-point instructions!), it is even implemented in glibc. So this also
falls under "would work just fine, if slower, without the features".
> but FSGSBASE is not a credible requirement for Fedora since IIRC it's not
> supported on Sandy Bridge. Even Intel seems to consider Sandy Bridge to
> be an important CPU to support.
AVX2 is also not supported on Sandy Bridge.
> I think that, for vector extensions, Fedora shouldn't require anything
> beyond SSE2 for basic functionality. Instead, Fedora should figure out
> where there are material benefits to using them and find ways to make it
> easier for packagers to make them available. Ideally this would all be
> figured out at runtime,
I agree.
> but install-time choices could make sense, too.
I think we should just do it right and figure it out at runtime. Otherwise,
the user ends up having to manually install things such as those infamous
atlas-sse* subpackages, and most users will not bother doing that, or even
not even know that they exist or at least which one to pick.
Kevin Kofler
_______________________________________________
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-leave@lists.fedoraproject.org
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic