[R-sig-Debian] GotoBLAS2 breaks lapack

Paul Johnson pauljohn32 at gmail.com
Wed Mar 2 01:32:26 CET 2011


On Sun, Feb 27, 2011 at 10:16 PM, Dirk Eddelbuettel <edd at debian.org> wrote:
>
> Hi Paul,
>
> On 27 February 2011 at 21:54, Paul Johnson wrote:
> | Suppose the administrator has the Atlas blas installed, as well as the
> | revolution-mkl, and then also the GOTOblas.  How does R--as you
> | package it--select which one to use?
>
> These two or three distinct issues:
>

Yes, that's what I intended to ask. I think you mistake me for
somebody who doesn't understand that there are several options in
system administration.  I just wanted to know how you choose among
several installed BLAS. From your comments below, I gather you don't
choose, rather you uninstall the other deb packages entirely?

> i)   The package system has a mechanism to express and honour preferences,
>     that is how Atlas is chose in case it as well as reference Blas are
>     installed. Same for the different 'vi' commands from vim, nvi, ... or
>     emacsen
>

Yes, that's the "fiddling sym links in /etc/alternatives" approach
that I mentioned in my previous email. Whether it is debian scripts or
me typing at the keyboard, it is still just a directory full of
symbolic links.  And I don't necessarily trust a deb package to do
that any more than I trust myself.

> ii)  MKL is different as Revo made it appear in a directory only R uses.
>     So different mechanism.
>
Right.  As you mention, it puts itself in the special place that only
R uses.  R ignores Goto BLAS2 as long as the mkl blas is sitting
there. Hence it appears absolutely necessary to fiddle the symbolic
links to stop R from using mkl. Unless you just remove revolution-mkl
package altogether.

> iii) Goto is not formally packaged and part of the distro. I think the helper
>     package is so good that is does the preferences scheme too but I'd have
>     to check. For my gcbd project I scripted it such that exactly one is
>     present.

Yes, but we were talking about Goto as you described it packaged, not
in the abstract.

In case anybody wonders, here's how gotoblas2-helper handles it.

gotoblas2-helper manipulates the ld search path. It adds this file
"00_gotoblas2.conf", hoping that it is the first in the alphabetical
order among blas-related files in /etc/ld.so.conf.d.

$ cat /etc/ld.so.conf.d/00_gotoblas2.conf
/usr/lib/gotoblas2

That's a safe gamble, until somebody packages up atlas and puts in
00_atlas.conf. Oops :)

>
> | Following the R Install and Admin manual,  Section A.3.1, I've built R
>
> That has *nothing* to do or say on Debian package and hence no bearing on
> your question.

It bears on my case, because I control which BLAS libraries are used
by changing the symbolic links, in the way that the R manual
describes.  Without uninstalling the deb packages, I don't see how it
can be done.

So, in summary, I was just curious to know how people that use your R
packages manage to choose among the several BLAS.

pj

-- 
Paul E. Johnson
Professor, Political Science
1541 Lilac Lane, Room 504
University of Kansas



More information about the R-SIG-Debian mailing list