Some of the install instructions are kind of ambiguous. When a library name ends in .a or .dll, it's obvious what it is, but 'library' is sometimes used generically without indicating whether you're talking about static or dynamic, e.g. how does numpy/scipy link to MKL? Is it statically or dynamically linked? It's not clear where things should go or how things are found. After downloading numpy and putting numpy-1.2.1 into a directory named numpy-1.2.1 in python2.5/Lib/site-packages/ and running python setup.py install from the numpy-1.2.1 directory, you get a numpy directory in site-packages. Later, the install instructions refer to the numpy directory generically. Which numpy directory are you talking about? Should the numpy-1.2.1 directory not be in site-packages in the first place? Ditto for scipy. E.g. are you referring to the site.cfg in the distribution directory (numpy-1.2.1) or the installed directory (numpy without version notation). Maybe you should give names to these directories (e.g. distribution and install) and always refer to them with leading adjectives. It should be possible to create a script that keeps track of all of these extra lib configuration steps, so installs won't be so involved and error prone. I built ATLAS (they need better documentation of processor types and how to use what CPU-Z tells you) and I have MKL installed. A quarter of my MKL evaluation days have already ticked away, and I've come to the disappointing realization that 30 days is probably not going to be enough to get the scipy/MKL install right. What's compatible with what? There is mention of MKL, ATLAS, LAPACK and CLAPACK (I also downloaded CLAPACK 3.1.1.1). It seems like CLAPACK would be naturally compatible because python uses C-style matrix addressing, but does Python (or numpy) flip indexes around if you have LAPACK instead of CLAPACK, so it works anyway, if slower? There is mention of ".numpy-site.cfg" in the user's home directory (which I created), but it didn't seem to have any effect on installing. I created the following site.cfg in the numpy (install) directory: [mkl] include_dirs = D:\Programs\Intel\MKL\10.1.0.018\include library_dirs = D:\Programs\Intel\MKL\10.1.0.018\ia32\lib mkl_libs = mkl_ia32, mkl_c_dll, libguide40 lapack_libs = mkl_lapack Do numpy AND scipy each need a site.cfg in their respective install directories? If so, does one take precedence over the other? When I run 'python setup.py install' from the numpy install directory, I get: Warning: No configuration returned, assuming unavailable. blas_opt_info: blas_mkl_info: libraries mkl, vml, guide not found in d:\Programs\Python25\lib libraries mkl, vml, guide not found in C:\ libraries mkl, vml, guide not found in d:\Programs\Python25\libs NOT AVAILABLE atlas_blas_threads_info: Setting PTATLAS=ATLAS libraries mkl, vml, guide not found in d:\Programs\Python25\lib libraries mkl, vml, guide not found in C:\ libraries mkl, vml, guide not found in d:\Programs\Python25\libs NOT AVAILABLE atlas_blas_info: libraries mkl, vml, guide not found in d:\Programs\Python25\lib libraries mkl, vml, guide not found in C:\ libraries mkl, vml, guide not found in d:\Programs\Python25\libs NOT AVAILABLE D:\Programs\Python25\lib\site-packages\numpy\disutils\system_info.py:1340: UserWarning: Atlas (http://math-atlas.sourceforgr.net/) libraries not found Directories to search for the libraries can be specified in the numpy/disutils/site.cfg file (section [atlas]) or by setting the ATLAS environment variable. warnings.warn(AtlasNotFoundError.__doc__) blas_info: libraries blas not found in d:\Programs\Python25\lib ----------------------------------------------------------------- Where is it looking for blas_opt_info, blas_mkl_info, atlas_blas_threads_info, and atlas_blas_info? Is it actually looking on sourceforge for Atlas? FYI, when I try using make in ...MKL/10.1.0.018/examples/cblas, I get a "missing separator" error on the "!INCLUDE cblas.lst" line (first significant line in the file). There are no spaces on this line. Could cygwin make be complaining about something inside the cblas.lst file, or is complaining about the line not being terminated the way it expects it to be (I see carriage return, line feed pairs in the file). HELP!!!!
On Sat, Jan 3, 2009 at 3:29 AM, Mike Landis
Some of the install instructions are kind of ambiguous.
When a library name ends in .a or .dll, it's obvious what it is, but 'library' is sometimes used generically without indicating whether you're talking about static or dynamic, e.g. how does numpy/scipy link to MKL? Is it statically or dynamically linked?
Dynamically first, statically if only the static library is found.
It's not clear where things should go or how things are found. After downloading numpy and putting numpy-1.2.1 into a directory named numpy-1.2.1 in python2.5/Lib/site-packages/ and running python setup.py install from the numpy-1.2.1 directory, you get a numpy directory in site-packages. Later, the install instructions refer to the numpy directory generically. Which numpy directory are you talking about? Should the numpy-1.2.1 directory not be in site-packages in the first place?
No, it should certainly not be in site-packages. Why would you want to do that ? site-packages is reserved for already built python modules. It is a very bad idea to put anything else there.
It should be possible to create a script that keeps track of all of these extra lib configuration steps, so installs won't be so involved and error prone.
There is no ambiguity: when referring to installation, it is understood we refer to the source directory, always.
What's compatible with what? There is mention of MKL, ATLAS, LAPACK and CLAPACK (I also downloaded CLAPACK 3.1.1.1). It seems like CLAPACK would be naturally compatible because python uses C-style matrix addressing, but does Python (or numpy) flip indexes around if you have LAPACK instead of CLAPACK, so it works anyway, if slower?
Numpy and Scipy supports the netlib F77 interface to both blas and lapack. There is no real advantage to using CLAPACK/CBLAS instead of those if you have the fortran interfaces.
There is mention of ".numpy-site.cfg" in the user's home directory (which I created), but it didn't seem to have any effect on installing.
I created the following site.cfg in the numpy (install) directory:
[mkl] include_dirs = D:\Programs\Intel\MKL\10.1.0.018\include library_dirs = D:\Programs\Intel\MKL\10.1.0.018\ia32\lib mkl_libs = mkl_ia32, mkl_c_dll, libguide40 lapack_libs = mkl_lapack
There are many problems with the MLK - and I bet it does not work on windows. You are much better of using the numpy and scipy binaries.
Do numpy AND scipy each need a site.cfg in their respective install directories? If so, does one take precedence over the other?
When building, the site.cfg should be put in the *source* directory. But again, particularly on windows, you should really use the distributed binaries. Building numpy and scipy with external BLAS/LAPACK is not easy, especially on windows. David
2009/1/2 Mike Landis
Some of the install instructions are kind of ambiguous.
When a library name ends in .a or .dll, it's obvious what it is, but 'library' is sometimes used generically without indicating whether you're talking about static or dynamic, e.g. how does numpy/scipy link to MKL? Is it statically or dynamically linked?
If the dynamic libraries are available, they are used.
It's not clear where things should go or how things are found. After downloading numpy and putting numpy-1.2.1 into a directory named numpy-1.2.1 in python2.5/Lib/site-packages/ and running python setup.py install from the numpy-1.2.1 directory, you get a numpy directory in site-packages.
Wait, never put numpy-1.2.1 inside site-packes, build it somewhere else. Later, the install instructions refer to
the numpy directory generically. Which numpy directory are you talking about? Should the numpy-1.2.1 directory not be in site-packages in the first place? Ditto for scipy. E.g. are you referring to the site.cfg in the distribution directory (numpy-1.2.1) or the installed directory (numpy without version notation).
Just get inside numpy-1.2.1, type python setup.py install and you never have to use this folder. The only relevant folder is the numpy one inside site-packages. Maybe
you should give names to these directories (e.g. distribution and install) and always refer to them with leading adjectives.
Perhaps.
It should be possible to create a script that keeps track of all of these extra lib configuration steps, so installs won't be so involved and error prone.
I just use python setup.py install, nothing else, and it works with the default Linux mathematic libraries.
I built ATLAS (they need better documentation of processor types and how to use what CPU-Z tells you) and I have MKL installed. A quarter of my MKL evaluation days have already ticked away, and I've come to the disappointing realization that 30 days is probably not going to be enough to get the scipy/MKL install right.
I don't know if many people are using Numpy with the MKL on Windows.
What's compatible with what? There is mention of MKL, ATLAS, LAPACK and CLAPACK (I also downloaded CLAPACK 3.1.1.1). It seems like CLAPACK would be naturally compatible because python uses C-style matrix addressing, but does Python (or numpy) flip indexes around if you have LAPACK instead of CLAPACK, so it works anyway, if slower?
CLAPACK is not a standard interface, so it is not usable with MKL or ACML.
There is mention of ".numpy-site.cfg" in the user's home directory (which I created), but it didn't seem to have any effect on installing.
Only site.cfg is relevant.
I created the following site.cfg in the numpy (install) directory:
[mkl] include_dirs = D:\Programs\Intel\MKL\10.1.0.018\include library_dirs = D:\Programs\Intel\MKL\10.1.0.018\ia32\lib mkl_libs = mkl_ia32, mkl_c_dll, libguide40 lapack_libs = mkl_lapack
Do numpy AND scipy each need a site.cfg in their respective install directories? If so, does one take precedence over the other?
Yes and I don't know ;)
When I run 'python setup.py install' from the numpy install directory, I get:
Warning: No configuration returned, assuming unavailable. blas_opt_info: blas_mkl_info: libraries mkl, vml, guide not found in d:\Programs\Python25\lib libraries mkl, vml, guide not found in C:\ libraries mkl, vml, guide not found in d:\Programs\Python25\libs NOT AVAILABLE
atlas_blas_threads_info: Setting PTATLAS=ATLAS libraries mkl, vml, guide not found in d:\Programs\Python25\lib libraries mkl, vml, guide not found in C:\ libraries mkl, vml, guide not found in d:\Programs\Python25\libs NOT AVAILABLE
atlas_blas_info: libraries mkl, vml, guide not found in d:\Programs\Python25\lib libraries mkl, vml, guide not found in C:\ libraries mkl, vml, guide not found in d:\Programs\Python25\libs NOT AVAILABLE
D:\Programs\Python25\lib\site-packages\numpy\disutils\system_info.py:1340: UserWarning: Atlas (http://math-atlas.sourceforgr.net/) libraries not found Directories to search for the libraries can be specified in the numpy/disutils/site.cfg file (section [atlas]) or by setting the ATLAS environment variable. warnings.warn(AtlasNotFoundError.__doc__) blas_info: libraries blas not found in d:\Programs\Python25\lib ----------------------------------------------------------------- Where is it looking for blas_opt_info, blas_mkl_info, atlas_blas_threads_info, and atlas_blas_info? Is it actually looking on sourceforge for Atlas?
it looks in site.cfg for those informations. FYI, when I try using make in
...MKL/10.1.0.018/examples/cblas, I get a "missing separator" error on the "!INCLUDE cblas.lst" line (first significant line in the file). There are no spaces on this line. Could cygwin make be complaining about something inside the cblas.lst file, or is complaining about the line not being terminated the way it expects it to be (I see carriage return, line feed pairs in the file).
Did you try mingw or Visual studio 2003? Matthieu -- Information System Engineer, Ph.D. Website: http://matthieu-brucher.developpez.com/ Blogs: http://matt.eifelle.com and http://blog.developpez.com/?blog=92 LinkedIn: http://www.linkedin.com/in/matthieubrucher
participants (3)
-
David Cournapeau
-
Matthieu Brucher
-
Mike Landis