Files
SDK_SG200x_V2/cviruntime/scripts/evb/build_x86_sdk.sh
carbon e25f20f7a3 add cviruntime
commit 3f4938648950a7f3bf9a19c320ca9fae7c52de20
Author: sophgo-forum-service <forum_service@sophgo.com>
Date:   Mon May 13 13:44:23 2024 +0800

    [feat] cviruntime opensource for cv18xx soc.

    - a4b6a3, add cumsum and gatherelements_pt.
2024-05-31 11:51:34 +08:00

155 lines
4.4 KiB
Bash
Executable File

#!/bin/bash
echo "$WORKSPACE"
PROJECT_ROOT=~/workspace/sdk
BUILD_PATH=$PROJECT_ROOT/build_x86_64
INSTALL_PATH=$PROJECT_ROOT/cvitek_tpu_sdk
pushd $PROJECT_ROOT
rm -rf $BUILD_PATH
rm -rf $INSTALL_PATH
mkdir -p $BUILD_PATH
mkdir -p $INSTALL_PATH
BUILD_FLAG="-DCMAKE_BUILD_TYPE=RELEASE -DCMAKE_C_FLAGS_RELEASE=-O3 -DCMAKE_CXX_FLAGS_RELEASE=-O3"
#build flatbuffers
mkdir -p $BUILD_PATH/flatbuffers
pushd $BUILD_PATH/flatbuffers
cmake -G Ninja \
$PROJECT_ROOT/flatbuffers \
-DCMAKE_INSTALL_PREFIX=$INSTALL_PATH/flatbuffers
cmake --build . --target install
test $? -ne 0 && echo "build flatbuffers failed !!" && popd && exit 1
popd
#build cvikernel
mkdir -p $BUILD_PATH/cvikernel
pushd $BUILD_PATH/cvikernel
cmake -G Ninja -DCHIP=BM1880v2 $BUILD_FLAG \
-DCMAKE_INSTALL_PREFIX=$INSTALL_PATH/tpuc \
$PROJECT_ROOT/cvikernel
cmake --build . --target install
test $? -ne 0 && echo "build cvikernel failed !!" && popd && exit 1
popd
# cvibuilder
mkdir -p $BUILD_PATH/cvimodel
pushd $BUILD_PATH/cvimodel
cmake -G Ninja -DFLATBUFFERS_PATH=$INSTALL_PATH/flatbuffers \
-DCMAKE_INSTALL_PREFIX=$INSTALL_PATH/tpuc \
$PROJECT_ROOT/cvibuilder
cmake --build . --target install
test $? -ne 0 && echo "build cvibuilder failed !!" && popd && exit 1
popd
#build cnpy
mkdir -p $BUILD_PATH/cnpy
pushd $BUILD_PATH/cnpy
cmake -G Ninja \
-DCMAKE_INSTALL_PREFIX=$INSTALL_PATH/cnpy \
$PROJECT_ROOT/cnpy
cmake --build . --target install
test $? -ne 0 && echo "build cnpy failed !!" && popd && exit 1
popd
cp $INSTALL_PATH/cnpy/lib/* $INSTALL_PATH/tpuc/lib/
#build opencv
mkdir -p $BUILD_PATH/opencv
pushd $BUILD_PATH/opencv
cmake -G Ninja \
$PROJECT_ROOT/oss/opencv \
-DWITH_CUDA=OFF -DWITH_IPP=OFF -DWITH_LAPACK=OFF \
-DWITH_DC1394=OFF -DWITH_GPHOTO2=OFF \
-DCMAKE_BUILD_TYPE=RELEASE \
-DPYTHON_DEFAULT_EXECUTABLE=$(which python3) \
-DBUILD_opencv_videoio=OFF \
-DBUILD_opencv_superres=OFF \
-DBUILD_opencv_videostab=OFF \
-DBUILD_opencv_stitching=OFF \
-DBUILD_opencv_objdetect=OFF \
-DBUILD_opencv_calib3d=OFF \
-DBUILD_opencv_ml=OFF \
-DBUILD_opencv_video=OFF \
-DBUILD_opencv_flann=OFF \
-DBUILD_opencv_photo=OFF \
-DCMAKE_INSTALL_PREFIX=$INSTALL_PATH/opencv
cmake --build . --target install
test $? -ne 0 && echo "build opencv failed !!" && popd && exit 1
popd
#build cmodel
mkdir -p $BUILD_PATH/cmodel
pushd $BUILD_PATH/cmodel
cmake -G Ninja -DCHIP=BM1880v2 $BUILD_FLAG \
-DCVIKERNEL_PATH=$INSTALL_PATH/tpuc \
-DCMAKE_INSTALL_PREFIX=$INSTALL_PATH/tpuc \
$PROJECT_ROOT/cmodel
cmake --build . --target install
test $? -ne 0 && echo "build cmodel failed !!" && popd && exit 1
popd
#build cviruntime
mkdir -p $BUILD_PATH/cviruntime
pushd $BUILD_PATH/cviruntime
cmake -G Ninja -DCHIP=BM1880v2 -DRUNTIME=CMODEL $BUILD_FLAG \
-DCVIKERNEL_PATH=$INSTALL_PATH/tpuc \
-DCMODEL_PATH=$INSTALL_PATH/tpuc \
-DENABLE_PYRUNTIME=ON \
-DFLATBUFFERS_PATH=$INSTALL_PATH/flatbuffers \
-DCNPY_PATH=$INSTALL_PATH/cnpy \
-DCVIBUILDER_PATH=$INSTALL_PATH/tpuc \
-DCMAKE_INSTALL_PREFIX=$INSTALL_PATH/tpuc \
-DENABLE_TEST=OFF \
$PROJECT_ROOT/cviruntime
cmake --build . --target install
test $? -ne 0 && echo "build cviruntime failed !!" && popd && exit 1
#ctest --progress || true
rm -f $INSTALL_PATH/tpuc/README.md
# rm -f $INSTALL_PATH/tpuc/envs_tpu_sdk.sh
rm -f $INSTALL_PATH/tpuc/regression_models.sh
rm -f $INSTALL_PATH/tpuc/regression_models_e2e.sh
rm -f $INSTALL_PATH/tpuc/regression_models_fused_preprocess.sh
popd
#adjust the directory
pushd $INSTALL_PATH
mkdir -p ./bin
mv ./cnpy/bin/* ./bin
rm -rf ./cnpy/bin
mv ./tpuc/bin/* ./bin
mv ./tpuc/include ./
mv ./tpuc/lib ./
mv ./tpuc/envs_tpu_sdk.sh .
rm -rf ./tpuc
popd
#build samples
mkdir -p $BUILD_PATH/samples
pushd $BUILD_PATH/samples
cmake -G Ninja $BUILD_FLAG \
-DTPU_SDK_PATH=$INSTALL_PATH \
-DCNPY_PATH=$INSTALL_PATH/cnpy \
-DOPENCV_PATH=$INSTALL_PATH/opencv \
-DCMAKE_INSTALL_PREFIX=$INSTALL_PATH/samples \
$PROJECT_ROOT/cviruntime/samples
cmake --build . --target install -- -v
test $? -ne 0 && echo "build samples failed !!" && popd && exit 1
popd
#get tpu_sdk_version
pushd $INSTALL_PATH
RELEASE_PATH="/data/dailyrelease/$(date '+%Y-%m-%d')-18.04"
version="$(./bin/model_runner | grep Runtime | cut -d ")" -f2 | cut -d "@" -f1)"
cat>$RELEASE_PATH/tpu_sdk_version.txt<<EOF
$version
EOF
popd
tar -zcf cvitek_tpu_sdk_x86_64.tar.gz cvitek_tpu_sdk
rm -rf $INSTALL_PATH
rm -rf $BUILD_PATH
popd