summaryrefslogtreecommitdiff
path: root/lib/make/known-architectures
diff options
context:
space:
mode:
authorjshalf <jshalf@17b73243-c579-4c4c-a9d2-2d5706c11dac>2007-10-26 04:08:38 +0000
committerjshalf <jshalf@17b73243-c579-4c4c-a9d2-2d5706c11dac>2007-10-26 04:08:38 +0000
commitd86bd6a665f59d393496be7a928e7641e8b9605a (patch)
treeaaf6792626e40ca05038ba9577e61da2b393a7b4 /lib/make/known-architectures
parent9b7dad6ad0d13f50a69f54225456171b5017bde5 (diff)
Fixed error in linux config file.
Linux file detects XT4 Linux systems and vectors to xt4-cray-linux config. git-svn-id: http://svn.cactuscode.org/flesh/trunk@4435 17b73243-c579-4c4c-a9d2-2d5706c11dac
Diffstat (limited to 'lib/make/known-architectures')
-rw-r--r--lib/make/known-architectures/linux12
-rw-r--r--lib/make/known-architectures/xt4-cray-linux248
2 files changed, 259 insertions, 1 deletions
diff --git a/lib/make/known-architectures/linux b/lib/make/known-architectures/linux
index cc8c6d21..76f10633 100644
--- a/lib/make/known-architectures/linux
+++ b/lib/make/known-architectures/linux
@@ -9,6 +9,13 @@
# @version $Header$
# @@*/
+if test -e "/usr/bin/aprun" ; then
+ echo "This is probably a Cray XT4 series system."
+ echo "Using known-architectures xt4-cray-linux"
+ . $srcdir/known-architectures/xt4-cray-linux
+else
+
+
if test "$CCTK_CONFIG_STAGE" = 'preferred-compilers' ; then
if test -z "$FPP" -a -z "$FPPFLAGS"; then
@@ -201,7 +208,7 @@ else
: ${F77_OPTIMISE_FLAGS='-fast -Mvect=assoc'}
: ${F77_WARN_FLAGS='-Minfo -Mneginfo'}
: ${F90_OPTIMISE_FLAGS='-fast -Mvect=assoc'}
- : ${F90_OPTIMISE_FLAGS='-Minfo -Mneginfo'}
+ : ${F90_WARN_FLAGS='-Minfo -Mneginfo'}
: ${F77_DEBUG_FLAGS='-g'}
: ${F90_DEBUG_FLAGS='-g'}
F90_VERSION="`$F90 -V 2>&1 | grep -i pgf90 | head -n1`"
@@ -536,3 +543,6 @@ else
# This is caught by lib/make/extras/MPI/NATIVE then.
fi
+
+fi
+
diff --git a/lib/make/known-architectures/xt4-cray-linux b/lib/make/known-architectures/xt4-cray-linux
new file mode 100644
index 00000000..22f30967
--- /dev/null
+++ b/lib/make/known-architectures/xt4-cray-linux
@@ -0,0 +1,248 @@
+#! /bin/sh
+# /*@@
+# @file linux
+# @date Thu Nov 15 21:30:04 2007
+# @author John Shalf
+# @desc
+# known-architectures file for Cray XT4 running Compute Node Linux (CNL)
+# @version $Header: /mnt/data2/cvs2svn/cvs-repositories/Cactus/lib/make/known-architectures/xt4-cray-linux,v 1.1 2007-10-26 04:08:38 jshalf Exp $
+# @@*/
+
+
+echo "This is an Cray XT4: you always need MPI!"
+echo " Forcing MPI to NATIVE."
+MPI='NATIVE'
+
+if test -n "$MPI" ; then
+ NATIVE_MPI_LIBS=' '
+ NATIVE_MPI_LIB_DIRS=' '
+ NATIVE_MPI_INC_DIRS=' '
+fi
+
+if test "$CCTK_CONFIG_STAGE" = 'preferred-compilers' ; then
+
+ if test -z "$FPP" -a -z "$FPPFLAGS"; then
+ FPP='/lib/cpp'
+ FPPFLAGS='-traditional'
+ echo "Setting FPP to $FPP"
+ echo "Setting FPPFLAGS to $FPPFLAGS"
+ fi
+
+else
+
+ # Determine which Fortran 90 compiler is in use
+ LINUX_F90_COMP=none
+
+ if test -n "$F90" && test "$F90" != 'none' ; then
+ if test "`$F90 -V 2>&1 | grep -i f90 | grep -i pgf90`" ; then
+ LINUX_F90_COMP=portland
+ elif test "`$F90 -V 2>&1 | grep pgf95`" ; then
+ LINUX_F90_COMP=portland
+ elif test "`$F90 -V 2>&1 | grep ftn`" ; then
+ LINUX_F90_COMP=portland
+ elif test "`$F90 -v 2>&1 | grep -i g77`" ; then
+ LINUX_F90_COMP=gnu77
+ elif test "`$F90 -v 2>&1 | grep PathScale`" ; then
+ LINUX_F90_COMP=PathScale
+ elif test "`$F90 -dumpversion 2>&1 | grep 'GNU Fortran 95'`" ; then
+ LINUX_F90_COMP=gnu95
+ else
+ echo 'Unknown Linux f90 compiler.'
+ echo 'Please add appropriate information to'
+ echo " $srcdir/known-architectures/linux"
+ echo 'and send the updated file to CactusMaint'
+ echo 'We will try anyway ...'
+ fi
+ elif test -n "$F77" ; then
+ if test "`$F90 -V 2>&1 | grep -i f90 | grep -i pgf90`" ; then
+ LINUX_F90_COMP=portland
+ elif test "`$F90 -V 2>&1 | grep pgf95`" ; then
+ LINUX_F90_COMP=portland
+ elif test "`$F90 -V 2>&1 | grep ftn`" ; then
+ LINUX_F90_COMP=portland
+ elif test "`$F77 -v 2>&1 | grep -i 'gcc version'`" ; then
+ LINUX_F90_COMP=gnu77
+ elif test "`$F77 -dumpversion 2>&1 | grep 'GNU Fortran 95'`" ; then
+ LINUX_F90_COMP=gnu95
+ elif test "`$F90 -v 2>&1 | grep PathScale`" ; then
+ LINUX_F90_COMP=PathScale
+ else
+ echo 'Unknown Linux f77 compiler.'
+ echo 'Please add appropriate information to'
+ echo " $srcdir/known-architectures/linux"
+ echo 'and send the updated file to CactusMaint'
+ echo 'We will try anyway ...'
+ fi
+ fi
+
+ # find out if we have egcs or not, LIBS is either g2c or f2c
+ LINUX_G77_USES_LIBG2C=
+
+ if test "$LINUX_F90_COMP" = 'gnu77' -o "$LINUX_F90_COMP" = 'pacific' ; then
+ touch foo.f
+ if test -n "`$F77 -v 2>&1 foo.f | grep collect | grep g2c`" ; then
+ LINUX_G77_USES_LIBG2C=yes:w
+
+ else
+ LINUX_G77_USES_LIBG2C=no
+ fi
+ rm foo.f
+ fi
+
+ # Set the appropriate flags
+ case "$LINUX_F90_COMP" in
+ gnu77)
+ if test "$LINUX_G77_USES_LIBG2C" = 'yes' ; then
+ : ${LIBS="g2c m"}
+ fi
+ if test "$LINUX_G77_USES_LIBG2C" = 'no' ; then
+ if test "$host_cpu" = 'powerpc' ; then
+ : ${LIBS='m'}
+ else
+ : ${LIBS='f2c m'}
+ fi
+ fi
+ : ${F77_DEBUG_FLAGS='-g'}
+ : ${F90_DEBUG_FLAGS='-g'}
+ : ${F77_WARN_FLAGS='-Wall'}
+ : ${F90_WARN_FLAGS='-Wall'}
+ F77_VERSION="`$F77 -v 2>&1 | grep -i version | head -n1`"
+ F90_VERSION="`$F90 -v 2>&1 | grep -i version | head -n1`"
+ ;;
+ gnu95)
+ : ${F77_DEBUG_FLAGS='-g'}
+ : ${F90_DEBUG_FLAGS='-g'}
+ : ${F77_WARN_FLAGS='-Wall'}
+ : ${F90_WARN_FLAGS='-Wall'}
+ : ${F77_OPTIMISE_FLAGS='-O3 -funroll-loops'}
+ : ${F90_OPTIMISE_FLAGS='-O3 -funroll-loops'}
+ if test "$LD" != "$F90" ; then
+ gnu95_libdir="`$F90 -print-file-name=libgfortran.a`"
+ gnu95_libdir="`dirname $gnu95_libdir`"
+ : ${LIBS='gfortran'}
+ : ${LIBDIRS="$gnu95_libdir"}
+ fi
+ F77_VERSION="`$F77 -dumpversion 2>&1 | grep -i version | head -n1`"
+ F90_VERSION="`$F90 -dumpversion 2>&1 | grep -i version | head -n1`"
+ ;;
+ portland)
+ : ${LIBS='pgf90 pgf90rtl pgftnrtl pgf90_rpm1 pghpf2 pgc m'}
+ if test -z "$LIBDIRS" ; then
+ LIBDIRS="`which $F90 | sed 's,/bin/.*,/lib,'`"
+ fi
+ : ${F90='ftn'}
+ : ${F77='ftn'}
+ # workaround for calling C varargs functions from Fortran
+ : ${F77FLAGS='-Mx,125,0x200'}
+ : ${F77_OPTIMISE_FLAGS='-fastsse -Mvect=assoc'}
+ : ${F77_WARN_FLAGS='-Minfo -Mneginfo'}
+ : ${F77_DEBUG_FLAGS='-g'}
+ : ${F90FLAGS='-Mx,125,0x200'}
+ : ${F90_OPTIMISE_FLAGS='-fastsse -Mvect=assoc'}
+ : ${F90_WARN_FLAGS='-Minfo -Mneginfo'}
+ : ${F90_DEBUG_FLAGS='-g'}
+ F90_VERSION="`$F90 -V 2>&1 | grep -i pgf90 | head -n1`"
+ ;;
+ PathScale)
+ : ${F77FLAGS='-fno-second-underscore'}
+ : ${F90FLAGS='-fno-second-underscore'}
+ : ${F77_OPTIMISE_FLAGS='-Ofast'}
+ : ${F90_OPTIMISE_FLAGS='-Ofast'}
+ if test "$OPTIMISE" != 'no'; then
+ : ${LDFLAGS='-Ofast'}
+ fi
+ : ${F77_WARN_FLAGS='-fullwarn'}
+ : ${F90_WARN_FLAGS='-fullwarn'}
+ : ${LIBS='pathfortran mv'}
+ F77_VERSION="`$F77 -v 2>&1 | grep -i version | head -n1`"
+ F90_VERSION="`$F90 -v 2>&1 | grep -i version | head -n1`"
+ ;;
+ none)
+ : ${LIBS='m'}
+ ;;
+ *)
+ echo 'Unknown Linux f90 compiler.'
+ echo 'Please add appropriate information to'
+ echo " $srcdir/known-architectures/linux-gnu"
+ echo 'and send the updated file to CactusMaint'
+ echo 'We will try anyway ...'
+ ;;
+ esac
+
+ # C compiler
+ # Set the appropriate dependency, warning, and debugging flags
+ # Note that the defaults settings are for gcc/g++ and set by configure
+ case `basename $CC` in
+ # GNU
+ pgcc | cc)
+ : ${CFLAGS='-DCRAY_XT'}
+ : ${C_OPTIMISE_FLAGS='-fastsse -O3 -Mvect=assoc'}
+ : ${C_WARN_FLAGS='-Minfo -Mneginfo'}
+ : ${CC='cc'}
+ CC_VERSION="`$CC -V 2>&1 | grep -i pgcc | head -n1`"
+ ;;
+ pathcc)
+ : ${CFLAGS='-DCRAY_XT'}
+ : ${C_OPTIMISE_FLAGS='-Ofast'}
+ CC_VERSION="`$CC -v 2>&1 | grep -i version | head -n1`"
+ ;;
+ gcc | cc)
+ : ${CFLAGS='-pipe -DCRAY_XT'}
+ : ${C_OPTIMISE_FLAGS='-O3'}
+ CC_VERSION="`$CC -v 2>&1 | grep -i version | head -n1`"
+ ;;
+ esac
+
+ case `basename $CXX` in
+ # GNU
+ pgCC | CC)
+ : ${CXX='CC'}
+ : ${CXXFLAGS='--no_using_std -DCRAY_XT'}
+ : ${CXX_OPTIMISE_FLAGS='-fastsse -O3 -Mvect=assoc'}
+ : ${CXX_WARN_FLAGS='-Minfo -Mneginfo'}
+ if test `basename $LD` = 'pgCC'; then
+ : ${LDFLAGS='-Wl,--allow-multiple-definition'}
+ fi
+ CXX_VERSION="`$CXX -V 2>&1 | grep pgCC | head -n1`"
+ ;;
+ pathCC)
+ : ${CXXFLAGS='-DCRAY_XT'}
+ : ${CXX_OPTIMISE_FLAGS='-Ofast'}
+ CXX_VERSION="`$CXX -v 2>&1 | grep -i version | head -n1`"
+ ;;
+ gcc | [gc]++)
+ : ${CXXFLAGS='-pipe -DCRAY_XT'}
+ : ${CXX_OPTIMISE_FLAGS='-O3'}
+ CXX_VERSION="`$CXX -v 2>&1 | grep -i version | head -n1`"
+ ;;
+ esac
+
+ : ${C_DEBUG_FLAGS='-g'}
+ : ${CXX_DEBUG_FLAGS='-g'}
+
+ # Cache stuff
+ if test -z "$CACHELINE_BYTES" ; then
+ CACHELINE_BYTES=64
+ if test -n "$CACHELINE_BYTES" ; then
+ echo "Setting CACHELINE_BYTES to $CACHELINE_BYTES"
+ fi
+ fi
+
+ if test -z "$CACHE_SIZE" ; then
+ CACHE_SIZE="`cat /proc/cpuinfo | perl -nae 'if(m:cache\D+(\d+): && ! $dunnit) {print $1; $dunnit=1}'`"
+ if test -z "$CACHE_SIZE"; then
+ CACHE_SIZE=0
+ fi
+ if test -n "$CACHE_SIZE" ; then
+ CACHE_SIZE="$CACHE_SIZE*1024"
+ echo "Setting CACHE_SIZE to $CACHE_SIZE bytes"
+ else
+ echo 'Unable to determine Cache size on this machine.'
+ fi
+ fi
+
+# MPI stuff
+# Cray XT4 must always use MPI (caught at the top)
+echo "finishing Cray XT4 Script"
+
+fi