With great pleasure, I announce the testing release of new eselect
modules for BLAS, CBLAS and LAPACK implementations. You may say, "But we
already have 'eselect blas' and 'eselect lapack,' Donnie! What are you
thinking?" In reply, I would say, "The current eselect modules have many
limitations."

One of the main problems with the existing setup is that available
implementations are hardcoded into the modules rather than being
autodetected from the system. This just doesn't scale well, and it ties
upgrades and changes to BLAS/LAPACK/whatever into a required update of
eselect.

A point of disagreement between Danny van Dyk (Kugelfang) and myself is
handling systems with multiple libdirs (e.g., AMD64). To understand our
quandary, you'll first need to understand how the new modules work.

My opinion is that if you want to switch implementations, you should be
warned if any available libdir failed to switch to the implementation
you selected. The tradition of Unix tools says they should be silent
when everything works as expected and be loud on errors.

Not switching for all libdirs when you explicitly said you wanted to
switch your whole system is an error, even if the implementation isn't
currently available for all your libdirs. Anything else will require
adding hackish special cases to the code and doesn't fit with my model
of how the modules should work.

Danny thinks instead that the modules should list all libdirs for which
the implementation was changed rather than warn about libdirs for which
it wasn't. This opposes the Unix philosophy. Danny also thinks that the
modules should silently fail when no implementations are available for a
 certain libdir when the user wants to switch the whole system. I
disagree and think the modules should warn the user.

In addition, Danny brings up a specific subprofile on amd64 called
no-symlink, in which lib32, lib, and lib64 are all directories rather
than symlinks. He says the 'lib' directory is only for arch-independent
(ABI-independent) files, so we should also add a special case for that.
Knowing my hatred of special casing, you may guess I disagree.

The main issue needing resolution is whether to warn on failures to
switch given libdirs when trying to switch the whole system, or whether
to say which successfully switched. One way is the Unix philosophy, and
the other way is ... something else.

Without further ado, you may get all the ported BLAS/CBLAS/LAPACK
implementations as well as the new eselect modules from my overlay [1].
They will remain there until more widespread testing is completed.

Please post all responses ONLY to the gentoo-dev list (unless you aren't
subscribed, in which case you can reply to whichever list you're
subscribed to).

Thanks,
Donnie

1. http://dev.gentoo.org/~spyderous/overlay/

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to