Commit d1fe910c authored by Andreas Gocht's avatar Andreas Gocht

change to MPICH

parent f72d01d8
Bootstrap: docker
From: debian:testing
%help
"This container uses debian testing with OpenMPI and mpi4py. It has a build-in Score-P support."
"Building and tracing apps using Score-P for gcc, g++, gfortran and python2/3 should work."
"For scorep have a look to http://www.vi-hps.org/projects/score-p/ ."
"For python tracing, please have a look to https://github.com/score-p/scorep_binding_python ."
%runscript
echo "This is what happens when you run the container..."
%files
mca-btl-openib-device-params.ini /tmp/
%post
echo "Hello from inside the container"
#sed -i 's/$/ universe/' /etc/apt/sources.list
apt-get update
apt-get dist-upgrade -y
apt-get -y install vim
# build environment
apt-get -y install wget curl build-essential make g++ gfortran openmpi-bin openmpi-common git subversion cmake python python3 python-pip python3-pip
# infiniband
apt-get -y install libibverbs1
#apt-get -y install libmlx4-1 libmlx5-1
apt-get -y install ibverbs-providers
gcc --version
apt-get -y install wget curl build-essential make g++ gfortran mpich git subversion cmake python python3 python-pip python3-pip
# mkdir -p /etc/libibverbs.d
# mkdir -p /extern
# ln -sf /extern/lib64/libmlx4.a /usr/local/lib/libmlx4.a
# ln -sf /extern/lib64/libmlx5.a /usr/local/lib/libmlx5.a
# ln -sf /extern/lib64/libmlx4-rdmav2.so /usr/local/lib/libmlx4-rdmav2.so
# ln -sf /extern/lib64/libmlx5-rdmav2.so /usr/local/lib/libmlx5-rdmav2.so
mv /tmp/mca-btl-openib-device-params.ini /usr/share/openmpi/
###################################
# setup infiniband on taurus
###################################
if [ ! -d /apps ]; then
# apt-get -y install libibverbs1 ibverbs-providers
# mv /tmp/mca-btl-openib-device-params.ini /usr/share/openmpi/
mkdir /apps
mkdir /scratch
mkdir /sw
mkdir /projects
if [ ! -d /apps ]; then
mkdir /apps
mkdir /scratch
mkdir /sw
mkdir /projects
fi
###################################
......@@ -47,40 +43,49 @@ From: debian:testing
###################################
# scorep requirements
apt-get -y install libopenmpi-dev zlib1g-dev autotools-dev automake autoconf
apt-get -y install gcc-7-plugin-dev
apt-get -y install flex bison
# apt-get -y install libopenmpi-dev zlib1g-dev autotools-dev automake autoconf gcc-7-plugin-dev flex bison
# apt-get -y install libpmi2-0-dev
apt-get -y install libmpich-dev zlib1g-dev autotools-dev automake autoconf gcc-7-plugin-dev flex bison libtool texinfo
cd /apps
if [ ! -d scorep ]; then
svn co --username scorep --password foo42bar https://silc.zih.tu-dresden.de/svn/hooks-root/afs-dev/tags/REL-05/
cd REL-05/
./install-scorep-dev.05.sh --prefix=/usr/local
export PATH=/usr/local/bin:$PATH
cd /apps
svn co --username scorep --password foo42bar https://silc.zih.tu-dresden.de/svn/silc-root/trunk scorep
cd scorep
./bootstrap
mkdir build
cd build
../configure '--prefix=/usr/' \
'--with-libbfd=no' \
'--with-libhdf5=no'\
'--with-nocross-compiler-suite=gcc' \
'--with-mpi=openmpi' \
'--without-gui' \
'--disable-silent-rules' \
'--enable-backend-test-runs' \
'--enable-static=no' \
'--enable-shared=yes' \
'--enable-debug' \
'CFLAGS=-g' \
'CXXFLAGS=-g'
make -j 4
make install
#get a recent Score-P from trunk (the only one that have the gcc-7 patch)
svn co --username scorep --password foo42bar https://silc.zih.tu-dresden.de/svn/hooks-root/afs-dev/tags/REL-06/
cd REL-06/
./install-scorep-dev.06.sh --prefix=/usr/local
export PATH=/usr/local/bin:$PATH
m4 --version
autoconf --version
libtool --version
cd /apps
svn co --username scorep --password foo42bar https://silc.zih.tu-dresden.de/svn/silc-root/trunk scorep
cd scorep
./bootstrap
mkdir build
cd build
../configure '--prefix=/usr/' \
'--with-libbfd=no' \
'--with-libhdf5=no'\
'--with-nocross-compiler-suite=gcc' \
'--with-mpi=mpich3' \
'--without-gui' \
'--disable-silent-rules' \
'--enable-backend-test-runs' \
'--enable-static=no' \
'--enable-shared=yes' \
'--enable-debug' \
'CFLAGS=-g' \
'CXXFLAGS=-g'
make -j 4 # just for my notebook, you might want to use a higher number
make install
fi
......@@ -94,38 +99,38 @@ From: debian:testing
cd /apps
if [ ! -d scorep_binding_python ]; then
git clone https://github.com/score-p/scorep_binding_python
cd scorep_binding_python
python setup.py install
python3 setup.py install
git clone https://github.com/score-p/scorep_binding_python
cd scorep_binding_python
python setup.py install
python3 setup.py install
fi
###################################
# mpi4py
###################################
cd /apps
pip install mpi4py
pip3 install mpi4py
###################################
# espressopp
###################################
apt-get -y install libfftw3-dev
#apt-get -y autoremove --purge python-mpi4py
pip install mpi4py
apt-get -y install libboost-dev libboost-mpi-dev libboost-python-dev libboost-serialization-dev libboost-system-dev libboost-filesystem-dev
apt-get -y install python-numpy
cd /apps
if [ ! -d espressopp ]; then
git clone https://github.com/espressopp/espressopp.git
cd espressopp
mkdir build
cd build
SCOREP_WRAPPER=off cmake -DEXTERNAL_BOOST=ON -DEXTERNAL_MPI4PY=ON -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_CXX_COMPILER='scorep-mpicxx' -DCMAKE_Fortran_COMPILER='scorep-mpif90' -DCMAKE_C_COMPILER='scorep-mpicc' ..
make -j 4
make install
git clone https://github.com/espressopp/espressopp.git
cd espressopp
mkdir build
cd build
SCOREP_WRAPPER=off cmake -DEXTERNAL_BOOST=ON -DEXTERNAL_MPI4PY=ON -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_CXX_COMPILER='scorep-mpicxx' -DCMAKE_Fortran_COMPILER='scorep-mpif90' -DCMAKE_C_COMPILER='scorep-mpicc' ..
make -j 4
make install
fi
# srun -p interactive -N 1 -n 2 singularity exec --bind /etc/libibverbs.d/:/etc/libibverbs.d/ --bind /usr:/extern debian.img /scratch/gocht/container/run
# srun -p interactive -N 1 -n 1 singularity shell --bind /etc/libibverbs.d/:/etc/libibverbs.d/ --bind /usr:/extern debian.img
# libmlx4-rdmav2.so
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment