[arch-dev-public] Discussion - Increasing our CPU requirements

Sven-Hendrik Haase svenstaro at gmail.com
Sun Mar 29 12:02:43 UTC 2020


On Sun, 29 Mar 2020 at 12:26, Allan McRae via arch-dev-public <
arch-dev-public at archlinux.org> wrote:

> Remember when Arch Linux was optimized out of the box.   We have the
> blazingly fast i686 port while other distros hung out in i386 land.
> Those were the days where the idea of Arch being fast started.  Now it
> has degraded to stuff of legend.
>
> Now, x86_64 is old.  We should continue to push forward and add further
> optimization.
>
> Reasonable optimizations to consider:
>
> AVX2
> FMA
> SSE4.2
>
> AVX2 is Intel Haswell and newer or AMD Ryzen and newer.  This CPUs
> released 2013 to 2015.  So 5 - 7 years old.
>
> Discuss.
>

I'm definitely all for this. However, I'd strongly prefer it if we used
some heavy automation for building for all the variants. coderobe actually
started an experimental project to explore this. It would also increase our
mirror size requirements quite drastically which I think is likely fine as
our full mirror size is quite small but it should be considered.

I suggest going by processor support generation alone instead of per
feature. For instance, Haswell introduced AVX2 as well as FMA3 so it
doesn't really make much sense to separate those out, I think. Besides, if
you have AVX2 support and care for speed you'll also want to enable FMA3.

Suggested processor-generation based optimization "tier"s:

- nehalem (SSE4.2)
- sandybridge (SSE4.2, AVX)
- haswell (SSE4.2, AVX, AVX2, FMA3)
(soon-ish) - icelake (SSE4.2, AVX, AVX2, FMA3, AVX-512)

I know this sounds Intel specific so these names might not be optimal.

There is quite some work involved in this but I also strongly believe that
we have to keep pushing forward.


More information about the arch-dev-public mailing list