all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: ludo@gnu.org (Ludovic Courtès)
To: Federico Beffa <beffa@ieee.org>
Cc: Guix-devel <guix-devel@gnu.org>
Subject: Re: forcing local build from a package definition
Date: Sun, 26 Oct 2014 14:59:12 +0100	[thread overview]
Message-ID: <8761f7nd8v.fsf@gnu.org> (raw)
In-Reply-To: <CAKrPhPPJ-Q8_2Bt22oRn=AxkpgPcTkT4HZwuS7FpD3xEofTMpQ@mail.gmail.com> (Federico Beffa's message of "Sun, 26 Oct 2014 09:34:33 +0100")

Federico Beffa <beffa@ieee.org> skribis:

> On Sun, Oct 26, 2014 at 12:25 AM, Ludovic Courtès <ludo@gnu.org> 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	other threads:[~2014-10-26 13:59 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-10-24 16:10 forcing local build from a package definition Federico Beffa
2014-10-24 18:57 ` Eric Bavier
2014-10-24 21:41   ` Federico Beffa
2014-10-25  6:23   ` Federico Beffa
2014-10-25 22:25     ` Ludovic Courtès
2014-10-26  8:34       ` Federico Beffa
2014-10-26 13:59         ` Ludovic Courtès [this message]
2014-10-27 20:28           ` Federico Beffa

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

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

  git send-email \
    --in-reply-to=8761f7nd8v.fsf@gnu.org \
    --to=ludo@gnu.org \
    --cc=beffa@ieee.org \
    --cc=guix-devel@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 external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.