unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#67742] [PATCH] gnu: ci: Build tuned packages for common baselines.
@ 2023-12-10  7:52 Efraim Flashner
  2023-12-11 21:37 ` Ludovic Courtès
  0 siblings, 1 reply; 4+ messages in thread
From: Efraim Flashner @ 2023-12-10  7:52 UTC (permalink / raw)
  To: 67742; +Cc: ludo, Efraim Flashner

* gnu/ci.scm (%x86-64-micro-architectures): Replace specific
micro-architectures with generic ones.

Change-Id: Iee2f65376a00ad2ee5fb393c2e64c07f866d8116
---
 gnu/ci.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gnu/ci.scm b/gnu/ci.scm
index 279dd4d910..5c093ae135 100644
--- a/gnu/ci.scm
+++ b/gnu/ci.scm
@@ -372,7 +372,7 @@ (define package->job
 
 (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"))
 
 (define (tuned-package-jobs store package system)
   "Return a list of jobs for PACKAGE tuned for SYSTEM's micro-architectures."

base-commit: 9c30fb27a42bf10a733ef5165df7869588f0b27c
-- 
Efraim Flashner   <efraim@flashner.co.il>   רנשלפ םירפא
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted





^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [bug#67742] [PATCH] gnu: ci: Build tuned packages for common baselines.
  2023-12-10  7:52 [bug#67742] [PATCH] gnu: ci: Build tuned packages for common baselines Efraim Flashner
@ 2023-12-11 21:37 ` Ludovic Courtès
  2023-12-12 11:27   ` Efraim Flashner
  0 siblings, 1 reply; 4+ messages in thread
From: Ludovic Courtès @ 2023-12-11 21:37 UTC (permalink / raw)
  To: Efraim Flashner; +Cc: 67742

Hi,

Efraim Flashner <efraim@flashner.co.il> skribis:

> * gnu/ci.scm (%x86-64-micro-architectures): Replace specific
> micro-architectures with generic ones.
>
> Change-Id: Iee2f65376a00ad2ee5fb393c2e64c07f866d8116
> ---
>  gnu/ci.scm | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/gnu/ci.scm b/gnu/ci.scm
> index 279dd4d910..5c093ae135 100644
> --- a/gnu/ci.scm
> +++ b/gnu/ci.scm
> @@ -372,7 +372,7 @@ (define package->job
>  
>  (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
substitute: updating substitutes from 'http://192.168.1.48:8123'... 100.0%
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
1.5 MB would be downloaded:
  /gnu/store/kx060kry6ka7khzganfcqk98agqp226i-gsl-2.7.1
$ guix describe
Generation 284  Dec 10 2023 23:34:41    (current)
  guix a90bc8b
    repository URL: https://git.savannah.gnu.org/git/guix.git
    branch: master
    commit: a90bc8b6a82e094b10488030532cf4cd690ce57e
--8<---------------cut here---------------end--------------->8---

Which is nice!

With the proposed change, I’d no longer get substitutes.

So perhaps we could keep the common Intel variants in addition to the
SysV psABI generic names?

Maybe we can drop “westmere” now since it’s relatively old.

WDYT?

Ludo’.




^ permalink raw reply	[flat|nested] 4+ messages in thread

* [bug#67742] [PATCH] gnu: ci: Build tuned packages for common baselines.
  2023-12-11 21:37 ` Ludovic Courtès
@ 2023-12-12 11:27   ` Efraim Flashner
  2023-12-18 22:26     ` Ludovic Courtès
  0 siblings, 1 reply; 4+ messages in thread
From: Efraim Flashner @ 2023-12-12 11:27 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 67742

[-- Attachment #1: Type: text/plain, Size: 2418 bytes --]

On Mon, Dec 11, 2023 at 10:37:26PM +0100, Ludovic Courtès wrote:
> Hi,
> 
> Efraim Flashner <efraim@flashner.co.il> skribis:
> 
> > * gnu/ci.scm (%x86-64-micro-architectures): Replace specific
> > micro-architectures with generic ones.
> >
> > Change-Id: Iee2f65376a00ad2ee5fb393c2e64c07f866d8116
> > ---
> >  gnu/ci.scm | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/gnu/ci.scm b/gnu/ci.scm
> > index 279dd4d910..5c093ae135 100644
> > --- a/gnu/ci.scm
> > +++ b/gnu/ci.scm
> > @@ -372,7 +372,7 @@ (define package->job
> >  
> >  (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
> substitute: updating substitutes from 'http://192.168.1.48:8123'... 100.0%
> substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
> 1.5 MB would be downloaded:
>   /gnu/store/kx060kry6ka7khzganfcqk98agqp226i-gsl-2.7.1
> $ guix describe
> Generation 284  Dec 10 2023 23:34:41    (current)
>   guix a90bc8b
>     repository URL: https://git.savannah.gnu.org/git/guix.git
>     branch: master
>     commit: a90bc8b6a82e094b10488030532cf4cd690ce57e
> --8<---------------cut here---------------end--------------->8---
> 
> Which is nice!
> 
> With the proposed change, I’d no longer get substitutes.
> 
> So perhaps we could keep the common Intel variants in addition to the
> SysV psABI generic names?
> 
> Maybe we can drop “westmere” now since it’s relatively old.

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.

westmere and ivybridge didn't make the cut in (guix cpu), so they'd
never get chosen from '--tune'.

-- 
Efraim Flashner   <efraim@flashner.co.il>   רנשלפ םירפא
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [bug#67742] [PATCH] gnu: ci: Build tuned packages for common baselines.
  2023-12-12 11:27   ` Efraim Flashner
@ 2023-12-18 22:26     ` Ludovic Courtès
  0 siblings, 0 replies; 4+ messages in thread
From: Ludovic Courtès @ 2023-12-18 22:26 UTC (permalink / raw)
  To: 67742

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’.




^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2023-12-18 22:27 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-12-10  7:52 [bug#67742] [PATCH] gnu: ci: Build tuned packages for common baselines Efraim Flashner
2023-12-11 21:37 ` Ludovic Courtès
2023-12-12 11:27   ` Efraim Flashner
2023-12-18 22:26     ` Ludovic Courtès

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).