Skip to content

Commit

Permalink
Finalizing HPX installations ...
Browse files Browse the repository at this point in the history
  • Loading branch information
sithhell committed Nov 3, 2015
1 parent d5a0dad commit 0952c9e
Show file tree
Hide file tree
Showing 14 changed files with 527 additions and 20 deletions.
3 changes: 3 additions & 0 deletions babbage/env.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@

TAU_MODULEPATH=/project/projectdirs/xpress/tau2-hpx/modulefiles
HPX_MODULEPATH=$BASE_PATH/modulefiles/babbage/hpx
1 change: 1 addition & 0 deletions babbage/info.sh
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
VALID=false
if hostname | grep -q '^bint'
then
VALID=true
Expand Down
84 changes: 73 additions & 11 deletions babbage/install.sh
Original file line number Diff line number Diff line change
@@ -1,26 +1,88 @@
echo $BASE_PATH

prepare_hwloc
prepare_jemalloc
prepare_lua
prepare_ah
prepare_boost
prepare_hpx

MODULES_HOST="cmake intel impi gcc papi/host-5.3.0 tau/2.24.2"
MODULES_MIC="cmake intel impi gcc papi/mic-5.3.0 tau/2.24.2"

echo "Building dependencies for the XeonPhi"

MODULEPATH_BAK=$MODULEPATH
MODULEPATH=/project/projectdirs/xpress/tau2-hpx/modulefiles:$MODULEPATH

load_modules "${MODULES_MIC}"
CC=icc
CXX=icpc
CFLAGS="-mmic"
CXXFLAGS="-std=c++14 -mmic"
CXXFLAGS="-std=c++14 -mmic -DBOOST_NO_CXX11_ALLOCATOR"
LDFLAGS="-mmic"
make_hwloc "babbage/hwloc/mic" --host=x86_64-k1om-linux
make_jemalloc "babbage/jemalloc/mic" --host=x86_64-k1om-linux
make_boost "babbage/boost/mic" toolset=intel
make_hwloc "babbage/mic/hwloc" --host=x86_64-k1om-linux
make_jemalloc "babbage/mic/jemalloc" --host=x86_64-k1om-linux
make_lua "babbage/mic/lua"
make_ah "babbage/mic/activeharmony"
make_boost "babbage/mic/boost" toolset=intel

echo ""
echo "Building HPX Debug version for the XeonPhi"
BUILD_TYPE=Debug
PREFIX="babbage/mic"
TOOLCHAIN_FILE=XeonPhi.cmake
MPI_CXX_COMPILER=/opt/intel/impi/5.1.1.109/mic/bin/mpicxx
MPI_C_COMPILER=/opt/intel/impi/5.1.1.109/mic/bin/mpicc
CXXFLAGS="-std=c++14 -mmic"
hpx_cmake

echo ""
echo "Building HPX Release version for the XeonPhi"
BUILD_TYPE=Release
PREFIX="babbage/mic"
TOOLCHAIN_FILE=XeonPhi.cmake
MPI_CXX_COMPILER=/opt/intel/impi/5.1.1.109/mic/bin/mpicxx
MPI_C_COMPILER=/opt/intel/impi/5.1.1.109/mic/bin/mpicc
CXXFLAGS="-std=c++14 -mmic"
hpx_cmake


echo ""
echo "Building dependencies for the Host"
CC=
CXX=

load_modules "${MODULES_HOST}"
CC=icc
CXX=icpc
CFLAGS=
CXXFLAGS="-std=c++14"
LDFLAGS="-std=c++14"
make_hwloc "babbage/hwloc/host"
make_jemalloc "babbage/jemalloc/mic"
make_boost "babbage/boost/host" toolset=intel
LDFLAGS=""
make_hwloc "babbage/host/hwloc"
make_jemalloc "babbage/host/jemalloc"
make_lua "babbage/host/lua"
make_ah "babbage/host/activeharmony"
make_boost "babbage/host/boost" toolset=intel

TOOLCHAIN_FILE=
MPI_CXX_COMPILER=
MPI_C_COMPILER=

echo ""
echo "Building HPX Debug version for the Host"
BUILD_TYPE=Debug
PREFIX="babbage/host"
hpx_cmake

