Feedback on clapack changes

Jules Bergmann jules at codesourcery.com
Tue Mar 21 15:03:32 UTC 2006


Assem,

This looks good.  A few comments below on the Makefiles.  I'll send a 
separate reply for the 'cvs diff' changes.

Can you send out a diff for changes to vendor/GNUmakefile.inc.in?  I 
expect the changes are minor (s/lapack/clapack/) but it would be good to 
verify.  Are there any other files changed outside of that?

Finally, you'll need to create a ChangeLog entry for this patch.  Take a 
look at the other entries in ChangeLog to get a sense of the level of 
detail/brevity necessary.  Something like:

DATE name

	Fit CLAPACK into autoconf build.
	* vendor/clapack/make.inc.in: New file, CLAPACK make include
	  template.
	...

would be great.

				-- Jules



Comments for make.inc.in:

> ####################################################################
> #  LAPACK make include file.                                       #
> #  LAPACK, Version 3.0                                             #
> #  June 30, 1999                                                   #

Add a few descriptive lines to the header, something like:

# Modified to build inside of Sourcery VSIPL++ source tree.  #
# Assem Salama, DATE

> ####################################################################
> #
> SHELL = /bin/sh

SHELL = @SH@

> #
> #  The machine (platform) identifier to append to the library names
> #
> # leave PLAT empty for now

A more descriptive comment

# We don't use the platform name for Sourcery VSIPL++, leave it empty.

> PLAT =

Get rid of the old platform line.  (See comment below).
> #PLAT = _LINUX

> #  
> #  Modify the CC and CFLAGS definitions to refer to the
> #  compiler and desired compiler options for your machine.  NOOPT
> #  refers to the compiler options desired when NO OPTIMIZATION is
> #  selected.  Define LOADER and LOADOPTS to refer to the loader and
> #  desired load options for your machine.
> #

Remove the commented out variables.  In general, commented out code 
without a comment about why it is commented out has the potential to 
create confusion.  In this case, if we need to find out their old 
values, we could use CVS or diff against the original make.inc.

> #CC        = gcc
> #CFLAGS    = -funroll-all-loops -O3
> #LOADER    = gcc

> CC        = @CC@
> CFLAGS    = @CFLAGS@
> LOADER    = $(CC)
> LOADOPTS  = $(CFLAGS)
> NOOPT     = 
> DRVCFLAGS = $(CFLAGS)
> F2CCFLAGS = $(CFLAGS)
> #
> #  The archiver and the flag(s) to use when building archive (library)
> #  If you system has no ranlib, set RANLIB = echo.
> #

Remove these:
> #ARCH     = ar
> #ARCHFLAGS= cr
> #RANLIB   = ranlib

> ARCH     = @AR@
> ARCHFLAGS= @ARFLAGS@
> RANLIB   = @RANLIB@
> #
> #  The location of the libraries to which you will link.  (The 
> #  machine-specific, optimized BLAS library should be used whenever
> #  possible.)
> #
> BLASLIB      = ../../blas$(PLAT).a
> LAPACKLIB    = lapack$(PLAT).a
> F2CLIB       = ../../F2CLIBS/libF77.a ../../F2CLIBS/libI77.a
> TMGLIB       = tmglib$(PLAT).a
> EIGSRCLIB    = eigsrc$(PLAT).a
> LINSRCLIB    = linsrc$(PLAT).a
> 


Comments for GNUmakefile.in
  - Do we still need this file at all?  For FORTRAN LAPACK, we just did a
    make directly in LAPACK/SRC, i.e. vendor/GNUmakefile.inc.in has:

	$(MAKE) -C vendor/lapack/SRC all

    Now that you moved cblaswr into SRC, that should be enough for
    CLAPACK too.

  - Also, why did the BLAS directory name change to blas?

For SRC/GNUmakefile.in
  - Looks good, just add a few lines to the header, similar
    to make.inc.in.

Since we don't need libF77 or libI77 for building clapack/SRC, we 
shouldn't need F2CLIBS/{libF77,libI77}/GNUmakefile.in either, right?

-- 
Jules Bergmann
CodeSourcery
jules at codesourcery.com
(650) 331-3385 x705



More information about the vsipl++ mailing list