help-octave
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Greased Lightning: ATLAS


From: Shai Ayal
Subject: Re: Greased Lightning: ATLAS
Date: Tue, 24 May 2005 09:39:44 +0300
User-agent: Mozilla Thunderbird 1.0 (X11/20041206)

Hi all,

I am trying to install octave-2.1.71 on fc1 with ATLAS. I am using gcc-3.3.2 . I have the ATLAS libraries in /usr/local/ATLAS/lib/Linux_P4SSE2

address@hidden shaia]$ ls /usr/local/ATLAS/lib/Linux_P4SSE2/
include lib libatlas.a libcblas.a libf77blas.a liblapack.a Make.Linux_P4SSE2 README SUMMARY.LOG

I configure octave like this:
LDFLAGS=-L/usr/local/ATLAS/lib/Linux_P4SSE2/ ./configure --enable-shared --disable-static

the configure output summary I get:

Octave is now configured for i686-pc-linux-gnu

  Source directory:     .
  Installation prefix:  /usr/local
  C compiler:           gcc  -mieee-fp  -Wall -W -Wshadow -g -O2
  C++ compiler:         g++  -mieee-fp  -Wall -W -Wshadow -g -O2
  Fortran compiler:     g77 -O -mieee-fp
Fortran libraries: -L/usr/local/ATLAS/lib/Linux_P4SSE2/ -L/usr/lib/gcc-lib/i386-redhat-linux/3.3.2 -L/usr/lib/gcc-lib/i386-redhat-linux/3.3.2/../../.. -lfrtbegin -lg2c -lm -lgcc_s
  BLAS libraries:       -lcblas -lf77blas -latlas
  FFTW libraries:       -lfftw3
  HDF5 libraries:
  MPI libraries:
  LIBS:                 -lreadline  -lncurses -ldl -lm
  Default pager:        less
  gnuplot:              gnuplot

  Do internal array bounds checking:  false
  Build static libraries:             false
  Build shared libraries:             true
  Dynamic Linking:                    true (dlopen)
  Include support for GNU readline:   true

configure: WARNING: I didn't find gperf, but it's only a problem if you need to reconstruct oct-gperf.h


but, aftre compile & install, I get

address@hidden shaia]$ ldd /usr/local/bin/octave
liboctinterp.so => /usr/local/lib/octave-2.1.71/liboctinterp.so (0x00111000)
        liboctave.so => /usr/local/lib/octave-2.1.71/liboctave.so (0x00af5000)
        libcruft.so => /usr/local/lib/octave-2.1.71/libcruft.so (0x01bdd000)
        libfftw3.so.3 => /usr/lib/libfftw3.so.3 (0x008a6000)
        libreadline.so.4 => /usr/lib/libreadline.so.4 (0x0472b000)
        libncurses.so.5 => /usr/lib/libncurses.so.5 (0x046d8000)
        libdl.so.2 => /lib/libdl.so.2 (0x00932000)
        libg2c.so.0 => /usr/lib/libg2c.so.0 (0x00935000)
        libm.so.6 => /lib/tls/libm.so.6 (0x00953000)
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00975000)
        libstdc++.so.5 => /usr/lib/libstdc++.so.5 (0x0097d000)
        libc.so.6 => /lib/tls/libc.so.6 (0x010f8000)
        libgpm.so.1 => /usr/lib/libgpm.so.1 (0x046d0000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x00adf000)


There is no atlas/blas library there -- Are ther staticly linked or am I doing something wrong ?

Shai


Johan Kullstam wrote:
Keith Goodman <address@hidden> writes:


SSE2

I removed atlas3-base-dev but not atlas3-base (since some of my
programs depend on it) and I kept atlas3-headers. I then installed
atlas3-sse2 and atlas3-sse2-dev. (I'm running debian.)

When I run "./configure --enable-shared --disable-static" I get "BLAS
libraries: -lblas". So atlas is not being picked up when I use sse2
(but it is when I use atlas3).

DOES OCTAVE KNOW?


Yes, for debian.  Debian has some sort of indirection magic which uses
the right blas if you install, e.g., atlas3-sse2.  You may also want
to install libc6-i686 which works similarly.

Unfortunately, debian does not provide fine-grained tuned atlas/blas.
A pentiumpro is not a pentium or i486 but debian treats them the same.
Similarly, mmx covers pentium-ii, pentium-iii-katmai,
pentium-iii-copermine.  3dnow covers all flavor of athlon and sse2
covers all the pentium-4 and pentium-M cpus.  Since the best stride
size of stepping through a vector and such are detail dependent, I am
not sure if there doesn't need to be some more options.  Does anyone
have any more than my wild conjecture?


From your replies it sounds like I have to get configure right and get
the LD_LIBRARY_PATH right. Does Octave itself know whether it is using
atlas? Would it be hard to write a function that returned this sort of
information so a user could enter, say, 'configuration' at the Octave
prompt to find out whether or not Octave is using things like atlas?


Use "ldd /usr/bin/octave" at the prompt and look to see what it wants
to load.




-------------------------------------------------------------
Octave is freely available under the terms of the GNU GPL.

Octave's home on the web:  http://www.octave.org
How to fund new projects:  http://www.octave.org/funding.html
Subscription information:  http://www.octave.org/archive.html
-------------------------------------------------------------



reply via email to

[Prev in Thread] Current Thread [Next in Thread]