echo ""
echo "Building HPX Release version for the Host"
BUILD_TYPE=Release
PREFIX="babbage/host"
hpx_cmake

MODULES="cmake intel impi gcc papi/mic-5.3.0 tau/2.24.2"
create_modulefile hpx mic-0.9.11-debug "${MODULES}" $BASE_PATH/packages/babbage/mic/hpx/Debug
create_modulefile hpx mic-0.9.11-release "${MODULES}" $BASE_PATH/packages/babbage/mic/hpx/Release
MODULES="cmake intel impi gcc papi/host-5.3.0 tau/2.24.2"
create_modulefile hpx host-0.9.11-debug "${MODULES}" $BASE_PATH/packages/babbage/host/hpx/Debug
create_modulefile hpx host-0.9.11-release "${MODULES}" $BASE_PATH/packages/babbage/host/hpx/Release

MODULEPATH=$MODULEPATH_BAK
3 changes: 3 additions & 0 deletions edison/env.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@

TAU_MODULEPATH=/project/projectdirs/xpress/tau2-hpx-edison/modulefiles
HPX_MODULEPATH=$BASE_PATH/modulefiles/edison/hpx
7 changes: 7 additions & 0 deletions edison/info.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
VALID=false
if hostname | grep -q '^edison'
then
VALID=true
fi

NAME="Edison"
51 changes: 51 additions & 0 deletions edison/install.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@

prepare_hwloc
prepare_jemalloc
prepare_lua
prepare_ah
prepare_boost
prepare_hpx

MODULES="cmake/3.0.0 PrgEnv-intel cray-mpich gcc papi tau/2.24.2"

echo "Building dependencies for the Compute Nodes"

MODULEPATH_BAK=$MODULEPATH
MODULEPATH=/project/projectdirs/xpress/tau2-hpx-edison/modulefiles:$MODULEPATH

CC=gcc
CXX=g++
CFLAGS=
CXXFLAGS="-std=c++14"
LDFLAGS=""

load_modules "${MODULES}"
make_hwloc "edison/hwloc"
make_jemalloc "edison/jemalloc"
make_lua "edison/lua"
make_ah "edison/activeharmony"
CC=
CXX=
CFLAGS=
CXXFLAGS="-std=c++14"
LDFLAGS=""
make_boost "edison/boost" toolset=intel

echo ""
echo "Building HPX Debug version for the Compute Nodes"
BUILD_TYPE=Debug
PREFIX="edison"
TOOLCHAIN_FILE=Cray-Intel.cmake
hpx_cmake

echo ""
echo "Building HPX Release version for the Compute Nodes"
BUILD_TYPE=Release
PREFIX="edison"
TOOLCHAIN_FILE=Cray-Intel.cmake
hpx_cmake

create_modulefile hpx 0.9.11-debug "${MODULES}" $BASE_PATH/packages/edison/hpx/Debug
create_modulefile hpx 0.9.11-release "${MODULES}" $BASE_PATH/packages/edison/hpx/Release

MODULEPATH=$MODULEPATH_BAK
64 changes: 64 additions & 0 deletions env.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
#!/bin/bash

BASE_PATH=`dirname $(readlink -e $BASH_SOURCE)`

function do_exit()
{
unset HOSTS
unset BASE_PATH
unset HOST_PATH
unset MODULEPATH_BAK
}

HOSTS=
for host in `find $BASE_PATH -maxdepth 1 -type d`
do
if [ -e ${host}/info.sh ]
then
HOSTS="${host} ${HOSTS}"
fi
done

if [ x"$1" == x"--help" ]
then
echo "Available hosts:"
fi
for host in $HOSTS
do
source ${host}/info.sh
if [ x"$1" == x"--help" ]
then
echo " - ${NAME}"
fi
if [ x"${VALID}" == x"true" ]
then
current_host=${NAME}
HOST_PATH=${host}
fi
done

if [ x"$1" == x"--help" ]
then
echo ""
fi

if [ x"${current_host}" != x"" ]
then
echo "Loading environment for $current_host"
echo ""
else
echo "hostname \"$(hostname)\" is not supported."
do_exit
fi

