[SciPy-user] making an existing scipy installation use atlas libraries

Lev Givon lev@columbia....
Mon Oct 8 12:09:34 CDT 2007

Received from Robert Kern on Mon, Oct 08, 2007 at 12:36:52PM EDT:
> Lev Givon wrote:
> > Received from Robert Kern on Sun, Oct 07, 2007 at 03:29:42PM EDT:
> >> Lev Givon wrote:
> >>> The scipy installation instructions for Linux relating to atlas
> >>> (http://tinyurl.com/2kuwcy) appear to imply that one can force
> >>> an existing scipy installation that was built against netlib
> >>> blas and lapack to take advantage of subsequently installed
> >>> atlas libraries by directing the library loader to point to the
> >>> atlas-provided libblas.so and liblapack.so libraries rather than
> >>> their netlib equivalents. Does this approach provide inferior
> >>> performance compared to building numpy/scipy directly against
> >>> atlas (i.e., such that the atlas objects are built into the
> >>> cblas/clapack modules)?
> >>
> >> ATLAS has a few other libraries that are needed besides its
> >> libblas.so and liblapack.so.  You would essentially have to relink
> >> the extension modules, not just change LD_LIBRARY_PATH.
> > 
> > True, but isn't it sufficient that those libraries (e.g., libatlas.so)
> > are already linked to by the atlas-provided libblas.so and
> > liblapack.so libraries?
> Is it? Try it, and tell us. One problem you might run into is that
> ATLAS's BLAS is usually in a file called libf77blas.so, not
> libblas.so, but maybe yours is different. Dynamic linking is
> sufficiently finicky and platform-dependent that I don't try to play
> games with it. It might work, but I doubt anyone has tried.

Well, with a numpy / scipy 0.6.0 installation built against
the netlib blas/lapack, I didn't observe any failures when running
scipy.linalg.test() or scipy.lib.test() after redirecting the library
loader to use subsequently installed atlas libblas.so and liblapack.so
files (I verified that the various scipy shared libraries dynamically
linked against those files were indeed referencing the atlas ones
rather than the netlib ones with ldd).


More information about the SciPy-user mailing list