Charles R Harris wrote: > > > On 4/18/07, *Keith Goodman* <[EMAIL PROTECTED] > <mailto:[EMAIL PROTECTED]>> wrote: > > On 4/18/07, Charles R Harris <[EMAIL PROTECTED] > <mailto:[EMAIL PROTECTED]>> wrote: > > On 4/18/07, Keith Goodman <[EMAIL PROTECTED] > <mailto:[EMAIL PROTECTED]>> wrote: > > > I'd like to compile atlas so that I can take full advantage of > my core > > > 2 duo. Numpy dynamically links to the debian binary of > atlas-sse that > > > I installed. But the atlas website says that they recommend > static > > > linking. > > > > > > Which do you recommend, static or dynamic? Are there good > directions for > > either? > > > > I don't know which is best, although I suspect the statically > linked version > > will be larger. It might seem that just pulling in the gemm routines > > wouldn't add much, but they pull in lots of supporting routines. > To get > > numpy to link statically you will also probably need to have a > directory > > that contains only the *.a versions because the linker will > default to the > > *.so if they are present; i don't think there is a way to > specify the > > -static flag to the gcc compiler. Maybe someone else knows how > to do that. > > For ATLAS, I believe the latest versions are also recommended > because the > > stable version is so old. > > At the moment best is equal to easiest since I have never compiled > atlas. Does anyone know of a howto on compiling atlas (dynamically > linked)? > > > The instructions that come with ATLAS are useable, and with the 3.7.30 > version the process is pretty easy. Just make sure you read the part > concerning relocatable libraries first, as you will need to add some > flags to the ./configure command line, -fPIC and a couple of others. > After compiling and install, IIRC, the libraries will be in > /usr/local/lib/ATLAS, which should be OK for debian. Then you need to > add a file in /etc/ld.conf.d with the name of the directory and run > ldconfig in order to let the system know where the libraries are and > what they contain. Or you could save the old /usr/lib/atlas directory > and put the new libraries there and then run ldconfig. I also found it > necessary to delete the old numpy site-package before reinstalling numpy. Here is what I do to compile atlas with full lapack, dynamically, on debian systems (ubuntu is the same for that matter):
- sudo apt-get install g77 lapack3-pic lapack3-test refblas3-test - untar atlas, go into ATLAS directory - mkdir MyObj, cd MyObj (this is where the lib will be built) - configure the build: ../configure -Si archdef 1 -Fa alg -fPIC -C if g77 -Ss flapack /usr/lib/liblapack_pic.a - build the lib: make - time and test the library: make time; make test - build the shared library: cd lib; make shared. Explanations: - lapack3-test will be handy to test the compiled atlas, and lapack3-pic gives you a lapack library which can be used to build a full shared LAPACK library using atlas. - archdef 1 means uses arch default, much faster - up to 10 times - to compile the library - -Fa alg -fPIC says to add -fPIC to build all objects files (needed for shared lib) - -C if g77 says to use g77 and not gfortran as the fortran compiler. On debian, g77 is still the default, and gfortran has a different ABI, meaning all kind of problems if you use gfortran for now on debian if you do not know what you are doing. I strongly advise you to use the officiel lapack and blas testers afterwards. On debian, as they are dynamically linked to blas/lapack, you can choose which library to test thanks to the LD_LIBRARY_PATH trick. cheers, David _______________________________________________ Numpy-discussion mailing list Numpy-discussion@scipy.org http://projects.scipy.org/mailman/listinfo/numpy-discussion