[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#67742] [PATCH] gnu: ci: Build tuned packages for common baselines.
From: |
Ludovic Courtès |
Subject: |
[bug#67742] [PATCH] gnu: ci: Build tuned packages for common baselines. |
Date: |
Mon, 18 Dec 2023 23:26:25 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) |
Hello,
Efraim Flashner <efraim@flashner.co.il> skribis:
> On Mon, Dec 11, 2023 at 10:37:26PM +0100, Ludovic Courtès wrote:
[...]
>> > (define %x86-64-micro-architectures
>> > ;; Micro-architectures for which we build tuned variants.
>> > - '("westmere" "ivybridge" "haswell" "skylake" "skylake-avx512"))
>> > + '("x86-64-v2" "x86-64-v3" "x86-64-v4"))
>>
>> Right now, on my laptop, I get:
>>
>> --8<---------------cut here---------------start------------->8---
>> $ guix build gsl -n --tune
>> guix build: tuning gsl@2.7.1 for CPU skylake
[...]
> I'm not sure how we'd determine what would count as common. I think if
> we added a '--tune=close-enough' and used cpu->micro-architecture-level
> or gcc-architecture->micro-architecture-level from (guix cpu) to choose
> x86_64-v[234] that would count more as common than the list above :P.
Sure, but that’s not the case yet:
--8<---------------cut here---------------start------------->8---
$ ./pre-inst-env guix build gsl --tune -n
guix build: tuning gsl@2.7.1 for CPU skylake
1.5 MB would be downloaded:
/gnu/store/kx060kry6ka7khzganfcqk98agqp226i-gsl-2.7.1
--8<---------------cut here---------------end--------------->8---
So my suggestion was something like this:
(define %x86-64-micro-architectures
;; Micro-architectures for which we build tuned variants.
'("ivybridge" "haswell" "skylake" "skylake-avx512"
"x86-64-v2" "x86-64-v3" "x86-64-v4"))
… so we don’t lose substitutes for “common” architectures.
Alternatively, we can go towards using x86-64-v* only, but in that case
we need to adjust the way ‘--tune’ (without arguments) guesses the
target architecture.
WDYT?
Ludo’.