52 lines
1.7 KiB
Bash
Executable File
52 lines
1.7 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Exit on error:
|
|
set -e
|
|
|
|
# Check for required env variables ONNX_MLIR_DEP_DIR, LLVM_PROJECT_ROOT
|
|
if [[ -z "${ONNX_MLIR_DEP_DIR}" ]]; then
|
|
echo "ONNX_MLIR_DEP_DIR env var is missing."
|
|
exit 1
|
|
fi
|
|
|
|
if [[ -z "${LLVM_PROJECT_ROOT}" ]]; then
|
|
echo "LLVM_PROJECT_ROOT env var is missing."
|
|
exit 1
|
|
fi
|
|
|
|
# Set up env variables to expose onnx-mlir dependencies:
|
|
export PATH=$ONNX_MLIR_DEP_DIR/bin:$PATH
|
|
export LD_LIBRARY_PATH=$ONNX_MLIR_DEP_DIR/lib:$ONNX_MLIR_DEP_DIR/lib64:
|
|
export CPATH=$ONNX_MLIR_DEP_DIR/include:$CPATH
|
|
export PATH=$ONNX_MLIR_DEP_DIR/bin:$PATH
|
|
|
|
# Set up mock installation path within current workspace:
|
|
export INSTALL_PATH=$WORKSPACE/INSTALL_PATH
|
|
mkdir -p "$INSTALL_PATH"
|
|
export PATH=$INSTALL_PATH/bin:$PATH
|
|
export LD_LIBRARY_PATH=$INSTALL_PATH/lib:$INSTALL_PATH/lib64:$LD_LIBRARY_PATH
|
|
export CPATH=$INSTALL_PATH/include:$CPATH
|
|
|
|
# Create virtual environment specific to the current build instance:
|
|
conda create -n onnx_mlir_conda_workspace_"${BUILD_NUMBER}" python=3.7 numpy
|
|
source activate onnx_mlir_conda_workspace_"${BUILD_NUMBER}"
|
|
|
|
# Create build directory and generate make files:
|
|
mkdir build && cd build
|
|
CC=$ONNX_MLIR_DEP_DIR/bin/gcc \
|
|
CXX=$ONNX_MLIR_DEP_DIR/bin/g++ \
|
|
BOOST_ROOT=$ONNX_MLIR_DEP_DIR \
|
|
LLVM_SRC=$LLVM_PROJECT_ROOT/llvm \
|
|
LLVM_BUILD=$LLVM_PROJECT_ROOT/build \
|
|
cmake3 -DONNX_MLIR_ENABLE_MODEL_TEST_CPP=ON \
|
|
-DONNX_MLIR_ENABLE_BENCHMARK=ON \
|
|
-DCMAKE_INSTALL_PREFIX="$INSTALL_PATH" \
|
|
..
|
|
|
|
# Build and test:
|
|
make -j "$(nproc)" install
|
|
OMP_NUM_THREADS=20 OMP_THREAD_LIMIT=20 ctest3 -j "$(nproc)"
|
|
|
|
# Run lit+FileCheck tests:
|
|
make check-onnx-lit
|