Gentoo Archives: gentoo-dev

From: Danny van Dyk <kugelfang@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] [ANNOUNCE] New eselect modules for blas, cblas, lapack
Date: Fri, 26 May 2006 18:29:18
Message-Id: 200605262036.15627.kugelfang@gentoo.org
In Reply to: [gentoo-dev] [ANNOUNCE] New eselect modules for blas, cblas, lapack by Donnie Berkholz
1 Hi Donnie,
2
3 Am Freitag, 26. Mai 2006 05:20 schrieb Donnie Berkholz:
4 > With great pleasure, I announce the testing release of new eselect
5 > modules for BLAS, CBLAS and LAPACK implementations. You may say, "But
6 > we already have 'eselect blas' and 'eselect lapack,' Donnie! What are
7 > you thinking?" In reply, I would say, "The current eselect modules
8 > have many limitations."
9 And rightfully so! :-) Thanks for all your efforts here, it is really
10 appreciated.
11
12 > One of the main problems with the existing setup is that available
13 > implementations are hardcoded into the modules rather than being
14 > autodetected from the system. This just doesn't scale well, and it
15 > ties upgrades and changes to BLAS/LAPACK/whatever into a required
16 > update of eselect.
17 >
18 > A point of disagreement between Danny van Dyk (Kugelfang) and myself
19 > is handling systems with multiple libdirs (e.g., AMD64). To
20 > understand our quandary, you'll first need to understand how the new
21 > modules work.
22 >
23 > My opinion is that if you want to switch implementations, you should
24 > be warned if any available libdir failed to switch to the
25 > implementation you selected. The tradition of Unix tools says they
26 > should be silent when everything works as expected and be loud on
27 > errors.
28 Right, emphasis on "error" here.
29
30 > Not switching for all libdirs when you explicitly said you wanted to
31 > switch your whole system is an error, even if the implementation
32 > isn't currently available for all your libdirs. Anything else will
33 > require adding hackish special cases to the code and doesn't fit with
34 > my model of how the modules should work.
35 See, i don't see the explicity of 'all libdirs' when not specifying any
36 libdirs at all. In my eyes, 'eselect blas set acml' doesn't mean:
37 'switch to acml in _all libdirs_', but 'switch to acml in _all libdirs
38 it is installed to_.
39 >
40 > Danny thinks instead that the modules should list all libdirs for
41 > which the implementation was changed rather than warn about libdirs
42 > for which it wasn't. This opposes the Unix philosophy. Danny also
43 > thinks that the modules should silently fail when no implementations
44 > are available for a certain libdir when the user wants to switch the
45 > whole system. I disagree and think the modules should warn the user.
46
47 >
48 > In addition, Danny brings up a specific subprofile on amd64 called
49 > no-symlink, in which lib32, lib, and lib64 are all directories rather
50 > than symlinks. He says the 'lib' directory is only for
51 > arch-independent (ABI-independent) files, so we should also add a
52 > special case for that. Knowing my hatred of special casing, you may
53 > guess I disagree.
54 Motivation for this special casing is, that this warning would appear
55 any time the user doesn't specify the libdirs, and there is nothing the
56 user can do against it. There just is no way to install any
57 blas/cblas/lapack implementation to /usr/lib on no-symlink profile.
58 I'm strongly against warnings that can't be turned off. Futher, this
59 would be no additional special case, it can easily be merged with the
60 previous special casing: only swithch on libdir that the package is
61 installed to.
62
63 > The main issue needing resolution is whether to warn on failures to
64 > switch given libdirs when trying to switch the whole system, or
65 > whether to say which successfully switched. One way is the Unix
66 > philosophy, and the other way is ... something else.
67 :-)
68
69 > Without further ado, you may get all the ported BLAS/CBLAS/LAPACK
70 > implementations as well as the new eselect modules from my overlay
71 > [1]. They will remain there until more widespread testing is
72 > completed.
73 Donnie: RFC: should ACML be modified to install both ABIs? (i.e. x86 and
74 amd64). I'd say no, as no packages but glibc/gcc/binutils currently do
75 that.
76
77 Danny
78 --
79 Danny van Dyk <kugelfang@g.o>
80 Gentoo/AMD64 Project, Gentoo Scientific Project
81 --
82 gentoo-dev@g.o mailing list

Replies

Subject Author
Re: [gentoo-dev] [ANNOUNCE] New eselect modules for blas, cblas, lapack Donnie Berkholz <spyderous@g.o>