Actions

icon Post
text/html Subscribe
text/html Unsubscribe

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

Feedback on clapack changes


  • To: VSIPL++ Developers List <vsipl++@xxxxxxxxxxxxxxxx>
  • Subject: Feedback on clapack changes
  • From: Jules Bergmann <jules@xxxxxxxxxxxxxxxx>
  • Date: Tue, 21 Mar 2006 10:03:32 -0500

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@xxxxxxxxxxxxxxxx
(650) 331-3385 x705