guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: forcing local build from a package definition


From: Ludovic Courtès
Subject: Re: forcing local build from a package definition
Date: Sun, 26 Oct 2014 14:59:12 +0100
User-agent: Gnus/5.130011 (Ma Gnus v0.11) Emacs/24.3 (gnu/linux)

Federico Beffa <address@hidden> skribis:

> On Sun, Oct 26, 2014 at 12:25 AM, Ludovic Courtès <address@hidden> wrote:
>> I think ATLAS should do like GMP, libc, etc.: build all the possible
>> variants, and then use IFUNC or a similar mechanism to select the right
>> variant at load time.
>
> I would like to highlight two points:
>
> 1. there are many variants (see below).

I think this is not too different from libc and GMP.

> 2. even for the same configure time configuration, the build phase
> does not necessarily produce identical libraries all the time. The
> build phase tries many variants of algorithms, times them and picks
> the best performing one.  The result may be different depending on the
> overall performance of the system such as on memory access time, and
> several other factors.

Oh, OK; that’s definitely different.

>> That doesn’t answer your initial question, though.  For now, I think
>> it’s OK to let it do its configure-time tuning and add a statement in
>> the description about substitutes, unless other packages depend on it
>> (in the former case, people would be installing it explicitly, so they
>> would most likely know what they’re doing.)
>
> I'm preparing numpy/scipy and they depend on ATLAS. But initially it
> will be independent.

In that case, what about making a generic version (one that can be
substituted, at the expense of being less optimized), which would be the
one used by NumPy, and then the optimized version?

In the not-too-distant future, we’ll be able to mark the package as
non-substitutable, which will be best.  There’s already a #:local-build?
flag around, but its semantics are a bit fuzzy at the moment because it
determines both whether to offload and whether to substitute.  I would
like that to be improved, by having two different options, before we
start relying on it in packages.

Thanks,
Ludo’.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]