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/
signature.asc
Description: OpenPGP digital signature