guix-devel
[Top][All Lists]
Advanced

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

Re: CPU-specific builds


From: Ludovic Courtès
Subject: Re: CPU-specific builds
Date: Sun, 02 Oct 2016 15:33:54 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1 (gnu/linux)

Hi Ben,

Ben Woodcroft <address@hidden> skribis:

> Currently, we build a single set of x86_64 packages assuming SSE but
> not SSE2 instructions, but sometimes it would be nice to use more
> recent instructions like AVX.

Isn’t SSE2 part of the x86_64 base spec?  I always forget.

> So I'm wondering if there is some way to specify a system more
> specific than 'X86_64'? I tried simply adding '--with-arch=haswell' as
> a configure argument in gcc-4.9 so that flag became the default for
> gcc usage and saw some performance improvements, though I did have to
> disable tests in gnutls.

Do you have performance figures for some CPU-intensive applications?

What software are you most interested in?

> Hardcoding that configure flag is definitely less than ideal, I'm
> wondering if there is some better way that would enable us to share
> package updates and even substitutes for these systems? My initial
> thought is extending the triplet 'x86_64-unknown-linux-gnu' somehow,
> but I suspect others have better ideas?

I’m not sure how to do this.  Having, say, an x86_64avx-linux system
type (not triplet) would be impractical because it would be entirely
separate from x86_64-linux (different derivations).

Ideally, software for which using these CPU extensions makes a
significant difference would do what glibc does, which is to provide
several implementations of the relevant functions (one for SSE2, one for
AVX, etc.) and have the right one be selected at load time via an IFUNC
or similar mechanism.

Thanks,
Ludo’.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]