Re: Fedora 32 System-Wide Change proposal: x86-64 micro-architecture update

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Given the nearly only negative replies to this proposal: can we please
just officially mark it as retracted/rejected and move on?


P.S.: all my Fedora machines would no longer be able to run Fedora >=
32, effectively ending my involvement in this community :(

Ben Cotton <bcotton@xxxxxxxxxx> writes:

> https://fedoraproject.org/wiki/Changes/x86-64_micro-architecture_update
>
> == Summary ==
> Fedora currently uses the original K8 micro-architecture (without
> 3DNow! and other AMD-specific parts) as the baseline for its
> <code>x86_64</code> architecture.  This baseline dates back to 2003
> and has not been updated since.  As a result, performance of Fedora is
> not as good as it could be on current CPUs.
>
> This change to update the micro-architecture level for the
> architecture to something more recent.
>
> == Owner ==
> * Name: [[User:fweimer| Florian Weimer]]
> * Email: [mailto:fweimer@xxxxxxxxxx fweimer@xxxxxxxxxx]
>
> == Detailed Description ==
>
> After preliminary discussions with CPU vendors, we propose AVX2 as the
> new baseline.  AVX2 support was introduced into CPUs from 2013 to
> 2015. See [https://en.wikipedia.org/wiki/Advanced_Vector_Extensions#CPUs_with_AVX2
> CPUs with AVX2].
>
> Along with AVX2, it makes sense to enable certain other CPU features
> which are not strictly implied by AVX2, such as CMPXCHG16B, FMA, and
> earlier vector extensions such as SSE 4.2.  Details are still being
> worked out.
>
> A test rebuild of a distribution largely based on Fedora 28 showed
> that there is only a small number of build failures due to the
> baseline switch. Very few packages are confused about the availability
> of the CMPXCHG16B instruction, leading to linking failures related to
> <code>-latomic</code>, and there are some hard-coded floating point
> results that could change due to vectorization.  (The latter is within
> bounds of the usual cross-architecture variation for such tests.)
>
> == Benefit to Fedora ==
>
> Fedora will use current CPUs more efficiently, increasing performance
> and reducing power consumption.
>
> Moreover, when Fedora is advertised as a distribution by a compute
> service provider, users can be certain that their AVX2-optimized
> software will run in this environment.
>
> == Scope ==
> * Proposal owners: Update the <code>gcc</code> and
> <code>redhat-rpm-config</code> package to implement the new compiler
> flags.  It is expected that the new baseline will be implemented in a
> new GCC <code>-march=</code> option for convenience.
>
> * Other developers: Other developers may have to adjust test suites
> which expect exact floating point results, and correct linking with
> <code>libatomic</code>. They will also have to upgrade their x86-64
> machines to something that can execute AVX2 instructions.
>
> * Release engineering: [https://pagure.io/releng/issue/8513 #8513]
> ** All Fedora builders need to be AVX2-capable.
> ** Infrastructure ticket:
> [https://pagure.io/fedora-infrastructure/issue/7968 #7968]
> * Policies and guidelines: No guidelines need to be changed.
> * Trademark approval: N/A (not needed for this Change)
>
> == Upgrade/compatibility impact ==
> Fedora installations on systems with CPUs which are not able to
> execute AVX2 instructions will not be able to upgrade.
>
> == How To Test ==
> General system testing will provide test coverage for this change.
>
> == User Experience ==
> User should observe improved performance and, likely, battery life.
> Developers will benefit from the knowledge that code with AVX2
> optimizations will run wherever Fedora runs.
>
> == Dependencies ==
> There are no direct dependencies on this change at this time.
>
> == Contingency Plan ==
> It is possible to not implement this change, or implement a smaller
> subset of it (adopting the CMPXCHG16B instruction only, for example).
>
> * Contingency mechanism: Mass rebuild with different/previous compiler glags.
> * Contingency deadline: Final mass rebuild.
> * Blocks release? No.
> * Blocks product? No.
>
> == Documentation ==
> The new micro-architecture baseline and the resulting requirements
> need to be documented.
>
> == Release Notes ==
> Release notes must mention how users can determine whether their
> system supports AVX2 prior to upgrading, for example by running
> <code>grep avx2 /proc/cpuinfo</code>.
>
> -- 
> Ben Cotton
> He / Him / His
> Fedora Program Manager
> Red Hat
> TZ=America/Indiana/Indianapolis
> _______________________________________________
> devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
> To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
> 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@xxxxxxxxxxxxxxxxxxxxxxx

Attachment: signature.asc
Description: PGP signature

_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
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@xxxxxxxxxxxxxxxxxxxxxxx

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux