diff options
Diffstat (limited to 'ur_optimize')
-rwxr-xr-x | ur_optimize | 35 |
1 files changed, 31 insertions, 4 deletions
diff --git a/ur_optimize b/ur_optimize index 9851f00..175b97d 100755 --- a/ur_optimize +++ b/ur_optimize @@ -22,6 +22,12 @@ # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +export ATLAS_VERSION=3.10.2 +export LAPACK_VERSION=3.5.0 + +export ATLAS_URL=http://sourceforge.net/projects/math-atlas/files/Stable/${ATLAS_VERSION}/atlas${ATLAS_VERSION}.tar.bz2 +export LAPACK_URL=http://www.netlib.org/lapack/lapack-${LAPACK_VERSION}.tgz + if [ ! -z "${UR_DIR}" ]; then echo "UREKA must not be active." exit 1 @@ -54,7 +60,7 @@ function deinit_optimize function stage_ATLAS { - local url="http://sourceforge.net/projects/math-atlas/files/Stable/3.10.2/atlas3.10.2.tar.bz2" + local url="${ATLAS_URL}" local tarball="$(basename ${url})" wget "${url}" tar xf "${tarball}" @@ -62,12 +68,32 @@ function stage_ATLAS function stage_LAPACK { - local url="http://www.netlib.org/lapack/lapack-3.5.0.tgz" + local url="${LAPACK_URL}" local tarball="$(basename ${url})" wget "${url}" #tar xf "${tarball}" } +function fix_barriers +{ + # Make sure we have libgfortran available before removing it from Ureka + sys_libgfortran_path=$(ldconfig -p | grep libgfortran.so.3 | awk '{ print $4 }') + if [ -z "${sys_libgfortran_path}" ]; then + echo "Aborting: Please make sure libgfortran.so.3 is installed." + exit 1 + fi + + # Remove Ureka's libgfortran + ureka_libgfortran_path="${UREKA}/python/lib/libgfortran.so.3" + ureka_libgfortran_dirname="$(dirname ${ureka_libgfortran_path})" + ureka_libgfortran_basename="$(basename ${ureka_libgfortran_path})" + if [ -f "${ureka_libgfortran_path}" ]; then + echo "Moving Ureka's libgfortran.so.3 out of the way..." + ( cd "${ureka_libgfortran_dirname}" && \ + mv "${ureka_libgfortran_basename}" "${ureka_libgfortran_basename}.unused" ) + fi +} + function build_ATLAS { local BUILDROOT=`pwd` @@ -79,7 +105,7 @@ function build_ATLAS mkdir -p BUILD && cd BUILD ../configure --prefix=${PREFIX} \ - --with-netlib-lapack-tarfile=${BUILDROOT}/lapack-3.5.0.tgz \ + --with-netlib-lapack-tarfile=${BUILDROOT}/$(basename ${LAPACK_URL}) \ --shared \ -b 64 \ -Fa alg "-fPIC -Wl,-rpath=${PREFIX}/lib,--enable-new-dtags" \ @@ -101,7 +127,6 @@ function build_modules local packages=( numpy scipy ) - for package in "${packages[@]}" do yes | pip uninstall ${package} @@ -144,6 +169,8 @@ shift $(($OPTIND - 1)) set -x export PREFIX="${UREKA}/ext" +fix_barriers + init_optimize build_ATLAS |