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

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

 



On Tue, Jul 23, 2019 at 10:44 AM Nicolas Chauvet <kwizart@xxxxxxxxx> wrote:
>
> Le mar. 23 juil. 2019 à 08:30, Igor Gnatenko
> <ignatenkobrain@xxxxxxxxxxxxxxxxx> a écrit :
> >
> > On Tue, Jul 23, 2019 at 4:31 AM Igor Gnatenko
> > <ignatenkobrain@xxxxxxxxxxxxxxxxx> wrote:
> > >
> > > Hi Florian,
> > >
> > > On Mon, Jul 22, 2019 at 9:28 PM Ben Cotton <bcotton@xxxxxxxxxx> wrote:
> > > >
> > > > 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.
> > >
> > > It seems that Intel is still manufacturing CPUs without AVX support
> > > (not even talking about AVX2) in 2019. So this is clearly no-go for
> > > me.
> > >
> > > But I do want to see some refreshments in this area! There are
> > > multiple options how to proceed I think:
> > >
> > > 1. Lower requirement to something like SSE4 and select other CPU
> > > features which are available in most of CPUs for last decade.
> > > 2. Build every package on x86_64 twice (one for compatible set and one
> > > for this new-features set), possibly by introducting sub-architecture
> > > in koji or using koji-shadow (that's just implementation detail.
> > > Produce an official spin which is built from these packages.
> >
> > Thinking about this even more, it should not be very hard thing to do:
> >
> > * Define new architecture in RPM/libsolv (let's call it "haswell" or
> > "x86_64modern")
> x86_64avx2 ? or even avx2 ?

I just did not want to bikeshed :)

> > * Define set of capabilities it should have, write appropriate check
> > in RPM/libdnf
> > * Add new architecture in Fedora Koji
> Do we really need a whole separate architecture ? I expect that
> enabling few selected packages to have a second (a third) optimized
> build will be enough.
> koji already support this. Is this the sub-architecture the proposal
> is referring to ? (using koji add-pkg f31 glibc
> --extra-arches=EXTRA_ARCHES ... ).
> The list of packages having a second optimized build can be as large
> as the packages provided by the server spin and any additional
> packages that would opt-in.

I would leave this decision to Florian. Strictly speaking, we are
talking not only about avx2, but some other instructions / options
which might affect system as a whole (like FMA).

So whether it is used by all packages or by few selected ones require
a bit more investigation.

> Personally, I would like to see some "numbers" of the performance with
> avx optimized build (using copr repo on few key packages ).
> And I expect optimizing some packages would have low impact, so maybe a

Yes, number would be really useful.

>
> Nicolas (kwizart)
> _______________________________________________
> 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
_______________________________________________
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