GNU bug report logs -
#52283
[PATCH 00/10] Tuning packages for CPU micro-architectures
Previous Next
Reported by: Ludovic Courtès <ludo <at> gnu.org>
Date: Sat, 4 Dec 2021 20:36:02 UTC
Severity: normal
Tags: patch
Done: Ludovic Courtès <ludo <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
Message #74 received at 52283 <at> debbugs.gnu.org (full text, mbox):
zimoun <zimon.toutoune <at> gmail.com> skribis:
> On Tue, 7 Dec 2021 at 09:06, Ludovic Courtès <ludovic.courtes <at> 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’.
This bug report was last modified 3 years and 137 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.