guix-devel
[Top][All Lists]
Advanced

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

Re: build system option to allow CPU optimizations?


From: Ludovic Courtès
Subject: Re: build system option to allow CPU optimizations?
Date: Sun, 28 Nov 2021 18:36:57 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux)

Hi,

zimoun <zimon.toutoune@gmail.com> skribis:

> On Wed, 24 Nov 2021 at 13:10, Ricardo Wurmus <rekado@elephly.net> wrote:
>
>> The build phases that patch out these features would have to check 
>> for that build system option, much like they check the TESTS? 
>> option before attempting to run tests.
>
> Then it could be a transformation.   The idea sounds good to me.

I’ve been working on it last week with my HPC hat on.

To be clear, I think in may cases, passing ‘-march’ like you suggest is
the wrong approach; instead software should use (and usually does use)
function multi-versioning:

  https://hpc.guix.info/blog/2018/01/pre-built-binaries-vs-performance/

I found one case though where this is not possible: C++ header-only
libraries such as Eigen contain hand-optimized vectorized routines,
selected at build time, but we end up compiling Eigen users as the
x86_64/AArch64 baseline, which is a waste.  (If you do know of other
problematic cases, I’m interested in taking a look!)

My solution to that is “package multi-versioning” via a transformation
option.  Hopefully I’ll submit preliminary patches within a week or so!

Thanks,
Ludo’.



reply via email to

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