Skip to content

Tesseract CPU compilation

Peter Boyle edited this page Oct 25, 2019 · 1 revision
####################################
# Grid directory and support directory
####################################
export prefix=$HOME/prefix
export grid=$HOME/GridCompile
mkdir $prefix
mkdir $grid

##################
#LIME
##################
cd $prefix
wget http://usqcd-software.github.io/downloads/c-lime/lime-1.3.2.tar.gz
tar xvzf lime-1.3.2.tar.gz
cd lime-1.3.2
./configure --prefix $prefix
make all install

##################
#GMP - tesseract is badly configured
##################
cd $prefix
wget https://ftp.gnu.org/gnu/gmp/gmp-6.1.2.tar.bz2
tar xvjf gmp-6.1.2.tar.bz2
cd gmp-6.1.2
./configure --prefix $prefix
make all install

##################
#MPFR - summit is badly configured
##################
cd $prefix
wget https://www.mpfr.org/mpfr-current/mpfr-4.0.2.tar.gz
tar xvzf mpfr-4.0.2.tar.gz
cd mpfr-4.0.2
./configure --prefix $prefix --with-gmp=$prefix
make all install

###############
# FFTW
###############
cd $prefix
wget http://www.fftw.org/fftw-3.3.8.tar.gz
tar xvzf fftw-3.3.8.tar.gz
cd fftw-3.3.8
./configure --prefix $prefix  --enable-avx2 --enable-float --enable-


##################
#OpenSSL
##################
cd $prefix
wget  https://www.openssl.org/source/openssl-1.1.0l.tar.gz
tar xvzf openssl-1.1.0l.tar.gz
cd openssl-1.1.0l
./config --prefix=$prefix
make all install

##################
#Obtain Grid and support codes
##################
cd $grid
git clone https://paboyle@github.com/paboyle/Grid
cd Grid
./bootstrap.sh


#########################
# build for CPU
#########################
module load intel-tools-18
mkdir build-cpu
cd build-cpu

source /home/dp008/dp008/paboyle/Modules/hdf5/module.sh

../configure --enable-comms=mpi-auto     \
             --enable-simd=AVX2          \
             --prefix $HOME/prefix-cpu   \
             CXX=g++                     \
             MPICXX=mpiicpc              \
             LDFLAGS=-L$HOME/prefix/lib/ \
             CXXFLAGS="-I$HOME/prefix/include/ -std=c++11 -fpermissive"
make -j 24
make install

#
# Test job
qsub -IVl select=1:ncpus=24,place=scatter,walltime=0:20:0 -A dp008
module load gcc
module load intel-tools-18
export I_MPI_PIN=1
export LD_LIBRARY_PATH=$HOME/prefix/lib:$LD_LIBRARY_PATH
mpirun -np 2 -ppn 2 ./Benchmark_dwf --mpi 2.1.1.1 --grid 32.16.16.16