Actions

icon Post
text/html Subscribe
text/html Unsubscribe

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

[patch] Final cleanup before building 1.0


  • To: VSIPL++ Developers List <vsipl++@xxxxxxxxxxxxxxxx>
  • Subject: [patch] Final cleanup before building 1.0
  • From: Jules Bergmann <jules@xxxxxxxxxxxxxxxx>
  • Date: Fri, 20 Jan 2006 16:24:24 -0500

The biggest change here is the updated config files. Instead of building a single 64-bit version using the builtin libraries, we now build two: one for EM64T (P4E64+SSE3) and one for AMD64 (HAMMER64+SSE2). See the comment in config for more details.

A preliminary test of SerialBuiltin{32,EM64T,AMD64} looked good. After checking this in, I'm going to tag the library V_1_0 and start a build!

				-- Jules
Index: ChangeLog
===================================================================
RCS file: /home/cvs/Repository/vpp/ChangeLog,v
retrieving revision 1.383
diff -u -r1.383 ChangeLog
--- ChangeLog	20 Jan 2006 14:39:28 -0000	1.383
+++ ChangeLog	20 Jan 2006 21:12:34 -0000
@@ -1,3 +1,14 @@
+2006-01-20  Jules Bergmann  <jules@xxxxxxxxxxxxxxxx>
+
+	* VERSIONS: Document V_1_0 tag for 1.0 release.
+	* benchmarks/GNUmakefile.inc: Rule to generate static executables.
+	* doc/quickstart/quickstart.xml: Bump version to 1.0, copyright
+	  to 2006.
+	* scripts/config: Document.  Add options for P4SSE2, EM64T and AMD64
+	  targets.
+	* scripts/release.sh: Add -T cvs_tag option.
+	* scripts/set-prefix.sh: Add -v option to enable verbose output.
+
 2006-01-20  Stefan Seefeld  <stefan@xxxxxxxxxxxxxxxx>
 
 	* doc/csl-docbook/GNUmakefile.inc: Use '+=' instead of ':=' during
@@ -42,7 +53,6 @@
 	  as share/sourceryvsipl++/Makefile - allowing the user an easy
 	  way to build the example program.
 
->>>>>>> 1.382
 2006-01-19  Stefan Seefeld  <stefan@xxxxxxxxxxxxxxxx>
 
 	* scripts/package: Support 'host' and 'cvstag' options.
Index: VERSIONS
===================================================================
RCS file: /home/cvs/Repository/vpp/VERSIONS,v
retrieving revision 1.1
diff -u -r1.1 VERSIONS
--- VERSIONS	23 Sep 2005 19:21:36 -0000	1.1
+++ VERSIONS	20 Jan 2006 21:12:34 -0000
@@ -4,3 +4,7 @@
 V_0_9	Technology preview release "version 0.9" for HPEC workshop.
 	Released on Sep 21, 2005.
 
+V_0_95  Parallel API release "version 0.95" for HPEC-SI.
+
+V_1_0	1.0 Release. (Jan 20, 2005)
+
Index: benchmarks/GNUmakefile.inc.in
===================================================================
RCS file: /home/cvs/Repository/vpp/benchmarks/GNUmakefile.inc.in,v
retrieving revision 1.3
diff -u -r1.3 GNUmakefile.inc.in
--- benchmarks/GNUmakefile.inc.in	20 Dec 2005 17:10:34 -0000	1.3
+++ benchmarks/GNUmakefile.inc.in	20 Jan 2006 21:12:34 -0000
@@ -51,6 +51,10 @@
 
 cxx_sources += $(benchmarks_cxx_sources)
 
+benchmarks_cxx_statics_def_build :=				\
+	 $(patsubst %$(EXEEXT), %.static$(EXEEXT),		\
+                    $(benchmarks_cxx_exes_def_build))
+
 
 ########################################################################
 # Rules
@@ -64,3 +68,6 @@
 
 $(benchmarks_cxx_exes_def_build): %$(EXEEXT) : %.$(OBJEXT) benchmarks/main.$(OBJEXT) src/vsip/libvsip.a
 	$(CXX) $(LDFLAGS) -o $@ $^ $(LIBS) || rm -f $@
