blob: 738f9bb58b6808c5b480f15206b1757ffac24250 [file] [log] [blame] [edit]
#!/bin/bash
BENCHDIR="$( cd "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )"
# install dependencies
sudo apt update -y
sudo apt install gcc g++ gfortran cmake libboost-all-dev python autoconf libblas-dev -y
# Disable hyperthreading/etc
cd "$BENCHDIR"
sudo ./hyper.sh
# Build LLVM 8
git clone https://github.com/llvm/llvm-project -b release/8.x ~/llvm-project
cd ~/llvm-project
mkdir build
cd build
cmake ../llvm -DLLVM_ENABLE_PROJECTS="clang" -DLLVM_TARGETS_TO_BUILD="X86" -DLLVM_ENABLE_ASSERTIONS=ON -DCMAKE_BUILD_TYPE=Release
make -j16
# Build Enzyme
cd "$BENCHDIR"/..
mkdir build
cd build
cmake .. -DLLVM_DIR="$HOME/llvm-project/build/lib/cmake/llvm" -DLLVM_EXTERNAL_LIT="$HOME/llvm-project/build/bin/llvm-lit"
make -j16
make bench-ba bench-lstm bench-gmm bench-odeconst bench-ode bench-fft bench-odereal
cd "$BENCHDIR"
#echo "Pre optimization"
#./getdata.sh
for z in ba lstm gmm ode-const ode fft ode-real;
do
cp $z/Makefile.makeafter $z/Makefile.make
done
cd "$BENCHDIR"/../build
make bench-ba bench-lstm bench-gmm bench-odeconst bench-ode bench-fft bench-odereal
#echo "Post optimization"
#cd "$BENCHDIR"
#./getdataafter.sh