LAPACK Archives

[Lapack] LAPACK over ATLAS testing


When you link with the ATLAS BLAS with a Fortran code (e.g LAPACK), you 
need to provide libatlas.a but also the library libf77blas.a from ATLAS. 
The ATLAS library libf77blas.a has all the Fortran drivers for the BLAS 
and then it calls ATLAS routines in libatlas.a, so libf77blas.a is where 
everything is: sscal_, ssdot_, sgemv_, etc. libf77blas.a should be in the 
the same directory as libatlas.a and when you link, do not forget to put 
libf77blas.a first, then libatlas.a.

(Note that ATLAS also provide C drivers with libcblas.a.)

Now, if I build with: lib: blaslib lapacklib tmglib these objects GET 
INSERTED into into ATLAS' libatlas.a and then I can repeat with: lib: 
lapacklib tmglib with no problems.

It looks like you have been testing LAPACK not with ATLAS BLAS but with 
the reference BLAS. Hard to tell without seeing the Makefile.

2) Also, do I gain anything by rebuilding liblapack.a by replacing some 
routines with ATLAS optimized LAPACK routines (as suggested by ATLAS 
team) if I have already built my LAPACK over ATLAS in the first place?

Yes, you will have a gain. In general, it's a good idea to use ATLAS 
LAPACK optimized routines whenever ATLAS has the functionnality.

Julien.



On Wed, 28 Feb 2007, Martin M. Ossowski wrote:

Hi Jack,

I have a question about buliding LAPACK over ATLAS.
I noticed that when built with:
lib: lapacklib tmglib
testing fails:
../../lapack_LINUX.a(slauu2.o): In function `slauu2_':
slauu2.f:(.text+0xb1): undefined reference to `sscal_'
slauu2.f:(.text+0x101): undefined reference to `sdot_'
slauu2.f:(.text+0x15f): undefined reference to `sgemv_'
slauu2.f:(.text+0x1f8): undefined reference to `sscal_'
slauu2.f:(.text+0x24c): undefined reference to `sdot_'
slauu2.f:(.text+0x2ab): undefined reference to `sgemv_'

since these objects are not in the libatlas.a .

Now, if I build with:
lib: blaslib lapacklib tmglib
these objects GET INSERTED into into ATLAS' libatlas.a
and then I can repeat with:
lib: lapacklib tmglib
with no problems.

1) I dont't quite understand what xerbla.o are as opposed
to ATL_xerbla.o and, even more importantly, is it safe
to use such modified libatlas.a in applications?

2) Also, do I gain anything by rebuilding liblapack.a by
replacing some routines with ATLAS optimized LAPACK
routines (as suggested by ATLAS team) if I have already
built my LAPACK over ATLAS in the first place?

I will greatly appreciate answers to these 2 questions.
Thanks you very much.
Sincerely,
Martin.


<Prev in Thread] Current Thread [Next in Thread>
  • [Lapack] LAPACK over ATLAS testing, Julien Langou <=


For additional information you may use the LAPACK/ScaLAPACK Forum.
Or one of the mailing lists, or