summaryrefslogtreecommitdiffstats
path: root/cluster
diff options
context:
space:
mode:
authorJaka Kranjc2009-05-19 16:57:03 +0200
committerJaka Kranjc2009-05-19 17:02:27 +0200
commit58bb0a7b3d4dc0688b854c13ad308ea955ccf613 (patch)
treef96f01a8913c871918de1f5084432ad665599e8e /cluster
parent4f6fd3ed86b4559c46cbe0e872d5ac0a6433040f (diff)
atlas: update and fixes by chp #15230
fixes also some older bugs
Diffstat (limited to 'cluster')
-rwxr-xr-xcluster/atlas/BUILD49
-rwxr-xr-xcluster/atlas/CONFIGURE13
-rwxr-xr-xcluster/atlas/CONFLICTS1
-rwxr-xr-xcluster/atlas/DEPENDS5
-rwxr-xr-xcluster/atlas/DETAILS5
-rw-r--r--cluster/atlas/HISTORY15
-rwxr-xr-xcluster/atlas/INSTALL15
-rwxr-xr-xcluster/atlas/PREPARE13
-rwxr-xr-xcluster/atlas/PRE_BUILD2
-rwxr-xr-xcluster/atlas/TRIGGERS3
-rw-r--r--cluster/atlas/atlas-alpha.config12
-rw-r--r--cluster/atlas/atlas-nog77.config9
12 files changed, 85 insertions, 57 deletions
diff --git a/cluster/atlas/BUILD b/cluster/atlas/BUILD
index f84d0df775..e16378d5e7 100755
--- a/cluster/atlas/BUILD
+++ b/cluster/atlas/BUILD
@@ -1,22 +1,31 @@
-persistent_add SOURCE_LIB &&
-make_single &&
-local config=$(<$SCRIPT_DIRECTORY/atlas-nog77.config) &&
-if [[ "${SMGL_COMPAT_ARCHS[1]}" == alpha ]]; then
- config=$(<$SCRIPT_DIRECTORY/atlas-alpha.config) &&
- # Tricky: The question may come even if generic chosen,
- # when cpu is ev5/6/7 nevertheless!
- if [[ "${SMGL_COMPAT_ARCHS[3]}" =~ ^ev[567] ]]; then
- config=$(sed 's/EV5GEMM/y/' <<< "$config")
- else # Assume that question is not posed.
- config=$(sed '/EV5GEMM/d' <<< "$config")
+cd $SOURCE_DIRECTORY/bld &&
+if is_depends_enabled $SPELL lapack; then
+ OPTS="--with-netlib-lapack=$INSTALL_ROOT/usr/lib/liblapack.a $OPTS"
+fi &&
+if [ $WALL_TIMER == y ]; then
+ if [[ ${SMGL_COMPAT_ARCHS[1]} == "ia32" || ${SMGL_COMPAT_ARCHS[1]} == "x86_64" ]]; then
+ OPTS="-D c -DPentiumCPS=$CPU_FREQ $OPTS"
+ else
+ OPTS="-D c -DWALL $OPTS"
fi
+fi &&
+
+../configure -Si cputhrchk 0 \
+ -Fa alg -fPIC \
+ -b ${SMGL_COMPAT_ARCHS[0]} \
+ --prefix=$INSTALL_ROOT/usr &&
+sedit '/RANLIB/s/echo/ranlib/' Make.inc &&
+
+make_single &&
+make &&
+if [ $SHARED_LIB == y ]; then
+ cd lib &&
+ make shared &&
+ cd ..
+fi &&
+if [ $PTSHARED_LIB == y ]; then
+ cd lib &&
+ make ptshared &&
+ cd ..
fi &&
-if is_depends_enabled $SPELL fortran; then
- config=$(sed 's/FORTRAN/1\ngfortran/' <<< "$config")
-else
- config=$(sed 's/FORTRAN/0/' <<< "$config")
-fi &&
-echo "$config" | make &&
-ARCH=`ls -1 Make.Linux* | sed -e 's/Make.//'` &&
-make install arch=$ARCH &&
-SOURCE_LIB=$SOURCE_DIRECTORY/lib/$ARCH
+make_normal
diff --git a/cluster/atlas/CONFIGURE b/cluster/atlas/CONFIGURE
new file mode 100755
index 0000000000..72d9da5cb6
--- /dev/null
+++ b/cluster/atlas/CONFIGURE
@@ -0,0 +1,13 @@
+config_query SHARED_LIB "Do you want shared libraries to be built?" y
+if [ $SHARED_LIB == y ]; then
+ config_query PTSHARED_LIB "Do you want parallelized shared libraries to be built?" y
+fi
+
+config_query WALL_TIMER "Do you want to enable wall timer? (if your comupter load is not high, this will provide a higher resolution timer)" y
+
+# Haven't tried with other archs than ia32 yet
+if [ $WALL_TIMER == y ]; then
+ if [[ ${SMGL_COMPAT_ARCHS[1]} == "ia32" || ${SMGL_COMPAT_ARCHS[1]} == "x86_64" ]]; then
+ config_query_string CPU_FREQ "What is your CPU frequency in MHz?" 1000
+ fi
+fi
diff --git a/cluster/atlas/CONFLICTS b/cluster/atlas/CONFLICTS
index a3fe48111f..d7c014b88c 100755
--- a/cluster/atlas/CONFLICTS
+++ b/cluster/atlas/CONFLICTS
@@ -1,2 +1 @@
-conflicts lapack &&
conflicts clapack
diff --git a/cluster/atlas/DEPENDS b/cluster/atlas/DEPENDS
index 0497e321c6..e0d753e231 100755
--- a/cluster/atlas/DEPENDS
+++ b/cluster/atlas/DEPENDS
@@ -1 +1,4 @@
-optional_depends fortran "" "" "for fortran bindings"
+optional_depends fortran "" "--nof77" "for fortran bindings"
+if is_depends_enabled $SPELL fortran; then
+ optional_depends lapack "" "" "to build enhanced liblapack.a"
+fi
diff --git a/cluster/atlas/DETAILS b/cluster/atlas/DETAILS
index 67020468ed..b6122a4654 100755
--- a/cluster/atlas/DETAILS
+++ b/cluster/atlas/DETAILS
@@ -1,12 +1,11 @@
SPELL=atlas
- VERSION=3.6.0
+ VERSION=3.8.3
SOURCE=${SPELL}$VERSION.tar.bz2
SOURCE_DIRECTORY=$BUILD_DIRECTORY/ATLAS
SOURCE_URL[0]=$SOURCEFORGE_URL/math-atlas/$SOURCE
- SOURCE_HASH=sha512:0272f94e4e452d240741336a65450d9767150c886681e3f88bcdbebeb18ceba7d489f848ec2824ef0ce1dd33f8cb122e8d87e64d5f19407d02801b775fce2f73
+ SOURCE_HASH=sha512:4c152f1f5c49d9b0275e3c8755fc7808f5b298c9f92ea9958dbb771bc656da950e5136e36cbc3ff39542f17d12b719d9acd2c8ecc66382c6fe2dc4ad82bd9aa2
WEB_SITE=http://math-atlas.sourceforge.net
ENTERED=20020514
- PATCHLEVEL=1
LICENSE[0]=BSD
KEYWORDS="algebra cluster"
SHORT="Automatically Tuned Linear Algebra Software (ATLAS)"
diff --git a/cluster/atlas/HISTORY b/cluster/atlas/HISTORY
index 5eb474a840..2c2d89f4f5 100644
--- a/cluster/atlas/HISTORY
+++ b/cluster/atlas/HISTORY
@@ -1,3 +1,18 @@
+2009-05-17 Peng Chang (Charles) <chp516@gmail.com>
+ * BUILD: changed accordingly
+ * CONFIGURE: added this file to query various options
+ * DEPENDS: added optional_depends lapack
+ * DETAILS: version 3.8.3, this version has a new building and
+ installing scheme
+ * CONFLICTS: resolved conflict with lapack. atlas should work
+ _with_ lapack, rather than conflict lapack
+ * INSTALL: changed accordingly
+ * PRE_BUILD: added accordingly
+ * README: attentions before building atlas
+ * TRIGGERS: used to resolve conflicts with lapack
+ * atlas-nog77.config, atlas-alpha.config: probably no longer
+ needed
+
2007-06-04 Thomas Orgis <sobukus@sourcemage.org>
* BUILD, atlas-alpha.config: make it work on alphas,
prepare for better fortran handling for others, too
diff --git a/cluster/atlas/INSTALL b/cluster/atlas/INSTALL
index f38b090010..b007c00a92 100755
--- a/cluster/atlas/INSTALL
+++ b/cluster/atlas/INSTALL
@@ -1,11 +1,4 @@
-make_normal &&
-install -m 0644 $SOURCE_LIB/libatlas.a /usr/lib &&
-install -m 0644 $SOURCE_LIB/libcblas.a /usr/lib &&
-install -m 0644 $SOURCE_LIB/libf77blas.a /usr/lib &&
-install -m 0644 $SOURCE_LIB/liblapack.a /usr/lib &&
-install -m 0644 $SOURCE_DIRECTORY/include/cblas.h \
- /usr/include &&
-install -m 0644 $SOURCE_DIRECTORY/include/clapack.h \
- /usr/include
-
-persistent_remove SOURCE_LIB
+make install &&
+if [ $SHARED_LIB == y ]; then
+ cp -v lib/*.so $INSTALL_ROOT/usr/lib
+fi
diff --git a/cluster/atlas/PREPARE b/cluster/atlas/PREPARE
new file mode 100755
index 0000000000..03c1baac9a
--- /dev/null
+++ b/cluster/atlas/PREPARE
@@ -0,0 +1,13 @@
+cat <<EOF
+Before casting atlas spell, you'd better turn off cpu throttling for
+every cpu(core) according to the official installation documentation.
+
+Tune your freq governor to "performance" somewhere like:
+/sys/devices/system/cpu/cpu?/cpufreq/scaling_governor
+
+During configuration, you'll be asked whether enabling wall timer.
+According to official documentation, "if you are installing ATLAS on a
+machine which is not heavily loaded, you will want to improve your
+install by instructing ATLAS to use one of its higher resolution wall
+timers.
+EOF
diff --git a/cluster/atlas/PRE_BUILD b/cluster/atlas/PRE_BUILD
new file mode 100755
index 0000000000..cc0a8ec1da
--- /dev/null
+++ b/cluster/atlas/PRE_BUILD
@@ -0,0 +1,2 @@
+default_pre_build &&
+mkdir $SOURCE_DIRECTORY/bld
diff --git a/cluster/atlas/TRIGGERS b/cluster/atlas/TRIGGERS
new file mode 100755
index 0000000000..370e78f0b0
--- /dev/null
+++ b/cluster/atlas/TRIGGERS
@@ -0,0 +1,3 @@
+if is_depends_enabled $SPELL lapack; then
+ on_cast lapack cast_self;
+fi
diff --git a/cluster/atlas/atlas-alpha.config b/cluster/atlas/atlas-alpha.config
deleted file mode 100644
index ce59b75911..0000000000
--- a/cluster/atlas/atlas-alpha.config
+++ /dev/null
@@ -1,12 +0,0 @@
-025
-y
-y
-EV5GEMM
-n
-y
-
-
-
-FORTRAN
-
-y
diff --git a/cluster/atlas/atlas-nog77.config b/cluster/atlas/atlas-nog77.config
deleted file mode 100644
index f1e3f08ec1..0000000000
--- a/cluster/atlas/atlas-nog77.config
+++ /dev/null
@@ -1,9 +0,0 @@
-025
-y
-y
-n
-y
-
-
-FORTRAN
-