+
+$(benchmarks_cxx_statics_def_build): %.static$(EXEEXT) : %.$(OBJEXT) benchmarks/main.$(OBJEXT) src/vsip/libvsip.a
+	$(CXX) -static $(LDFLAGS) -o $@ $^ $(LIBS) || rm -f $@
Index: doc/quickstart/quickstart.xml
===================================================================
RCS file: /home/cvs/Repository/vpp/doc/quickstart/quickstart.xml,v
retrieving revision 1.22
diff -u -r1.22 quickstart.xml
--- doc/quickstart/quickstart.xml	20 Jan 2006 03:59:10 -0000	1.22
+++ doc/quickstart/quickstart.xml	20 Jan 2006 21:12:34 -0000
@@ -16,7 +16,7 @@
  <!ENTITY specification
   "<ulink url=&#34;http://www.codesourcery.com/public/vsiplplusplus/specification-1.0.pdf&#34;
     >VSIPL++ API specification</ulink>">
- <!ENTITY version "0.95">
+ <!ENTITY version "1.0">
 ]>
 
 <book>
@@ -24,7 +24,7 @@
   <title>Sourcery VSIPL++</title>
   <subtitle>Getting Started</subtitle>
   <corpauthor>CodeSourcery, LLC</corpauthor>
-  <copyright><year>2005</year><holder>CodeSourcery, LLC</holder></copyright>
+  <copyright><year>2005, 2006</year><holder>CodeSourcery, LLC</holder></copyright>
   <legalnotice>&opl.xml;</legalnotice>
   <releaseinfo>Version &version;</releaseinfo>
  </bookinfo>
