[Development] Updating x86 SIMD support in Qt

Thiago Macieira thiago.macieira at intel.com
Wed Jan 19 16:41:11 CET 2022


On Tuesday, 18 January 2022 22:43:40 PST Kevin Kofler via Development wrote:
> Thiago Macieira wrote:
> > By default, I'd like us to produce x86-64 v2 code, which is SSE4.
> 
> But v1 will still be available for distribution packaging? As long as that
> is the case, I do not see a major issue, it will just be one more caveat for
> distribution packaging. (Distributions still supporting v1, which I think
> is most of the distros these days, will have to enable it explicitly,
> possibly along with newer vn (n>1) if optimized builds are desired.) But
> dropping support for v1 entirely causes headaches for distributions.

Yes, that's the idea. I'm just looking at raising our defaults in this case, 
not stop the older solutions, mostly because the compatibility we're talking 
about is with very old machines: the Intel Core line got SSE4.2 in 2008 with 
Nehalem, AMD got it with Bulldozer in 2011 and the Atom line got it in 2013 
with Silvermont. Meanwhile, foregoing the SSE4 optimisations afforded by v2 
leaves some performance on the table. Yes, most distributions still target v1 
today but that's mostly for inertia reasons. As I said, I understand Red Hat 9 
is going to up the minimum to v2.

Additionally, I'd like to make it easy to have both v1+v2 or, better yet, 
v1+v2+v3, so you can have your cake and eat it too. Some libraries like 
QtCore, QtGui and the Qt 3D ones make extensive use of math and would benefit 
from the extra operations, especially those of AVX.

> There are still (end) users of old hardware. E.g., my notebook is a Core 2
> Duo that supports up to SSSE3 (so v1 + SSE3 + SSSE3), but no SSE4. So it
> unfortunately falls one generation short of v2. (My desktop supports v2, but
> not v3, because it is missing at least AVX2.) But as long as the
> distribution packages work on it, I do not really care about what vn or SSEn
> the Qt upstream binaries require.

I understand. I have one of those in a cabinet, but it doesn't power on (the 
PSU is bust). How much RAM do you have? How usable is a modern Linux desktop 
on it?

-- 
Thiago Macieira - thiago.macieira (AT) intel.com
  Software Architect - Intel DPG Cloud Engineering





More information about the Development mailing list