[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#52283] [PATCH 02/10] transformations: Add '--tune'.
From: |
Ludovic Courtès |
Subject: |
[bug#52283] [PATCH 02/10] transformations: Add '--tune'. |
Date: |
Thu, 09 Dec 2021 10:19:06 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) |
zimoun <zimon.toutoune@gmail.com> skribis:
> On Tue, 7 Dec 2021 at 15:52, Ludovic Courtès <ludovic.courtes@inria.fr> wrote:
>> zimoun <zimon.toutoune@gmail.com> skribis:
[...]
>> > I miss if the test suite is effectively run somewhere?
>>
>> Yes, for the default/generic/baseline package, when not using ‘--tune’.
>
> Assuming, the default/generic/baseline package is effectively built. :-)
>
> I imagine the scenario: I develop a new simulation tool, I package it
> for Guix, I share it; usually I run "guix shell -D" and do loop over
> "make" and "make check", then deploy using "guix build --tune". My
> colleague fetches it and want to run it on another cluster, i.e., they
> run "guix build --tune". The test suite for the generic/baseline is
> never run inside a clean environment. And as we know, this isolated
> part allows to detect many common issues; which are often source of
> "it works for me, why does it not work for you?". ;-)
Sure, we can always come up with such scenarios.
>> > My questions are coming from Julia packages in mind, where the test
>> > suite is the only way to know all is fine. And many times, add System
>> > Image for Julia had been discussed and basically this System Image is
>> > precompilation (generic one or specialized for micro-architecture).
>> > Therefore, maybe this new 'tune' transformation would fit the bill.
>> > :-)
>> >
>> > https://docs.julialang.org/en/v1/devdocs/sysimg/
>>
>> According to this page, ‘--tune’ won’t be necessary here because Julia
>> supports function multi-versioning for its “system image”:
>
> Yes, but from my understanding, the "baseline" cannot provide an image
> for all the micro-architectures, but only 'generic'. Moreover, as you
> described elsewhere, we cannot know for sure whether the machine that
> hosts the daemon is able to run code for this specific
> micro-architecture.
With multi-versioning, the system image (AIUI) provides several versions
of the relevant code, one for each useful micro-architecture. Such a
system image can be used anywhere because the right version of the code
will be picked up at run-time depending on the host CPU.
It’s The Right Thing, so no worries here! We can take advantage of that
feature in our Julia package.
Thanks,
Ludo’.
- [bug#52283] [PATCH 00/10] Tuning packages for CPU micro-architectures, Ludovic Courtès, 2021/12/04
- [bug#52283] [PATCH 01/10] Add (guix cpu)., Ludovic Courtès, 2021/12/04
- [bug#52283] [PATCH 03/10] ci: Add extra jobs for tunable packages., Ludovic Courtès, 2021/12/04
- [bug#52283] [PATCH 02/10] transformations: Add '--tune'., Ludovic Courtès, 2021/12/04
- [bug#52283] [PATCH 02/10] transformations: Add '--tune'., Thiago Jung Bauermann, 2021/12/06
- [bug#52283] [PATCH 02/10] transformations: Add '--tune'., Ludovic Courtès, 2021/12/07
- [bug#52283] [PATCH 02/10] transformations: Add '--tune'., zimoun, 2021/12/07
- [bug#52283] [PATCH 02/10] transformations: Add '--tune'., Ludovic Courtès, 2021/12/07
- [bug#52283] [PATCH 02/10] transformations: Add '--tune'., zimoun, 2021/12/07
- [bug#52283] [PATCH 02/10] transformations: Add '--tune'.,
Ludovic Courtès <=
- [bug#52283] [PATCH 02/10] transformations: Add '--tune'., zimoun, 2021/12/09
- [bug#52283] [PATCH 02/10] transformations: Add '--tune'., Ludovic Courtès, 2021/12/10
[bug#52283] [PATCH 06/10] gnu: Add xtensor-benchmark., Ludovic Courtès, 2021/12/04
[bug#52283] [PATCH 04/10] gnu: Add eigen-benchmarks., Ludovic Courtès, 2021/12/04
[bug#52283] [PATCH 05/10] gnu: Add xsimd-benchmark., Ludovic Courtès, 2021/12/04
[bug#52283] [PATCH 07/10] gnu: ceres-solver: Mark as tunable., Ludovic Courtès, 2021/12/04
[bug#52283] [PATCH 08/10] gnu: Add ceres-solver-benchmarks., Ludovic Courtès, 2021/12/04
[bug#52283] [PATCH 10/10] gnu: prusa-slicer: Mark as tunable., Ludovic Courtès, 2021/12/04
[bug#52283] [PATCH 09/10] gnu: libfive: Mark as tunable., Ludovic Courtès, 2021/12/04
[bug#52283] [PATCH 00/10] Tuning packages for CPU micro-architectures, Mathieu Othacehe, 2021/12/05