Index: scripts/config
===================================================================
RCS file: /home/cvs/Repository/vpp/scripts/config,v
retrieving revision 1.8
diff -u -r1.8 config
--- scripts/config	20 Jan 2006 03:59:10 -0000	1.8
+++ scripts/config	20 Jan 2006 21:12:34 -0000
@@ -1,3 +1,34 @@
+# config -- Options for building Sourcery VSIPL++ Packages.
+#
+# This file contains the configuration options used to build Sourcery
+# VSIPL++ binary packages.
+#
+# For release 1.0, the following packages are built:
+#
+#
+# For packages that provide builtin math libraries, because the
+# math libraries are built for a specific CPU architecture (i.e. P4+SSE2),
+# we build the entire library with compiler flags specifically for those 
+# architectures.
+#
+# However, for packages that use the Intel math libraries, because
+# the Intel libraries detect CPU architecture at run-time and select the
+# appropriate optimized implementation, we do not build VSIPL++ with
+# any flags that limit it to a particular architecture (although we
+# do tune for Pentium-4).  In theory, SerialIntel32 should run on any x86
+# CPU.
+#
+# PACKAGE                 FLAGS
+# Serial   Builtin 32     32_p4sse2
+# Serial   Builtin em64t  64_em64t
+# Serial   Builtin amd64  64_amd64
+# Serial   Intel   32     32_generic
+# Serial   Intel   64     64_generic
+#
+# Parallel Builtin em64t  64_em64t
+# Parallel Builtin amd64  64_amd64
+# Parallel Intel   64     64_generic
+
 release = ['-O2', '-DNDEBUG',
            '-funswitch-loops',
            '-fgcse-after-reload',
@@ -9,6 +40,13 @@
 debug = ['-g', '-W', '-Wall']
 
 m32 = ['-m32']
+flags_32_generic = ['-m32', '-mtune=pentium4']
+flags_32_p4sse2  = ['-m32', '-mtune=pentium4', '-mmmx', '-msse', '-msse2']
+flags_64_generic = ['-m64', '-mtune=nocona',   '-mmmx', '-msse', '-msse2']
+flags_64_em64t   = ['-m64', '-mtune=nocona',   '-mmmx', '-msse', '-msse2',
+                                               '-msse3']
+flags_64_amd64   = ['-m64', '-mtune=opteron',  '-mmmx', '-msse', '-msse2',
+                                               '-m3dnow']
 
 cross = ['--host=i686-pc-linux-gnu',
          '--build=x86_64-unknown-linux-gnu',
@@ -17,8 +55,11 @@
 builtin_lapack_32 = ['--with-lapack=builtin',
 	             '--with-atlas-cfg-opts="--with-mach=P4 --with-isa=SSE2 --with-int-type=int --with-string-convention=sun"']
 
-builtin_lapack_64 = ['--with-lapack=builtin',
-	             '--with-atlas-cfg-opts="--with-mach=P4 --with-isa=SSE2 --with-int-type=int --with-string-convention=sun"']
+builtin_lapack_em64t = ['--with-lapack=builtin',
+	             '--with-atlas-cfg-opts="--with-mach=P4E64 --with-isa=SSE3 --with-int-type=int --with-string-convention=sun"']
+
+builtin_lapack_amd64 = ['--with-lapack=builtin',
+	             '--with-atlas-cfg-opts="--with-mach=HAMMER64 --with-isa=SSE2 --with-int-type=int --with-string-convention=sun"']
 
 
 nompi = ['--disable-mpi']
@@ -38,10 +79,10 @@
 
     class Release(Configuration):
         suffix = ''
-        options = ['CXXFLAGS="%s"'%' '.join(release + m32),
-                   'CFLAGS="%s"'%' '.join(m32),
-                   'FFLAGS="%s"'%' '.join(m32),
-                   'LDFLAGS="%s"'%' '.join(m32),
+        options = ['CXXFLAGS="%s"'%' '.join(release + flags_32_p4sse2),
+                   'CFLAGS="%s"'%' '.join(flags_32_p4sse2),
+                   'FFLAGS="%s"'%' '.join(flags_32_p4sse2),
+                   'LDFLAGS="%s"'%' '.join(flags_32_p4sse2),
                    '--with-g2c-copy=%s'%g2c32,
                    '--with-fft=builtin'] + builtin_lapack_32 + nompi
 
@@ -59,22 +100,41 @@
     release = Release
     debug = Debug
 
-class SerialBuiltin64(Package):
+class SerialBuiltinEM64T(Package):
+
+    class Release(Configuration):
+        suffix = ''
+        options = ['CXXFLAGS="%s"'%' '.join(release + flags_64_em64t),
+                   '--with-g2c-copy=%s'%g2c64,
+                   '--with-fft=builtin'] + builtin_lapack_em64t + nompi
+
+    class Debug(Configuration):
+        suffix = '-debug'
+        options = ['CXXFLAGS="%s"'%' '.join(debug),
+                   '--with-g2c-copy=%s'%g2c64,
+                   '--with-fft=builtin'] + builtin_lapack_em64t + nompi
+
+    suffix = '-serial-builtin'
+    host = 'em64t'
+    release = Release
+    debug = Debug
+
+class SerialBuiltinAMD64(Package):
 
     class Release(Configuration):
         suffix = ''
-        options = ['CXXFLAGS="%s"'%' '.join(release),
+        options = ['CXXFLAGS="%s"'%' '.join(release + flags_64_amd64),
                    '--with-g2c-copy=%s'%g2c64,
-                   '--with-fft=builtin'] + builtin_lapack_64 + nompi
+                   '--with-fft=builtin'] + builtin_lapack_amd64 + nompi
 
     class Debug(Configuration):
         suffix = '-debug'
         options = ['CXXFLAGS="%s"'%' '.join(debug),
                    '--with-g2c-copy=%s'%g2c64,
-                   '--with-fft=builtin'] + builtin_lapack_64 + nompi
+                   '--with-fft=builtin'] + builtin_lapack_amd64 + nompi
 
     suffix = '-serial-builtin'
-    host = 'x86_64'
+    host = 'amd64'
     release = Release
     debug = Debug
 
@@ -82,10 +142,10 @@
 
     class Release(Configuration):
         suffix = ''
-        options = ['CXXFLAGS="%s"'%' '.join(release + m32),
-                   'CFLAGS="%s"'%' '.join(m32),
-                   'FFLAGS="%s"'%' '.join(m32),
-                   'LDFLAGS="%s"'%' '.join(m32),
+        options = ['CXXFLAGS="%s"'%' '.join(release + flags_32_generic),
+                   'CFLAGS="%s"'%' '.join(flags_32_generic),
+                   'FFLAGS="%s"'%' '.join(flags_32_generic),
+                   'LDFLAGS="%s"'%' '.join(flags_32_generic),
                    '--with-g2c-copy=%s'%g2c32,
                    '--with-ipp-prefix=%s/ia32_itanium'%ipp_dir, '--with-fft=ipp'
                   ] + mkl_32 + nompi
@@ -109,7 +169,7 @@
 
     class Release(Configuration):
         suffix = ''
-        options = ['CXXFLAGS="%s"'%' '.join(release),
+        options = ['CXXFLAGS="%s"'%' '.join(release + flags_64_generic),
                    '--with-g2c-copy=%s'%g2c64,
                    '--with-ipp-prefix=%s/em64t'%ipp_dir, '--with-fft=ipp'
 		  ] + mkl_64 + nompi
@@ -122,7 +182,7 @@
 		  ] + mkl_64 + nompi
 
     suffix = '-serial-intel'
-    host = 'x86_64'
+    host = 'em64t'
     release = Release
     debug = Debug
 
@@ -130,10 +190,10 @@
 
     class Release(Configuration):
         suffix = ''
-        options = ['CXXFLAGS="%s"'%' '.join(release + m32),
-                   'CFLAGS="%s"'%' '.join(m32),
-                   'FFLAGS="%s"'%' '.join(m32),
-                   'LDFLAGS="%s"'%' '.join(m32),
+        options = ['CXXFLAGS="%s"'%' '.join(release + flags_32_p4sse2),
+                   'CFLAGS="%s"'%' '.join(flags_32_p4sse2),
+                   'FFLAGS="%s"'%' '.join(flags_32_p4sse2),
+                   'LDFLAGS="%s"'%' '.join(flags_32_p4sse2),
                    '--with-g2c-copy=%s'%g2c32,
                    '--with-fft=builtin'] + builtin_lapack_32 + mpi
 
@@ -151,22 +211,41 @@
     release = Release
     debug = Debug
 
-class ParallelBuiltin64(Package):
+class ParallelBuiltinEM64T(Package):
 
     class Release(Configuration):
         suffix = ''
-        options = ['CXXFLAGS="%s"'%' '.join(release),
+        options = ['CXXFLAGS="%s"'%' '.join(release + flags_64_em64t),
                    '--with-g2c-copy=%s'%g2c64,
-                   '--with-fft=builtin'] + builtin_lapack_64 + mpi
+                   '--with-fft=builtin'] + builtin_lapack_em64t + mpi
 
     class Debug(Configuration):
         suffix = '-debug'
         options = ['CXXFLAGS="%s"'%' '.join(debug),
                    '--with-g2c-copy=%s'%g2c64,
-                   '--with-fft=builtin'] + builtin_lapack_64 + mpi
+                   '--with-fft=builtin'] + builtin_lapack_em64t + mpi
 
     suffix = '-parallel-builtin'
-    host = 'x86_64'
+    host = 'em64t'
+    release = Release
+    debug = Debug
+
+class ParallelBuiltinAMD64(Package):
+
+    class Release(Configuration):
+        suffix = ''
+        options = ['CXXFLAGS="%s"'%' '.join(release + flags_64_amd64),
+                   '--with-g2c-copy=%s'%g2c64,
+                   '--with-fft=builtin'] + builtin_lapack_amd64 + mpi
+
+    class Debug(Configuration):
+        suffix = '-debug'
+        options = ['CXXFLAGS="%s"'%' '.join(debug),
+                   '--with-g2c-copy=%s'%g2c64,
+                   '--with-fft=builtin'] + builtin_lapack_amd64 + mpi
+
+    suffix = '-parallel-builtin'
+    host = 'amd64'
     release = Release
     debug = Debug
 
@@ -174,10 +253,10 @@
 
     class Release(Configuration):
         suffix = ''
-        options = ['CXXFLAGS="%s"'%' '.join(release + m32),
-                   'CFLAGS="%s"'%' '.join(m32),
-                   'FFLAGS="%s"'%' '.join(m32),
-                   'LDFLAGS="%s"'%' '.join(m32),
+        options = ['CXXFLAGS="%s"'%' '.join(release + flags_32_generic),
+                   'CFLAGS="%s"'%' '.join(flags_32_generic),
+                   'FFLAGS="%s"'%' '.join(flags_32_generic),
+                   'LDFLAGS="%s"'%' '.join(flags_32_generic),
                    '--with-g2c-copy=%s'%g2c32,
                    '--with-ipp-prefix=%s/ia32_itanium'%ipp_dir, '--with-fft=ipp'
 		  ] + mkl_32 + mpi
@@ -201,7 +280,7 @@
 
     class Release(Configuration):
         suffix = ''
-        options = ['CXXFLAGS="%s"'%' '.join(release),
+        options = ['CXXFLAGS="%s"'%' '.join(release + flags_64_generic),
                    '--with-g2c-copy=%s'%g2c64,
                    '--with-ipp-prefix=%s/em64t'%ipp_dir, '--with-fft=ipp'
 		  ] + mkl_64 + mpi
@@ -214,6 +293,6 @@
 		  ] + mkl_64 + mpi
 
     suffix = '-parallel-intel'
-    host = 'x86_64'
+    host = 'em64t'
     release = Release
     debug = Debug
Index: scripts/release.sh
===================================================================
RCS file: /home/cvs/Repository/vpp/scripts/release.sh,v
retrieving revision 1.4
diff -u -r1.4 release.sh
--- scripts/release.sh	20 Jan 2006 03:59:11 -0000	1.4
+++ scripts/release.sh	20 Jan 2006 21:12:34 -0000
@@ -46,8 +46,9 @@
 srcpkg="$srcdir.tar.bz2"
 distdir="vpp-dist"
 debug="yes"
+cvs_tag="HEAD"
 
-while getopts "w:d:c:p:C:t:D:" arg; do
+while getopts "w:d:c:p:C:t:D:T:" arg; do
     case $arg in
 	w)
 	    what=$OPTARG
@@ -70,6 +71,9 @@
 	D)
 	    distdir=$OPTARG
 	    ;;
+	T)
+	    cvs_tag=$OPTARG
+	    ;;
 	\?)
             error "usage: release.sh [-v VERSION]"
 	    ;;
