[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: |
Tue, 07 Dec 2021 15:52:44 +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 09:06, Ludovic Courtès <ludovic.courtes@inria.fr> wrote:
>
>> The reason the test suite is skipped is because we cannot know for sure
>> whether the machine that hosts the daemon is able to run code for this
>> specific micro-architecture.
>
> Naive question: is it possible to effectively run it via emulation?
Not to my knowledge.
>> The test suite runs in the “baseline” package build anyway, so assuming
>> the compiler works fine, skipping the test suite on tuned builds is
>> okay.
>
> I miss if the test suite is effectively run somewhere?
Yes, for the default/generic/baseline package, when not using ‘--tune’.
> And "baseline" package build means the package built for generic
> architecture, right?
Correct.
> 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”:
The system image can be compiled simultaneously for multiple CPU
microarchitectures under the same instruction set architecture (ISA).
Multiple versions of the same function may be created with minimum
dispatch point inserted into shared functions in order to take
advantage of different ISA extensions or other microarchitecture
features. The version that offers the best performance will be
selected automatically at runtime based on available CPU features.
I guess we should follow the instructions at
<https://docs.julialang.org/en/v1/devdocs/sysimg/#Specifying-multiple-system-image-targets>
to build a system image that contains multiple versions of each
function.
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 <=
- [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/09
- [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