unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
From: Mathieu Othacehe <othacehe@gnu.org>
To: "Ludovic Courtès" <ludo@gnu.org>
Cc: 52283@debbugs.gnu.org
Subject: [bug#52283] [PATCH 00/10] Tuning packages for CPU micro-architectures
Date: Sun, 05 Dec 2021 09:37:09 +0100	[thread overview]
Message-ID: <87czmb1m8a.fsf_-_@gnu.org> (raw)
In-Reply-To: <20211204204924.15581-1-ludo@gnu.org> ("Ludovic Courtès"'s message of "Sat, 4 Dec 2021 21:49:15 +0100")


Hey Ludo,

Wooh, nice addition!

> +(define-record-type <cpu>
> +  (cpu architecture family model flags)
> +  cpu?
> +  (architecture cpu-architecture)                 ;string, from 'uname'
> +  (family       cpu-family)                       ;integer
> +  (model        cpu-model)                        ;integer
> +  (flags        cpu-flags))                       ;set of strings

When using the "--tune" transformation option with "native", we can
expect the current-cpu method to fill the <cpu> record correctly.

However, when the user is passing a custom cpu name, it might be
incorrect. I think we should check the user input against a list of
valid/supported cpu architectures.

That's something we should also enforce for the system and target
fields. Currently, this command "guix build -s arch64-linux hello" is
failing with an unpleasant backtrace, while it could warn that the
given system is not supported.

Maybe the (guix cpu) and (gnu platform) modules should be merged somehow
to define the supported CPU micro-architectures:

--8<---------------cut here---------------start------------->8---
(define armv7-linux
  (platform
   (target "arm-linux-gnueabihf")
   (system "armhf-linux")
   (linux-architecture "arm")
   (supported-march '("armv7" "armv7-a" "armv7ve"))
--8<---------------cut here---------------end--------------->8---

we could then use those platform records in the (gnu ci) module to build
packages against all the supported micro architectures and remove the
"%x86-64-micro-architecture" variable you propose to introduce there.

WDYT?

Thanks,

Mathieu




  parent reply	other threads:[~2021-12-05  8:38 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-12-04 20:34 [bug#52283] [PATCH 00/10] Tuning packages for CPU micro-architectures Ludovic Courtès
2021-12-04 20:49 ` [bug#52283] [PATCH 01/10] Add (guix cpu) Ludovic Courtès
2021-12-04 20:49   ` [bug#52283] [PATCH 02/10] transformations: Add '--tune' Ludovic Courtès
2021-12-06 23:18     ` Thiago Jung Bauermann via Guix-patches via
2021-12-07  8:04       ` Ludovic Courtès
2021-12-07 10:32         ` zimoun
2021-12-07 14:52           ` Ludovic Courtès
2021-12-07 15:52             ` zimoun
2021-12-09  9:19               ` Ludovic Courtès
2021-12-09 10:35                 ` zimoun
2021-12-10  8:49                   ` Ludovic Courtès
2021-12-04 20:49   ` [bug#52283] [PATCH 03/10] ci: Add extra jobs for tunable packages Ludovic Courtès
2021-12-04 20:49   ` [bug#52283] [PATCH 04/10] gnu: Add eigen-benchmarks Ludovic Courtès
2021-12-04 20:49   ` [bug#52283] [PATCH 05/10] gnu: Add xsimd-benchmark Ludovic Courtès
2021-12-04 20:49   ` [bug#52283] [PATCH 06/10] gnu: Add xtensor-benchmark Ludovic Courtès
2021-12-04 20:49   ` [bug#52283] [PATCH 07/10] gnu: ceres-solver: Mark as tunable Ludovic Courtès
2021-12-04 20:49   ` [bug#52283] [PATCH 08/10] gnu: Add ceres-solver-benchmarks Ludovic Courtès
2021-12-04 20:49   ` [bug#52283] [PATCH 09/10] gnu: libfive: Mark as tunable Ludovic Courtès
2021-12-04 20:49   ` [bug#52283] [PATCH 10/10] gnu: prusa-slicer: " Ludovic Courtès
2021-12-05  8:37   ` Mathieu Othacehe [this message]
2021-12-06 10:38     ` [bug#52283] [PATCH 00/10] Tuning packages for CPU micro-architectures Ludovic Courtès
2021-12-06 12:47       ` zimoun
2021-12-07  8:39       ` Mathieu Othacehe
2021-12-07  9:02         ` Ludovic Courtès
2021-12-06 16:48     ` Ludovic Courtès
2021-12-04 21:11 ` Ludovic Courtès
2021-12-07  9:13 ` Ludovic Courtès
2021-12-16 17:58   ` [bug#52283] [PATCH v2 00/12] " Ludovic Courtès
2021-12-16 17:58     ` [bug#52283] [PATCH v2 01/12] Add (guix cpu) Ludovic Courtès
2021-12-16 17:58     ` [bug#52283] [PATCH v2 02/12] gnu: gcc: Add 'compiler-cpu-architectures' property Ludovic Courtès
2021-12-16 17:58     ` [bug#52283] [PATCH v2 03/12] gnu: clang: " Ludovic Courtès
2021-12-16 17:58     ` [bug#52283] [PATCH v2 04/12] transformations: Add '--tune' Ludovic Courtès
2021-12-16 17:58     ` [bug#52283] [PATCH v2 05/12] ci: Add extra jobs for tunable packages Ludovic Courtès
2021-12-16 17:58     ` [bug#52283] [PATCH v2 06/12] gnu: Add eigen-benchmarks Ludovic Courtès
2021-12-16 17:58     ` [bug#52283] [PATCH v2 07/12] gnu: Add xsimd-benchmark Ludovic Courtès
2021-12-16 17:58     ` [bug#52283] [PATCH v2 08/12] gnu: Add xtensor-benchmark Ludovic Courtès
2021-12-16 17:58     ` [bug#52283] [PATCH v2 09/12] gnu: ceres-solver: Mark as tunable Ludovic Courtès
2021-12-16 17:58     ` [bug#52283] [PATCH v2 10/12] gnu: Add ceres-solver-benchmarks Ludovic Courtès
2021-12-16 17:58     ` [bug#52283] [PATCH v2 11/12] gnu: libfive: Mark as tunable Ludovic Courtès
2021-12-16 17:58     ` [bug#52283] [PATCH v2 12/12] gnu: prusa-slicer: " Ludovic Courtès
2022-01-01 14:59     ` bug#52283: [PATCH 00/10] Tuning packages for CPU micro-architectures Ludovic Courtès

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87czmb1m8a.fsf_-_@gnu.org \
    --to=othacehe@gnu.org \
    --cc=52283@debbugs.gnu.org \
    --cc=ludo@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).