@@ -144,6 +148,7 @@
       echo "Checkout ($cvs_srcdir)"
       $package checkout --verbose --srcdir=$cvs_srcdir	\
 	--configfile=$cfgfile				\
+        --cvs-tag=$cvs_tag				\
 	2>&1 > log-checkout
     fi
 
Index: scripts/set-prefix.sh
===================================================================
RCS file: /home/cvs/Repository/vpp/scripts/set-prefix.sh,v
retrieving revision 1.1
diff -u -r1.1 set-prefix.sh
--- scripts/set-prefix.sh	20 Jan 2006 03:59:11 -0000	1.1
+++ scripts/set-prefix.sh	20 Jan 2006 21:12:34 -0000
@@ -20,6 +20,7 @@
 #                 [-l PKGCONFIG_DIR]
 #                 [-i IPP_PREFIX]
 #                 [-m IPP_PREFIX]
+#                 -v
 #
 # DESCRIPTION
 #   Sets the prefix variables in the a Sourcery VSIPL++ binary package's
@@ -44,6 +45,8 @@
 #   new prefix are the same. However, if the IPP or MKL prefix are
 #   not set, they will not be substituted.
 #
+#   The -v option turns on verbose output.
+#
 # EXAMPLES
 #
 
@@ -59,8 +62,9 @@
 prefix=`dirname $prefix`	# Go up 1 level to package root.
 
 pcdir='*use-default*'