. $HOST_PATH/env.sh

MODULEPATH_BAK=$MODULEPATH

MODULEPATH=$TAU_MODULEPATH:$HPX_MODULEPATH
echo "Newly available modules:"
module avail

MODULEPATH=$MODULEPATH_BAK:$MODULEPATH

do_exit
55 changes: 55 additions & 0 deletions misc/active_harmony.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
function prepare_ah()
{
mkdir -p ${BASE_PATH}/source
cd ${BASE_PATH}/source

if [ ! -f ah-4.5.tar.gz ]
then
echo -n "Downloading active harmony ..."
wget -q http://www.dyninst.org/sites/default/files/downloads/harmony/ah-4.5.tar.gz
echo "done"
else
echo "Downloading active harmony ...done"
fi

if [ ! -d activeharmony-4.5 ]
then
echo -n "Unpacking active harmony ..."
tar xf ah-4.5.tar.gz
echo "done"
else
echo "Unpacking active harmony ...done"
fi

cd ${BASE_PATH}
}

function make_ah()
{
mkdir -p $BASE_PATH/source/activeharmony-4.5-$1
cp -r $BASE_PATH/source/activeharmony-4.5/* $BASE_PATH/source/activeharmony-4.5-$1/
cd $BASE_PATH/source/activeharmony-4.5-$1
TMP_LOG=$BASE_PATH/source/activeharmony-4.5-$1/$$.log
echo -n "Building active harmony ..."
make -j8 MPICC=mpicc_disabled CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" LDFLAGS="${LDFLAGS}" &> $TMP_LOG
if [ $? != 0 ]
then
echo "failed"
tail -n 100 $TMP_LOG
exit 1
fi
echo "done"
echo -n "Installing active harmony ..."
if [ ! -f $BASE_PATH/packages/$1/lib/libharmony.a ]
then
make -j8 MPICC=mpicc_disabled CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" LDFLAGS="${LDFLAGS}" PREFIX=$BASE_PATH/packages/$1 install &> $TMP_LOG
if [ $? != 0 ]
then
echo "failed"
tail -n 100 $TMP_LOG
exit 1
fi
fi
echo "done"
cd $BASE_PATH
}
42 changes: 35 additions & 7 deletions misc/boost.sh
Original file line number Diff line number Diff line change
Expand Up @@ -26,14 +26,28 @@ function prepare_boost()

function make_boost()
{
mkdir -p $BASE_PATH/source/boost_1_59_0/$1
ln -sf $BASE_PATH/source/boost_1_59_0/* $BASE_PATH/source/boost_1_59_0/$1/
cd $BASE_PATH/source/boost_1_59_0/$1/
mkdir -p $BASE_PATH/packages/$1
ln -sf $BASE_PATH/source/boost_1_59_0/* $BASE_PATH/packages/$1/
cd $BASE_PATH/packages/$1/
TMP_LOG=$BASE_PATH/packages/$1/$$.log
echo -n "Bootstrapping boost ..."
if [ ! -f b2 ]
then
./bootstrap.sh
./bootstrap.sh &> $TMP_LOG
if [ $? != 0 ]
then
echo "failed"
tail -n 100 $TMP_LOG
exit 1
fi
fi
echo $2
echo "done"
LINKFLAGS=
if [ x"$LDFLAGS" != x"" ]
then
LINKFLAGS="linkflags=\"$LDFLAGS\""
fi
echo -n "Building boost ..."
./b2 -j8 --without-mpi \
--withou-python \
--without-log \
Expand All @@ -42,9 +56,23 @@ function make_boost()
--without-test \
--without-graph_parallel \
--without-math \
--without-iostreams \
--without-context \
--without-coroutine \
--without-coroutine2 \
--without-signals \
--without-container \
--without-locale \
--without-wave \
variant=release \
$2 \
cxxflags="$CXXFLAGS" \
ldflags="$LDFLAGS"
echo ""
$LINKFLAGS &> $TMP_LOG
if [ $? != 0 ]
then
echo "failed"
tail -n 100 $TMP_LOG
exit 1
fi
echo "done"
}
Loading

0 comments on commit 0952c9e

Please sign in to comment.