[Numpy-discussion] [ANN] Blas-Lapack superpack: click only blas/lapack installation (first alpha)

David Cournapeau david at ar.media.kyoto-u.ac.jp
Sat Feb 2 07:07:01 EST 2008


Hi,
   
    I started working on an easy installer for blas/lapack. The idea is 
that you would use this installer so that building numpy and scipy from 
source is easy on windows (32 bits for now). It would give blas/lapack 
compiled correctly, with optional atlas optimized version.

http://www.ar.media.kyoto-u.ac.jp/members/david/archives/blas_lapack_superpack.exe

How to use
==========

Run the setup.exe, click yes all the way. Add the installed dll in your 
path, or add the path where the dll are installed in your PATH.

main features:
==============

    - Click only, easy installation of blas and lapack libraries 
(including atlas if supported, see below).
    - Install atlas *only if your cpu supports it*: that's the main 
feature, actually. The installer detects your cpu, and install ATLAS 
only if an ATLAS matching your CPU is found (only SSE3 supported for 
now, but other arch, included 3dnow and co, can easily be added 
depending on people help to provide the built ATLAS).

What can you do with it:
========================

    - compile numpy and scipy without wrong SSE problem, without 
bothering about compiling netlib BLAS/LAPACK, etc...
    - compile numpy wo any fortran compiler, VS only (no need for mingw, 
etc... thanks to VS import libraries + DLL).
    - use the installed lapack to build an optimized ATLAS for your 
architecture (using both gnu compilers and proprietary compilers should 
be possible).

More details
============

    - built with mingw g77 from linux (dll, unix-style static archives 
and def)
    - import libraries built with VS 2003. This means you can compile 
numpy wo any fortran compiler, in particular, no need for mingw. I don't 
know if this is compatible with other versions of VS, though.
    - Only SSE3 and above will get ATLAS for now. This is because 
compiling ATLAS on windows is a PITA, and I don't want to spend time on 
this, so if you want something else, you will have to provide me the 
atlas binary first. But having atlas for sse, sse2, 3dnow, etc... is 
entirely possible.
    - I do not register the DLL yet, because I am not sure yet how to do 
it in a safe way (thanks MS for a totally broken handling of shared 
libraries, BTW)
    - I do not guarantee that the built atlas is optimal. ATLAS 
performances depend on many parameters, not just sse/sse2/sse3 (size of 
L1/L2/L3 cache are significant, for example), and again, I cannot build 
many different libraries.
    - The installer is built using nsis.
    - The whole process of making the installer is not 100 % automatic 
yet, but I intend to make it so, and put the necessary scripts somewhere 
so people can improve it if they want.

This is alpha software, and because it is an installer, it can screw up 
your computer if I did something wrong. However, I barely touch the 
registry, and only install files in one directory, so the chances are 
pretty minimal (that's why also you have to put dll manually in a path 
where they will be found manually: at some point, this will be done by 
the installer, but that's by far the most dangerous thing, so I prefer 
avoiding it for now).

cheers,

David



More information about the NumPy-Discussion mailing list