+verbose="no"
 
-while getopts "xp:l:i:m:" arg; do
+while getopts "xp:l:i:m:v" arg; do
     case $arg in
 	p)
 	    prefix=$OPTARG
@@ -74,6 +78,9 @@
 	m)
 	    mkl_prefix=$OPTARG
 	    ;;
+	v)
+	    verbose="yes"
+	    ;;
     esac
 done
 
@@ -81,13 +88,15 @@
   pcdir="$prefix/lib/pkgconfig"
 fi
 
-echo "VSIPL++ prefix  : " $prefix
-echo "  pkgconfig dir : " $pcdir
-if test "x$ipp_prefix" != "x"; then
-  echo "IPP prefix      : " $ipp_prefix
-fi
-if test "x$mkl_prefix" != "x"; then
-  echo "MKL prefix      : " $mkl_prefix
+if test "$verbose" == "yes"; then
+  echo "VSIPL++ prefix  : " $prefix
+  echo "  pkgconfig dir : " $pcdir
+  if test "x$ipp_prefix" != "x"; then
+    echo "IPP prefix      : " $ipp_prefix
+  fi
+  if test "x$mkl_prefix" != "x"; then
+    echo "MKL prefix      : " $mkl_prefix
+  fi
 fi
 
 for file in `ls $pcdir/*.pc`; do