On Sun, Jul 25, 2010 at 5:13 AM, David Cournapeau firstname.lastname@example.org wrote:
On Sun, Jul 25, 2010 at 5:11 AM, Jonathan Tu email@example.com wrote:
On Jul 24, 2010, at 4:04 PM, Keith Goodman wrote:
On Sat, Jul 24, 2010 at 12:58 PM, David Cournapeau firstname.lastname@example.org wrote:
On Sun, Jul 25, 2010 at 4:50 AM, Jonathan Tu email@example.com wrote:
I am unable to find the files lapack_lite.so or _dotblas.so. I used the locate command to look for them.
If you just installed numpy, locate won't find them as locate uses a database which is usually updated once in a while.
Depending on how you installed numpy, you will find lapack_lite.so in /usr, $HOME/.local or somewhere else (and also in the build directory in the numpy source tree).
Here's one way to find where numpy is installed:
import numpy numpy
<module 'numpy' from '/usr/local/lib/python2.6/site-packages/numpy/__init__.pyc'>
So on my computer numpy is installed in /usr/local/lib/python2.6/site-packages
_dotblas.so may not be present, but numpy cannot work without a lapack_lite.so.
Thanks for the tip! This worked, and much faster than the manual hunting through directories I'd been trying. Upon running ldd on lapack_lite.so and on _dotblas.so, I got the following (first for lapack_lite, then for _dotblas):
libpthread.so.0 => /lib64/tls/libpthread.so.0 (0x0000002a95792000) libc.so.6 => /lib64/tls/libc.so.6 (0x0000002a958a7000) /lib64/ld-linux-x86-64.so.2 (0x000000552aaaa000)
libpthread.so.0 => /lib64/tls/libpthread.so.0 (0x0000002a95d36000) libc.so.6 => /lib64/tls/libc.so.6 (0x0000002a95e4c000) /lib64/ld-linux-x86-64.so.2 (0x000000552aaaa000)
I am interested in whether my Numpy installation is in fact taking advantage of the LAPACK libraries that are installed on the cluster where I'm running. I know that Numpy can function without such an installation, but I think it is probably faster when taking advantage of optimized libraries. In any case, I know ldd shows library dependencies, but I'm not sure how to make sense of its output, and whether or not it answers my question.
It shows you don't use either atlas or even simple lapack. If your install used atlas, the atlas libraries would show up on those .so with ldd
Here is what I would do for RHEL4: - use python 2.6, not 2.7, because the released numpy does not support 2.7 yet. - build atlas 3.8.3 and lapack 3.1.1 by yourself: this is your core issue here. Both lapack and atlas should be built with the -fPIC flag on x86_64 arch (modify the make.inc in lapack to include -fPIC in OPT and NOOPT flags, and add the option -Fa alg -fPIC when calling atlas configure script)