[Numpy-discussion] [ANN] Blas-Lapack superpack: click only blas/lapack installation (first alpha)
Sat Feb 2 06:07:01 CST 2008
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.
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.
- 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
- built with mingw g77 from linux (dll, unix-style static archives
- 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
- 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
- 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).
More information about the Numpy-discussion