forked from mindspore-Ecosystem/mindspore
commit
b75943f220
|
@ -4,6 +4,20 @@ mindspore/lib
|
||||||
output
|
output
|
||||||
*.ir
|
*.ir
|
||||||
|
|
||||||
|
# flatbuffer
|
||||||
|
mindspore/lite/tools/converter/parser/tflite/schema_generated.h
|
||||||
|
mindspore/lite/tools/converter/parser/caffe/caffe.pb.cc
|
||||||
|
mindspore/lite/tools/converter/parser/caffe/caffe.pb.h
|
||||||
|
mindspore/lite/tools/converter/parser/onnx/onnx.pb.h
|
||||||
|
mindspore/lite/tools/converter/parser/onnx/onnx.pb.h
|
||||||
|
mindspore/lite/tools/converter/schema/*.h
|
||||||
|
mindspore/lite/tools/converter/schema/inner
|
||||||
|
mindspore/lite/schema/*.h
|
||||||
|
mindspore/lite/schema/inner
|
||||||
|
|
||||||
|
mindspore/lite/src/runtime/kernel/opencl/cl/fp16/*.inc
|
||||||
|
mindspore/lite/src/runtime/kernel/opencl/cl/fp32/*.inc
|
||||||
|
|
||||||
# Cmake files
|
# Cmake files
|
||||||
CMakeFiles/
|
CMakeFiles/
|
||||||
cmake_install.cmake
|
cmake_install.cmake
|
||||||
|
@ -71,5 +85,3 @@ test_temp_summary_event_file/
|
||||||
mindspore/version.py
|
mindspore/version.py
|
||||||
mindspore/default_config.py
|
mindspore/default_config.py
|
||||||
mindspore/.commit_id
|
mindspore/.commit_id
|
||||||
onnx.proto
|
|
||||||
mindspore/ccsrc/onnx.proto
|
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
[submodule "third_party/flatbuffers"]
|
[submodule "third_party/flatbuffers"]
|
||||||
path = third_party/flatbuffers
|
path = third_party/flatbuffers
|
||||||
url = https://github.com/google/flatbuffers.git
|
url = https://github.com/google/flatbuffers.git
|
||||||
|
ignore = all
|
||||||
[submodule "third_party/googletest"]
|
[submodule "third_party/googletest"]
|
||||||
path = third_party/googletest
|
path = third_party/googletest
|
||||||
url = https://github.com/google/googletest.git
|
url = https://github.com/google/googletest.git
|
||||||
|
@ -10,9 +11,16 @@
|
||||||
[submodule "third_party/protobuf"]
|
[submodule "third_party/protobuf"]
|
||||||
path = third_party/protobuf
|
path = third_party/protobuf
|
||||||
url = https://github.com/protocolbuffers/protobuf.git
|
url = https://github.com/protocolbuffers/protobuf.git
|
||||||
|
ignore = all
|
||||||
[submodule "akg"]
|
[submodule "akg"]
|
||||||
path = akg
|
path = akg
|
||||||
url = https://gitee.com/mindspore/akg.git
|
url = https://gitee.com/mindspore/akg.git
|
||||||
[submodule "graphengine"]
|
[submodule "graphengine"]
|
||||||
path = graphengine
|
path = graphengine
|
||||||
url = https://gitee.com/mindspore/graphengine.git
|
url = https://gitee.com/mindspore/graphengine.git
|
||||||
|
[submodule "third_party/OpenCL-CLHPP"]
|
||||||
|
path = third_party/OpenCL-CLHPP
|
||||||
|
url = https://github.com/KhronosGroup/OpenCL-CLHPP.git
|
||||||
|
[submodule "third_party/OpenCL-Headers"]
|
||||||
|
path = third_party/OpenCL-Headers
|
||||||
|
url = https://github.com/KhronosGroup/OpenCL-Headers.git
|
||||||
|
|
376
build.sh
376
build.sh
|
@ -25,7 +25,8 @@ usage()
|
||||||
echo "Usage:"
|
echo "Usage:"
|
||||||
echo "bash build.sh [-d] [-r] [-v] [-c on|off] [-t on|off] [-g on|off] [-h] [-b ge] [-m infer|train] \\"
|
echo "bash build.sh [-d] [-r] [-v] [-c on|off] [-t on|off] [-g on|off] [-h] [-b ge] [-m infer|train] \\"
|
||||||
echo " [-a on|off] [-Q on|off] [-p on|off] [-i] [-L] [-R] [-D on|off] [-j[n]] [-e gpu|d|cpu] \\"
|
echo " [-a on|off] [-Q on|off] [-p on|off] [-i] [-L] [-R] [-D on|off] [-j[n]] [-e gpu|d|cpu] \\"
|
||||||
echo " [-P on|off] [-z [on|off]] [-M on|off] [-V 9.2|10.1] [-I] [-K] [-B on|off] [-w on|off] [-E] [-l on|off]"
|
echo " [-P on|off] [-z [on|off]] [-M on|off] [-V 9.2|10.1] [-I arm64|arm32|x86_64] [-K] \\"
|
||||||
|
echo " [-B on|off] [-w on|off] [-E] [-l on|off]"
|
||||||
echo ""
|
echo ""
|
||||||
echo "Options:"
|
echo "Options:"
|
||||||
echo " -d Debug mode"
|
echo " -d Debug mode"
|
||||||
|
@ -51,7 +52,7 @@ usage()
|
||||||
echo " -z Compile dataset & mindrecord, default on"
|
echo " -z Compile dataset & mindrecord, default on"
|
||||||
echo " -M Enable MPI and NCCL for GPU training, gpu default on"
|
echo " -M Enable MPI and NCCL for GPU training, gpu default on"
|
||||||
echo " -V Specify the minimum required cuda version, default CUDA 10.1"
|
echo " -V Specify the minimum required cuda version, default CUDA 10.1"
|
||||||
echo " -I Compile predict, default off"
|
echo " -I Compile lite"
|
||||||
echo " -K Compile with AKG, default on"
|
echo " -K Compile with AKG, default on"
|
||||||
echo " -s Enable serving module, default off"
|
echo " -s Enable serving module, default off"
|
||||||
echo " -w Enable acl module, default off"
|
echo " -w Enable acl module, default off"
|
||||||
|
@ -93,9 +94,10 @@ checkopts()
|
||||||
COMPILE_MINDDATA="on"
|
COMPILE_MINDDATA="on"
|
||||||
ENABLE_MPI="off"
|
ENABLE_MPI="off"
|
||||||
CUDA_VERSION="10.1"
|
CUDA_VERSION="10.1"
|
||||||
COMPILE_PREDICT="off"
|
COMPILE_LITE="off"
|
||||||
|
LITE_PLATFORM=""
|
||||||
|
SUPPORT_TRAIN="off"
|
||||||
USE_GLOG="on"
|
USE_GLOG="on"
|
||||||
PREDICT_PLATFORM=""
|
|
||||||
ENABLE_AKG="on"
|
ENABLE_AKG="on"
|
||||||
ENABLE_SERVING="off"
|
ENABLE_SERVING="off"
|
||||||
ENABLE_ACL="off"
|
ENABLE_ACL="off"
|
||||||
|
@ -240,13 +242,16 @@ checkopts()
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
I)
|
I)
|
||||||
COMPILE_PREDICT="on"
|
COMPILE_LITE="on"
|
||||||
if [[ "$OPTARG" == "arm64" ]]; then
|
if [[ "$OPTARG" == "arm64" ]]; then
|
||||||
PREDICT_PLATFORM="arm64"
|
LITE_PLATFORM="arm64"
|
||||||
|
elif [[ "$OPTARG" == "arm32" ]]; then
|
||||||
|
LITE_PLATFORM="arm32"
|
||||||
elif [[ "$OPTARG" == "x86_64" ]]; then
|
elif [[ "$OPTARG" == "x86_64" ]]; then
|
||||||
PREDICT_PLATFORM="x86_64"
|
ENABLE_CONVERTER="on"
|
||||||
|
LITE_PLATFORM="x86_64"
|
||||||
else
|
else
|
||||||
echo "-I parameter must be arm64 or x86_64"
|
echo "-I parameter must be arm64、arm32 or x86_64"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
|
@ -382,128 +387,247 @@ build_mindspore()
|
||||||
echo "success to build mindspore project!"
|
echo "success to build mindspore project!"
|
||||||
}
|
}
|
||||||
|
|
||||||
build_predict()
|
checkndk() {
|
||||||
{
|
if [ "${ANDROID_NDK}" ]; then
|
||||||
git submodule update --init --recursive third_party/incubator-tvm
|
echo -e "\e[31mANDROID_NDK_PATH=$ANDROID_NDK \e[0m"
|
||||||
echo "start build predict project"
|
|
||||||
|
|
||||||
git submodule update --init --recursive third_party/flatbuffers
|
|
||||||
git submodule update --init --recursive third_party/googletest
|
|
||||||
git submodule update --init --recursive third_party/protobuf
|
|
||||||
|
|
||||||
rm -rf "${BASEPATH}/predict/build"
|
|
||||||
mkdir -pv "${BASEPATH}/predict/build"
|
|
||||||
rm -rf "${BASEPATH}/predict/output"
|
|
||||||
mkdir -pv "${BASEPATH}/predict/output"
|
|
||||||
|
|
||||||
if [[ "$PREDICT_PLATFORM" == "arm64" ]]; then
|
|
||||||
if [ "${ANDROID_NDK}" ]; then
|
|
||||||
echo -e "\e[31mANDROID_NDK_PATH=$ANDROID_NDK \e[0m"
|
|
||||||
else
|
|
||||||
echo -e "\e[31mplease set ANDROID_NDK_PATH in environment variable for example: export ANDROID_NDK=/root/usr/android-ndk-r16b/ \e[0m"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
#build flatbuf
|
|
||||||
cd "${BASEPATH}/third_party/flatbuffers"
|
|
||||||
rm -rf build && mkdir -p build && cd build && cmake .. && make -j$THREAD_NUM
|
|
||||||
FLATC="${BASEPATH}"/third_party/flatbuffers/build/flatc
|
|
||||||
cd "${BASEPATH}"/predict/schema && mkdir -p "${BASEPATH}"/predict/schema/inner
|
|
||||||
find . -name "*.fbs" -print0 | xargs -0 "${FLATC}" -c -b
|
|
||||||
find . -name "*.fbs" -print0 | xargs -0 "${FLATC}" -c -b --reflect-types --gen-mutable --reflect-names --gen-object-api -o ${BASEPATH}/predict/schema/inner
|
|
||||||
|
|
||||||
# check LLVM_PATH
|
|
||||||
if [ "${LLVM_PATH}" == "" ]; then
|
|
||||||
echo "Please set LLVM_PATH in env for example export LLVM_PATH=/xxxx/bin/llvm-config"
|
|
||||||
exit
|
|
||||||
fi
|
|
||||||
|
|
||||||
#build tvm
|
|
||||||
tvm_open_source="${BASEPATH}/third_party/incubator-tvm"
|
|
||||||
tvm_kernel_build="${BASEPATH}/predict/module/tvm_kernel"
|
|
||||||
if [ ! -f "${tvm_kernel_build}"/incubator-tvm/build/libtvm.so ]; then
|
|
||||||
rm -fr "${tvm_kernel_build}"/incubator-tvm
|
|
||||||
cp -fr "${tvm_open_source}" "${tvm_kernel_build}"
|
|
||||||
mkdir -p "${tvm_kernel_build}"/incubator-tvm/build
|
|
||||||
patch -d "${tvm_kernel_build}"/incubator-tvm -p1 < "${BASEPATH}"/third_party/patch/predict/0001-RetBugFix-CustomRuntime_v06.patch
|
|
||||||
cp "${tvm_kernel_build}"/lite/src/codegen/llvm/lite_rtfunc_reset.cc "${tvm_kernel_build}"/incubator-tvm/src/codegen/llvm/
|
|
||||||
cp "${tvm_open_source}"/cmake/config.cmake "${tvm_kernel_build}"/incubator-tvm
|
|
||||||
if [ "${LLVM_PATH}" ]; then
|
|
||||||
sed -i "s#set(USE_LLVM .*)#set(USE_LLVM \"${LLVM_PATH}\")#g" "${tvm_kernel_build}"/incubator-tvm/config.cmake
|
|
||||||
else
|
|
||||||
echo "need set LLVM_PATH in env for example export LLVM_PATH=/xxxx/bin/llvm-config"
|
|
||||||
fi
|
|
||||||
cd "${tvm_kernel_build}"/incubator-tvm/build
|
|
||||||
cmake ..
|
|
||||||
make -j$THREAD_NUM
|
|
||||||
else
|
else
|
||||||
cd "${tvm_kernel_build}"/incubator-tvm/build
|
echo -e "\e[31mplease set ANDROID_NDK_PATH in environment variable for example: export ANDROID_NDK=/root/usr/android-ndk-r20b/ \e[0m"
|
||||||
make -j$THREAD_NUM
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
#gen op
|
|
||||||
predict_tvm_op_lib_path="${BASEPATH}/predict/module/tvm_kernel/build/lib_x86"
|
|
||||||
predict_platform="x86"
|
|
||||||
if [[ "$PREDICT_PLATFORM" == "arm64" ]]; then
|
|
||||||
predict_tvm_op_lib_path="${BASEPATH}/predict/module/tvm_kernel/build/lib_arm64"
|
|
||||||
predict_platform="arm64"
|
|
||||||
fi
|
|
||||||
|
|
||||||
need_get_libs=true
|
|
||||||
if [ -d "${predict_tvm_op_lib_path}" ]; then
|
|
||||||
file_list=$(ls "${predict_tvm_op_lib_path}")
|
|
||||||
if [ -n "${file_list}" ]; then
|
|
||||||
libstime=$(stat -c %Y "${predict_tvm_op_lib_path}"/* | sort -u | tail -n1)
|
|
||||||
pythontime=$(find "${BASEPATH}"/predict/module/tvm_kernel/lite/python/ -name "*.py" -exec stat -c %Y {} \; |
|
|
||||||
sort -u | tail -n1)
|
|
||||||
if [ "${libstime}" -ge "${pythontime}" ]; then
|
|
||||||
need_get_libs=false
|
|
||||||
else
|
|
||||||
rm -fr "${predict_tvm_op_lib_path}"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
if $need_get_libs; then
|
|
||||||
PYTHONPATH_OLD=${PYTHONPATH}
|
|
||||||
export PYTHONPATH="${tvm_kernel_build}/incubator-tvm/python:${tvm_kernel_build}/incubator-tvm/topi/python:${tvm_kernel_build}/incubator-tvm/nnvm/python:${tvm_kernel_build}/lite/python:"
|
|
||||||
cd "${BASEPATH}"/predict/module/tvm_kernel/lite/python/at_ops
|
|
||||||
python3 at_gen_strip.py ${predict_platform}
|
|
||||||
export PYTHONPATH=${PYTHONPATH_OLD}
|
|
||||||
fi
|
|
||||||
|
|
||||||
cd "${BASEPATH}/predict/build"
|
|
||||||
if [[ "$PREDICT_PLATFORM" == "arm64" ]]; then
|
|
||||||
cmake -DCMAKE_TOOLCHAIN_FILE="${ANDROID_NDK}/build/cmake/android.toolchain.cmake" \
|
|
||||||
-DANDROID_NATIVE_API_LEVEL=android-19 -DANDROID_NDK="${ANDROID_NDK}" \
|
|
||||||
-DANDROID_TOOLCHAIN_NAME="aarch64-linux-android-clang" -DANDROID_STL="c++_shared" \
|
|
||||||
-DANDROID_ABI="arm64-v8a" -DENABLE_PREDICT_ARM64=ON -DANDROID_ALLOW_UNDEFINED_SYMBOLS=TRUE ..
|
|
||||||
elif [[ "$PREDICT_PLATFORM" == "x86_64" ]]; then
|
|
||||||
cmake ..
|
|
||||||
fi
|
|
||||||
|
|
||||||
make ${VERBOSE} -j$THREAD_NUM
|
|
||||||
if [[ "$PREDICT_PLATFORM" == "x86_64" ]]; then
|
|
||||||
cd "${BASEPATH}/predict/build/test" && ./run_tests.sh
|
|
||||||
fi
|
|
||||||
|
|
||||||
# copy securec include files
|
|
||||||
mkdir -p "${BASEPATH}/predict/output/include/securec/include"
|
|
||||||
cp "${BASEPATH}"/third_party/securec/include/* "${BASEPATH}"/predict/output/include/securec/include
|
|
||||||
|
|
||||||
cd "${BASEPATH}/predict/output/"
|
|
||||||
if [[ "$PREDICT_PLATFORM" == "x86_64" ]]; then
|
|
||||||
tar -cf MSPredict-0.5.0-linux_x86_64.tar.gz include/ lib/ --warning=no-file-changed
|
|
||||||
elif [[ "$PREDICT_PLATFORM" == "arm64" ]]; then
|
|
||||||
tar -cf MSPredict-0.5.0-linux_aarch64.tar.gz include/ lib/ --warning=no-file-changed
|
|
||||||
fi
|
|
||||||
echo "success to build predict project!"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if [[ "X$COMPILE_PREDICT" = "Xon" ]]; then
|
gene_flatbuffer() {
|
||||||
build_predict
|
FLAT_DIR="${BASEPATH}/mindspore/lite/schema"
|
||||||
echo "---------------- mindspore: build end ----------------"
|
cd ${FLAT_DIR} && rm -rf "${FLAT_DIR}/inner" && mkdir -p "${FLAT_DIR}/inner"
|
||||||
|
find . -name "*.fbs" -print0 | xargs -0 "${FLATC}" -c -b
|
||||||
|
find . -name "*.fbs" -print0 | xargs -0 "${FLATC}" -c -b --reflect-types --gen-mutable --reflect-names --gen-object-api -o "${FLAT_DIR}/inner"
|
||||||
|
|
||||||
|
FLAT_DIR="${BASEPATH}/mindspore/lite/tools/converter/parser/tflite"
|
||||||
|
cd ${FLAT_DIR}
|
||||||
|
find . -name "*.fbs" -print0 | xargs -0 "${FLATC}" -c -b --reflect-types --gen-mutable --reflect-names --gen-object-api -o "${FLAT_DIR}/"
|
||||||
|
}
|
||||||
|
|
||||||
|
build_flatbuffer() {
|
||||||
|
cd ${BASEPATH}
|
||||||
|
FLATC="${BASEPATH}"/third_party/flatbuffers/build/flatc
|
||||||
|
if [[ ! -f "${FLATC}" ]]; then
|
||||||
|
git submodule update --init --recursive third_party/flatbuffers
|
||||||
|
cd ${BASEPATH}/third_party/flatbuffers
|
||||||
|
rm -rf build && mkdir -pv build && cd build && cmake .. && make -j$THREAD_NUM
|
||||||
|
gene_flatbuffer
|
||||||
|
fi
|
||||||
|
if [[ "${INC_BUILD}" == "off" ]]; then
|
||||||
|
gene_flatbuffer
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
gene_protobuf() {
|
||||||
|
PROTO_SRC_DIR="${BASEPATH}/mindspore/lite/tools/converter/parser/caffe"
|
||||||
|
find ${PROTO_SRC_DIR} -name "*.proto" -print0 | xargs -0 "${PROTOC}" -I"${PROTO_SRC_DIR}" --cpp_out="${PROTO_SRC_DIR}"
|
||||||
|
PROTO_SRC_DIR="${BASEPATH}/mindspore/lite/tools/converter/parser/onnx"
|
||||||
|
find ${PROTO_SRC_DIR} -name "*.proto" -print0 | xargs -0 "${PROTOC}" -I"${PROTO_SRC_DIR}" --cpp_out="${PROTO_SRC_DIR}"
|
||||||
|
}
|
||||||
|
|
||||||
|
build_protobuf() {
|
||||||
|
cd ${BASEPATH}
|
||||||
|
PROTOC="${BASEPATH}"/third_party/protobuf/build/bin/protoc
|
||||||
|
if [[ ! -f "${PROTOC}" ]]; then
|
||||||
|
git submodule update --init --recursive third_party/protobuf
|
||||||
|
cd ${BASEPATH}/third_party/protobuf
|
||||||
|
rm -rf build && mkdir -pv build && ./autogen.sh
|
||||||
|
./configure --prefix=${BASEPATH}/third_party/protobuf/build
|
||||||
|
make clean && make -j$THREAD_NUM && make install
|
||||||
|
gene_protobuf
|
||||||
|
fi
|
||||||
|
if [[ "${INC_BUILD}" == "off" ]]; then
|
||||||
|
gene_protobuf
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
build_gtest() {
|
||||||
|
cd ${BASEPATH}
|
||||||
|
git submodule update --init --recursive third_party/googletest
|
||||||
|
}
|
||||||
|
|
||||||
|
gene_clhpp() {
|
||||||
|
CL_SRC_DIR="${BASEPATH}/mindspore/lite/src/runtime/kernel/opencl/cl"
|
||||||
|
for sub_dir in "${CL_SRC_DIR}"/*
|
||||||
|
do
|
||||||
|
data_type="$(basename ${sub_dir})"
|
||||||
|
if [ ! -d ${CL_SRC_DIR}/${data_type} ]; then
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
cd ${CL_SRC_DIR}/${data_type}
|
||||||
|
rm -rf *.inc
|
||||||
|
echo "$(cd "$(dirname $0)"; pwd)"
|
||||||
|
for file_path in "${CL_SRC_DIR}/${data_type}"/*
|
||||||
|
do
|
||||||
|
file="$(basename ${file_path})"
|
||||||
|
inc_file=`echo ${CL_SRC_DIR}/${data_type}/${file} | sed 's/$/.inc/'`
|
||||||
|
sed 's/^/\"/;s/$/ \\n\" \\/' ${CL_SRC_DIR}/${data_type}/${file} > ${inc_file}
|
||||||
|
kernel_name=`echo ${file} | sed s'/.\{3\}$//'`
|
||||||
|
sed -i "1i\static const char *${kernel_name}_source_${data_type} =\"\\n\" \\" ${inc_file}
|
||||||
|
sed -i '$a\;' ${inc_file}
|
||||||
|
done
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
gene_ocl_program() {
|
||||||
|
CL_SRC_DIR="${BASEPATH}/mindspore/lite/src/runtime/kernel/opencl/cl"
|
||||||
|
SPIRV_DIR=build/spirv
|
||||||
|
rm -rf ${SPIRV_DIR}
|
||||||
|
mkdir -pv ${SPIRV_DIR}
|
||||||
|
for sub_dir in "${CL_SRC_DIR}"/*
|
||||||
|
do
|
||||||
|
data_type="$(basename ${sub_dir})"
|
||||||
|
if [ ! -d ${CL_SRC_DIR}/${data_type} ]; then
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
#echo $(cd "$(dirname $0)"; pwd)
|
||||||
|
for file_path in "${CL_SRC_DIR}/${data_type}"/*
|
||||||
|
do
|
||||||
|
file="$(basename ${file_path})"
|
||||||
|
if [ "${file##*.}" != "cl" ]; then
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
clang -Xclang -finclude-default-header -cl-std=CL2.0 --target=spir64-unknown-unknown -emit-llvm \
|
||||||
|
-c -O0 -o ${SPIRV_DIR}/${file%.*}.bc ${CL_SRC_DIR}/${data_type}/${file}
|
||||||
|
done
|
||||||
|
done
|
||||||
|
|
||||||
|
bcs=`ls ${SPIRV_DIR}/*.bc`
|
||||||
|
llvm-link ${bcs} -o ${SPIRV_DIR}/program.bc
|
||||||
|
llvm-spirv -o ${SPIRV_DIR}/program.spv ${SPIRV_DIR}/program.bc
|
||||||
|
|
||||||
|
CL_PROGRAM_PATH="${BASEPATH}/mindspore/lite/src/runtime/kernel/opencl/cl/program.inc"
|
||||||
|
echo "#include <vector>" > ${CL_PROGRAM_PATH}
|
||||||
|
echo "std::vector<unsigned char> g_program_binary = {" >> ${CL_PROGRAM_PATH}
|
||||||
|
#hexdump -v -e '16/1 "0x%02x, " "\n"' ${SPIRV_DIR}/program.spv >> ${CL_PROGRAM_PATH}
|
||||||
|
hexdump -v -e '1/1 "0x%02x, "' ${SPIRV_DIR}/program.spv >> ${CL_PROGRAM_PATH}
|
||||||
|
echo "};" >> ${CL_PROGRAM_PATH}
|
||||||
|
echo "Compile SPIRV done"
|
||||||
|
}
|
||||||
|
|
||||||
|
build_opencl() {
|
||||||
|
cd ${BASEPATH}
|
||||||
|
git submodule update --init third_party/OpenCL-Headers
|
||||||
|
git submodule update --init third_party/OpenCL-CLHPP
|
||||||
|
if [[ "${OPENCL_OFFLINE_COMPILE}" == "on" ]]; then
|
||||||
|
gene_ocl_program
|
||||||
|
else
|
||||||
|
gene_clhpp
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
build_lite()
|
||||||
|
{
|
||||||
|
echo "start build mindspore lite project"
|
||||||
|
|
||||||
|
if [[ "${ENABLE_GPU}" == "on" ]]; then
|
||||||
|
build_opencl
|
||||||
|
fi
|
||||||
|
if [[ "${LITE_PLATFORM}" == "x86_64" ]]; then
|
||||||
|
build_protobuf
|
||||||
|
fi
|
||||||
|
build_flatbuffer
|
||||||
|
build_gtest
|
||||||
|
|
||||||
|
cd "${BASEPATH}/mindspore/lite"
|
||||||
|
mkdir -pv build
|
||||||
|
cd build
|
||||||
|
BUILD_TYPE="Release"
|
||||||
|
if [[ "${DEBUG_MODE}" == "on" ]]; then
|
||||||
|
BUILD_TYPE="Debug"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ "${LITE_PLATFORM}" == "arm64" ]]; then
|
||||||
|
checkndk
|
||||||
|
cmake -DCMAKE_TOOLCHAIN_FILE="${ANDROID_NDK}/build/cmake/android.toolchain.cmake" -DANDROID_NATIVE_API_LEVEL="19" \
|
||||||
|
-DANDROID_NDK="${ANDROID_NDK}" -DANDROID_ABI="arm64-v8a" -DANDROID_TOOLCHAIN_NAME="aarch64-linux-android-clang" \
|
||||||
|
-DANDROID_STL="c++_shared" -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DSUPPORT_TRAIN=${SUPPORT_TRAIN} \
|
||||||
|
-DBUILD_DEVICE=on -DPLATFORM_ARM64=on -DBUILD_CONVERTER=off -DENABLE_NEON=on -DENABLE_FP16="off" \
|
||||||
|
-DSUPPORT_GPU=${ENABLE_GPU} -DOFFLINE_COMPILE=${OPENCL_OFFLINE_COMPILE} "${BASEPATH}/mindspore/lite"
|
||||||
|
elif [[ "${LITE_PLATFORM}" == "arm32" ]]; then
|
||||||
|
checkndk
|
||||||
|
cmake -DCMAKE_TOOLCHAIN_FILE="${ANDROID_NDK}/build/cmake/android.toolchain.cmake" -DANDROID_NATIVE_API_LEVEL="19" \
|
||||||
|
-DANDROID_NDK="${ANDROID_NDK}" -DANDROID_ABI="armeabi-v7a" -DANDROID_TOOLCHAIN_NAME="clang" \
|
||||||
|
-DANDROID_STL="c++_shared" -DCMAKE_BUILD_TYPE=${BUILD_TYPE} \
|
||||||
|
-DBUILD_DEVICE=on -DPLATFORM_ARM32=on -DENABLE_NEON=on -DSUPPORT_TRAIN=${SUPPORT_TRAIN} -DBUILD_CONVERTER=off \
|
||||||
|
-DSUPPORT_GPU=${ENABLE_GPU} -DOFFLINE_COMPILE=${OPENCL_OFFLINE_COMPILE} "${BASEPATH}/mindspore/lite"
|
||||||
|
else
|
||||||
|
cmake -DBUILD_DEVICE=on -DPLATFORM_ARM64=off -DBUILD_CONVERTER=${ENABLE_CONVERTER} -DSUPPORT_TRAIN=${SUPPORT_TRAIN} \
|
||||||
|
-DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DSUPPORT_GPU=${ENABLE_GPU} -DOFFLINE_COMPILE=${OPENCL_OFFLINE_COMPILE} "${BASEPATH}/mindspore/lite"
|
||||||
|
fi
|
||||||
|
VERBOSE=2 make -j$THREAD_NUM
|
||||||
|
COMPILE_RET=$?
|
||||||
|
|
||||||
|
if [[ "${COMPILE_RET}" -ne 0 ]]; then
|
||||||
|
echo "---------------- mindspore lite: build failed ----------------"
|
||||||
|
else
|
||||||
|
mkdir -pv ${BASEPATH}/mindspore/lite/output/
|
||||||
|
if [[ "$LITE_PLATFORM" == "x86_64" ]]; then
|
||||||
|
OUTPUT_DIR=${BASEPATH}/mindspore/lite/output/MSLite-0.5.0-linux_x86_64
|
||||||
|
rm -rf ${OUTPUT_DIR} && mkdir -p ${OUTPUT_DIR} && cd ${OUTPUT_DIR}
|
||||||
|
mkdir -p ${OUTPUT_DIR}/converter && mkdir -p ${OUTPUT_DIR}/time_profile
|
||||||
|
mkdir -p ${OUTPUT_DIR}/benchmark && mkdir -p ${OUTPUT_DIR}/include && mkdir -p ${OUTPUT_DIR}/lib
|
||||||
|
mkdir -p ${OUTPUT_DIR}/third_party
|
||||||
|
cp ${BASEPATH}/mindspore/lite/build/tools/converter/converter_lite ${OUTPUT_DIR}/converter/
|
||||||
|
cp ${BASEPATH}/mindspore/lite/build/tools/benchmark/benchmark ${OUTPUT_DIR}/benchmark/
|
||||||
|
cp ${BASEPATH}/mindspore/lite/include/*.h ${OUTPUT_DIR}/include/
|
||||||
|
mkdir -p ${OUTPUT_DIR}/include/ir/dtype/
|
||||||
|
cp ${BASEPATH}/mindspore/core/ir/dtype/type_id.h ${OUTPUT_DIR}/include/ir/dtype/
|
||||||
|
mkdir -p ${OUTPUT_DIR}/include/schema/
|
||||||
|
cp ${BASEPATH}/mindspore/lite/schema/*.h ${OUTPUT_DIR}/include/schema/
|
||||||
|
cp ${BASEPATH}/mindspore/lite/build/src/libmindspore-lite.so ${OUTPUT_DIR}/lib/
|
||||||
|
mkdir -p ${OUTPUT_DIR}/third_party/protobuf/lib
|
||||||
|
cp -r ${BASEPATH}/third_party/protobuf/build/include/ ${OUTPUT_DIR}/third_party/protobuf/
|
||||||
|
cp -r ${BASEPATH}/third_party/protobuf/build/lib/libprotobuf.so.19 ${OUTPUT_DIR}/third_party/protobuf/lib/
|
||||||
|
cp -r ${BASEPATH}/third_party/protobuf/build/lib/libprotobuf.so.19.0.0 ${OUTPUT_DIR}/third_party/protobuf/lib/
|
||||||
|
mkdir -p ${OUTPUT_DIR}/third_party/flatbuffers
|
||||||
|
cp -r ${BASEPATH}/third_party/flatbuffers/include/ ${OUTPUT_DIR}/third_party/flatbuffers/
|
||||||
|
cd ..
|
||||||
|
tar -cf MSLite-0.5.0-linux_x86_64.tar.gz MSLite-0.5.0-linux_x86_64/ --warning=no-file-changed
|
||||||
|
elif [[ "$LITE_PLATFORM" == "arm64" ]]; then
|
||||||
|
OUTPUT_DIR=${BASEPATH}/mindspore/lite/output/MSLite-0.5.0-linux_arm64
|
||||||
|
rm -rf ${OUTPUT_DIR} && mkdir -p ${OUTPUT_DIR} && cd ${OUTPUT_DIR}
|
||||||
|
mkdir -p ${OUTPUT_DIR}/time_profile && mkdir -p ${OUTPUT_DIR}/benchmark
|
||||||
|
mkdir -p ${OUTPUT_DIR}/include && mkdir -p ${OUTPUT_DIR}/lib
|
||||||
|
mkdir -p ${OUTPUT_DIR}/third_party
|
||||||
|
cp ${BASEPATH}/mindspore/lite/build/tools/benchmark/benchmark ${OUTPUT_DIR}/benchmark/
|
||||||
|
cp ${BASEPATH}/mindspore/lite/include/*.h ${OUTPUT_DIR}/include/
|
||||||
|
mkdir -p ${OUTPUT_DIR}/include/ir/dtype/
|
||||||
|
cp ${BASEPATH}/mindspore/core/ir/dtype/type_id.h ${OUTPUT_DIR}/include/ir/dtype/
|
||||||
|
mkdir -p ${OUTPUT_DIR}/include/schema/
|
||||||
|
cp ${BASEPATH}/mindspore/lite/schema/*.h ${OUTPUT_DIR}/include/schema/
|
||||||
|
cp ${BASEPATH}/mindspore/lite/build/src/libmindspore-lite.so ${OUTPUT_DIR}/lib/
|
||||||
|
mkdir -p ${OUTPUT_DIR}/third_party/flatbuffers
|
||||||
|
cp -r ${BASEPATH}/third_party/flatbuffers/include/ ${OUTPUT_DIR}/third_party/flatbuffers/
|
||||||
|
cd ..
|
||||||
|
tar -cf MSLite-0.5.0-linux_arm64.tar.gz MSLite-0.5.0-linux_arm64/ --warning=no-file-changed
|
||||||
|
elif [[ "$LITE_PLATFORM" == "arm32" ]]; then
|
||||||
|
OUTPUT_DIR=${BASEPATH}/mindspore/lite/output/MSLite-0.5.0-linux_arm32
|
||||||
|
rm -rf ${OUTPUT_DIR} && mkdir -p ${OUTPUT_DIR} && cd ${OUTPUT_DIR}
|
||||||
|
mkdir -p ${OUTPUT_DIR}/time_profile && mkdir -p ${OUTPUT_DIR}/benchmark
|
||||||
|
mkdir -p ${OUTPUT_DIR}/include && mkdir -p ${OUTPUT_DIR}/lib
|
||||||
|
mkdir -p ${OUTPUT_DIR}/third_party
|
||||||
|
cp ${BASEPATH}/mindspore/lite/build/tools/benchmark/benchmark ${OUTPUT_DIR}/benchmark/
|
||||||
|
cp ${BASEPATH}/mindspore/lite/include/*.h ${OUTPUT_DIR}/include/
|
||||||
|
mkdir -p ${OUTPUT_DIR}/include/ir/dtype/
|
||||||
|
cp ${BASEPATH}/mindspore/core/ir/dtype/type_id.h ${OUTPUT_DIR}/include/ir/dtype/
|
||||||
|
mkdir -p ${OUTPUT_DIR}/include/schema/
|
||||||
|
cp ${BASEPATH}/mindspore/lite/schema/*.h ${OUTPUT_DIR}/include/schema/
|
||||||
|
cp ${BASEPATH}/mindspore/lite/build/src/libmindspore-lite.so ${OUTPUT_DIR}/lib/
|
||||||
|
mkdir -p ${OUTPUT_DIR}/third_party/flatbuffers
|
||||||
|
cp -r ${BASEPATH}/third_party/flatbuffers/include/ ${OUTPUT_DIR}/third_party/flatbuffers/
|
||||||
|
cd ..
|
||||||
|
tar -cf MSLite-0.5.0-linux_arm32.tar.gz MSLite-0.5.0-linux_arm32/ --warning=no-file-changed
|
||||||
|
fi
|
||||||
|
echo "---------------- mindspore lite: build success ----------------"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
if [[ "X$COMPILE_LITE" = "Xon" ]]; then
|
||||||
|
build_lite
|
||||||
exit
|
exit
|
||||||
else
|
else
|
||||||
build_mindspore
|
build_mindspore
|
||||||
|
|
|
@ -1,7 +1,3 @@
|
||||||
file(GLOB_RECURSE _IR_SRC_LIST ./*.cc dtype/*.cc)
|
file(GLOB_RECURSE _IR_SRC_LIST ./*.cc dtype/*.cc)
|
||||||
file(GLOB_RECURSE _IR_LITE_SRC_FILES
|
|
||||||
./lite/tensor.cc
|
|
||||||
)
|
|
||||||
list(REMOVE_ITEM _IR_SRC_LIST ${_IR_LITE_SRC_FILES})
|
|
||||||
set_property(SOURCE ${_IR_SRC_LIST} PROPERTY COMPILE_DEFINITIONS SUBMODULE_ID=mindspore::SubModuleId::SM_IR)
|
set_property(SOURCE ${_IR_SRC_LIST} PROPERTY COMPILE_DEFINITIONS SUBMODULE_ID=mindspore::SubModuleId::SM_IR)
|
||||||
add_library(_mindspore_ir_obj OBJECT ${_IR_SRC_LIST})
|
add_library(_mindspore_ir_obj OBJECT ${_IR_SRC_LIST})
|
||||||
|
|
|
@ -1,88 +0,0 @@
|
||||||
/**
|
|
||||||
* Copyright 2020 Huawei Technologies Co., Ltd
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <vector>
|
|
||||||
#include <utility>
|
|
||||||
#include "ir/lite/tensor.h"
|
|
||||||
#include "securec/include/securec.h"
|
|
||||||
|
|
||||||
namespace mindspore {
|
|
||||||
namespace tensor {
|
|
||||||
#define kMaxMallocSize 1024 * 1024 * 100
|
|
||||||
Tensor::Tensor(const TypeId data_type, const std::vector<int> &shape) : MetaTensor(data_type, shape) {}
|
|
||||||
|
|
||||||
Tensor::Tensor(const TypePtr &type_ptr, const std::vector<int> &shape) : MetaTensor(type_ptr, shape) {}
|
|
||||||
|
|
||||||
Tensor::Tensor(const Tensor &tensor) : MetaTensor(tensor) {
|
|
||||||
this->data_type_ = tensor.data_type_;
|
|
||||||
this->shape_ = tensor.shape_;
|
|
||||||
auto ret = CopyTensorData(tensor);
|
|
||||||
if (0 != ret) {
|
|
||||||
MS_LOG(EXCEPTION) << "CopyTensorData error";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
int Tensor::CopyTensorData(const Tensor &srcTensor) {
|
|
||||||
if (srcTensor.data_ == nullptr) {
|
|
||||||
MS_LOG(ERROR) << "data of srcTensor is nullptr";
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
size_t data_size = this->Size();
|
|
||||||
MS_ASSERT(data_size == tensor.Size());
|
|
||||||
if (this->data_ == nullptr) {
|
|
||||||
if (data_size > kMaxMallocSize) {
|
|
||||||
MS_LOG(ERROR) << "Malloc size is too big while coping data, " << data_size << " bytes";
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
this->data_ = malloc(data_size);
|
|
||||||
}
|
|
||||||
memcpy_s(this->data_, data_size, tensor.data_, tensor.Size());
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
Tensor::~Tensor() {
|
|
||||||
if (nullptr != this->data_) {
|
|
||||||
free(this->data_);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Tensor &Tensor::operator=(const Tensor &tensor) {
|
|
||||||
if (&tensor == this) {
|
|
||||||
return *this;
|
|
||||||
}
|
|
||||||
this->shape_ = tensor.shape_;
|
|
||||||
this->data_type_ = tensor.data_type_;
|
|
||||||
auto ret = CopyTensorData(tensor);
|
|
||||||
if (0 != ret) {
|
|
||||||
MS_LOG(EXCEPTION) << "CopyTensorData error";
|
|
||||||
}
|
|
||||||
return *this;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool Tensor::operator==(const Tensor &tensor) {
|
|
||||||
return data_ == tensor.data_ && shape_ == tensor.shape_ && data_type_ == tensor.data_type_;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool Tensor::operator==(const Value &other) const {
|
|
||||||
if (other.isa<Tensor>()) {
|
|
||||||
auto other_ = static_cast<const Tensor &>(other);
|
|
||||||
return *this == other_;
|
|
||||||
} else {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} // namespace tensor
|
|
||||||
} // namespace mindspore
|
|
|
@ -1,61 +0,0 @@
|
||||||
/**
|
|
||||||
* Copyright 2020 Huawei Technologies Co., Ltd
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef MINDSPORE_CORE_IR_LITE_TENSOR_H_
|
|
||||||
#define MINDSPORE_CORE_IR_LITE_TENSOR_H_
|
|
||||||
|
|
||||||
#include <memory>
|
|
||||||
#include <vector>
|
|
||||||
#include "ir/meta_tensor.h"
|
|
||||||
#include "ir/dtype/type.h"
|
|
||||||
|
|
||||||
namespace mindspore {
|
|
||||||
namespace tensor {
|
|
||||||
class Tensor : public MetaTensor {
|
|
||||||
public:
|
|
||||||
Tensor() : MetaTensor() {}
|
|
||||||
|
|
||||||
Tensor(const TypeId data_type, const std::vector<int> &shape);
|
|
||||||
|
|
||||||
Tensor(const TypePtr &type_ptr, const std::vector<int> &shape);
|
|
||||||
|
|
||||||
Tensor(const Tensor &tensor);
|
|
||||||
|
|
||||||
~Tensor();
|
|
||||||
|
|
||||||
int CopyTensorData(const Tensor &srcTensor);
|
|
||||||
|
|
||||||
MS_DECLARE_PARENT(Tensor, MetaTensor)
|
|
||||||
|
|
||||||
virtual Tensor &operator=(const Tensor &tensor);
|
|
||||||
|
|
||||||
virtual bool operator==(const Tensor &tensor);
|
|
||||||
|
|
||||||
bool operator==(const Value &other) const override;
|
|
||||||
|
|
||||||
size_t Size() const { return MetaTensor::ElementsNum() * GetTypeByte(TypeIdToType(this->data_type_)); }
|
|
||||||
|
|
||||||
void *Data() const { return data_; }
|
|
||||||
|
|
||||||
protected:
|
|
||||||
void *data_;
|
|
||||||
};
|
|
||||||
|
|
||||||
using TensorPtr = std::shared_ptr<Tensor>;
|
|
||||||
} // namespace tensor
|
|
||||||
} // namespace mindspore
|
|
||||||
|
|
||||||
#endif // MINDSPORE_CORE_IR_LITE_TENSOR_H_
|
|
|
@ -75,8 +75,6 @@ int MetaTensor::ElementsNum() const {
|
||||||
return std::accumulate(shape_.begin(), shape_.end(), 1LL, std::multiplies<int>());
|
return std::accumulate(shape_.begin(), shape_.end(), 1LL, std::multiplies<int>());
|
||||||
}
|
}
|
||||||
|
|
||||||
TypePtr MetaTensor::Dtype() const { return TypeIdToType(data_type_); }
|
|
||||||
|
|
||||||
TypePtr MetaTensor::SetDtype(const TypePtr type_ptr) {
|
TypePtr MetaTensor::SetDtype(const TypePtr type_ptr) {
|
||||||
if (type_ptr == nullptr) {
|
if (type_ptr == nullptr) {
|
||||||
MS_LOG(ERROR) << "Dtype to be set is nullptr.";
|
MS_LOG(ERROR) << "Dtype to be set is nullptr.";
|
||||||
|
|
|
@ -37,5 +37,7 @@ abstract::AbstractBasePtr MetaTensor::ToAbstract() {
|
||||||
abs_tensor->set_value(shared_from_base<MetaTensor>());
|
abs_tensor->set_value(shared_from_base<MetaTensor>());
|
||||||
return abs_tensor;
|
return abs_tensor;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TypePtr MetaTensor::Dtype() const { return TypeIdToType(data_type_); }
|
||||||
} // namespace tensor
|
} // namespace tensor
|
||||||
} // namespace mindspore
|
} // namespace mindspore
|
||||||
|
|
|
@ -31,7 +31,7 @@ class ParamValue {
|
||||||
|
|
||||||
ParamValue(const ParamValue &other) = default;
|
ParamValue(const ParamValue &other) = default;
|
||||||
|
|
||||||
~ParamValue() = default;
|
virtual ~ParamValue() = default;
|
||||||
|
|
||||||
tensor::MetaTensorPtr value() const { return value_; }
|
tensor::MetaTensorPtr value() const { return value_; }
|
||||||
void set_value(const tensor::MetaTensorPtr &value) { value_ = value; }
|
void set_value(const tensor::MetaTensorPtr &value) { value_ = value; }
|
||||||
|
|
|
@ -17,11 +17,15 @@
|
||||||
#include "utils/log_adapter.h"
|
#include "utils/log_adapter.h"
|
||||||
|
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
|
#include <sys/time.h>
|
||||||
#include <map>
|
#include <map>
|
||||||
|
#ifndef USE_ANDROID_LOG
|
||||||
#include "debug/trace.h"
|
#include "debug/trace.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
// namespace to support utils module definition
|
// namespace to support utils module definition
|
||||||
namespace mindspore {
|
namespace mindspore {
|
||||||
|
#ifndef USE_ANDROID_LOG
|
||||||
#ifdef USE_GLOG
|
#ifdef USE_GLOG
|
||||||
static std::string GetTime() {
|
static std::string GetTime() {
|
||||||
#define BUFLEN 80
|
#define BUFLEN 80
|
||||||
|
@ -125,6 +129,7 @@ static int GetSlogLevel(MsLogLevel level) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
static std::string ExceptionTypeToString(ExceptionType type) {
|
static std::string ExceptionTypeToString(ExceptionType type) {
|
||||||
#define _TO_STRING(x) #x
|
#define _TO_STRING(x) #x
|
||||||
|
@ -184,7 +189,24 @@ static const char *GetSubModuleName(SubModuleId module_id) {
|
||||||
return sub_module_names[module_id % NUM_SUBMODUES];
|
return sub_module_names[module_id % NUM_SUBMODUES];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const char *EnumStrForMsLogLevel(MsLogLevel level) {
|
||||||
|
if (level == DEBUG) {
|
||||||
|
return "DEBUG";
|
||||||
|
} else if (level == INFO) {
|
||||||
|
return "INFO";
|
||||||
|
} else if (level == WARNING) {
|
||||||
|
return "WARNING";
|
||||||
|
} else if (level == ERROR) {
|
||||||
|
return "ERROR";
|
||||||
|
} else if (level == EXCEPTION) {
|
||||||
|
return "EXCEPTION";
|
||||||
|
} else {
|
||||||
|
return "NO_LEVEL";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void LogWriter::OutputLog(const std::ostringstream &msg) const {
|
void LogWriter::OutputLog(const std::ostringstream &msg) const {
|
||||||
|
#ifndef USE_ANDROID_LOG
|
||||||
#ifdef USE_GLOG
|
#ifdef USE_GLOG
|
||||||
auto submodule_name = GetSubModuleName(submodule_);
|
auto submodule_name = GetSubModuleName(submodule_);
|
||||||
google::LogMessage("", 0, GetGlogLevel(log_level_)).stream()
|
google::LogMessage("", 0, GetGlogLevel(log_level_)).stream()
|
||||||
|
@ -197,6 +219,10 @@ void LogWriter::OutputLog(const std::ostringstream &msg) const {
|
||||||
Dlog(static_cast<int>(slog_module_id), GetSlogLevel(log_level_), "[%s:%d] %s] %s", location_.file_, location_.line_,
|
Dlog(static_cast<int>(slog_module_id), GetSlogLevel(log_level_), "[%s:%d] %s] %s", location_.file_, location_.line_,
|
||||||
location_.func_, str_msg.c_str());
|
location_.func_, str_msg.c_str());
|
||||||
#endif
|
#endif
|
||||||
|
#else
|
||||||
|
printf("%s [%s:%d] %s] %s\n:", EnumStrForMsLogLevel(log_level_), location_.file_, location_.line_, location_.func_,
|
||||||
|
msg.str().c_str());
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void LogWriter::operator<(const LogStream &stream) const noexcept {
|
void LogWriter::operator<(const LogStream &stream) const noexcept {
|
||||||
|
@ -218,8 +244,10 @@ void LogWriter::operator^(const LogStream &stream) const {
|
||||||
}
|
}
|
||||||
oss << msg.str();
|
oss << msg.str();
|
||||||
|
|
||||||
|
#ifndef USE_ANDROID_LOG
|
||||||
trace::TraceGraphEval();
|
trace::TraceGraphEval();
|
||||||
trace::GetEvalStackInfo(oss);
|
trace::GetEvalStackInfo(oss);
|
||||||
|
#endif
|
||||||
|
|
||||||
if (exception_handler_ != nullptr) {
|
if (exception_handler_ != nullptr) {
|
||||||
exception_handler_(exception_type_, oss.str());
|
exception_handler_(exception_type_, oss.str());
|
||||||
|
|
|
@ -25,11 +25,13 @@
|
||||||
#include <functional>
|
#include <functional>
|
||||||
#include "utils/overload.h"
|
#include "utils/overload.h"
|
||||||
#include "./securec.h"
|
#include "./securec.h"
|
||||||
|
#ifndef USE_ANDROID_LOG
|
||||||
#ifdef USE_GLOG
|
#ifdef USE_GLOG
|
||||||
#include "glog/logging.h"
|
#include "glog/logging.h"
|
||||||
#else
|
#else
|
||||||
#include "toolchain/slog.h"
|
#include "toolchain/slog.h"
|
||||||
#endif
|
#endif
|
||||||
|
#endif
|
||||||
// NOTICE: when relative path of 'log_adapter.h' changed, macro 'LOG_HDR_FILE_REL_PATH' must be changed
|
// NOTICE: when relative path of 'log_adapter.h' changed, macro 'LOG_HDR_FILE_REL_PATH' must be changed
|
||||||
#define LOG_HDR_FILE_REL_PATH "mindspore/core/utils/log_adapter.h"
|
#define LOG_HDR_FILE_REL_PATH "mindspore/core/utils/log_adapter.h"
|
||||||
|
|
||||||
|
@ -129,6 +131,8 @@ enum SubModuleId : int {
|
||||||
#define SUBMODULE_ID mindspore::SubModuleId::SM_ME
|
#define SUBMODULE_ID mindspore::SubModuleId::SM_ME
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
const char *EnumStrForMsLogLevel(MsLogLevel level);
|
||||||
|
|
||||||
#if defined(_WIN32) || defined(_WIN64)
|
#if defined(_WIN32) || defined(_WIN64)
|
||||||
extern int g_ms_submodule_log_levels[] __attribute__((dllexport));
|
extern int g_ms_submodule_log_levels[] __attribute__((dllexport));
|
||||||
#else
|
#else
|
||||||
|
|
|
@ -0,0 +1,119 @@
|
||||||
|
cmake_minimum_required(VERSION 3.14)
|
||||||
|
project (Lite)
|
||||||
|
|
||||||
|
if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 7.3.0)
|
||||||
|
message(FATAL_ERROR "GCC vesion ${CMAKE_CXX_COMPILER_VERSION} must not be less than 7.3.0")
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17")
|
||||||
|
set(TOP_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../..)
|
||||||
|
set(CORE_DIR ${TOP_DIR}/mindspore/core)
|
||||||
|
set(CCSRC_DIR ${TOP_DIR}/mindspore/ccsrc)
|
||||||
|
include_directories(${TOP_DIR})
|
||||||
|
include_directories(${CORE_DIR})
|
||||||
|
include_directories(${CCSRC_DIR})
|
||||||
|
include_directories(${CMAKE_CURRENT_SOURCE_DIR})
|
||||||
|
include_directories(${TOP_DIR}/third_party)
|
||||||
|
include_directories(${TOP_DIR}/third_party/flatbuffers/include)
|
||||||
|
|
||||||
|
include(${TOP_DIR}/cmake/utils.cmake)
|
||||||
|
include(${TOP_DIR}/cmake/external_libs/json.cmake)
|
||||||
|
include(${TOP_DIR}/cmake/dependency_securec.cmake)
|
||||||
|
set(CMAKE_VERBOSE_MAKEFILE on)
|
||||||
|
add_compile_definitions(USE_ANDROID_LOG)
|
||||||
|
add_compile_definitions(NO_DLIB)
|
||||||
|
add_compile_options(-fPIC)
|
||||||
|
|
||||||
|
option(BUILD_DEVICE "if build device" on)
|
||||||
|
option(SUPPORT_TRAIN "if build for on-device train" off)
|
||||||
|
option(PLATFORM_ARM64 "if build device for arm64" off)
|
||||||
|
option(PLATFORM_ARM32 "if build device for arm32" off)
|
||||||
|
option(BUILD_CONVERTER "if build converter" on)
|
||||||
|
option(ENABLE_FP16 "if build fp16 ops" off)
|
||||||
|
option(SUPPORT_GPU "if support gpu" off)
|
||||||
|
option(OFFLINE_COMPILE "if offline compile OpenCL kernel" off)
|
||||||
|
|
||||||
|
if (BUILD_DEVICE)
|
||||||
|
add_compile_definitions(BUILD_DEVICE)
|
||||||
|
endif()
|
||||||
|
if (SUPPORT_TRAIN)
|
||||||
|
add_compile_definitions(SUPPORT_TRAIN)
|
||||||
|
endif()
|
||||||
|
if (ENABLE_NEON)
|
||||||
|
add_compile_definitions(ENABLE_NEON)
|
||||||
|
endif ()
|
||||||
|
if (ENABLE_FP16)
|
||||||
|
add_compile_definitions(ENABLE_FP16)
|
||||||
|
endif ()
|
||||||
|
if (SUPPORT_GPU)
|
||||||
|
add_definitions(-DUSE_OPENCL_WRAPPER)
|
||||||
|
add_definitions(-DMS_OPENCL_PROFILE=false)
|
||||||
|
add_definitions(-DCL_HPP_TARGET_OPENCL_VERSION=200)
|
||||||
|
add_compile_definitions(SUPPORT_GPU)
|
||||||
|
if(OFFLINE_COMPILE)
|
||||||
|
add_compile_definitions(PROGRAM_WITH_IL)
|
||||||
|
endif()
|
||||||
|
include_directories(${TOP_DIR}/third_party/OpenCL-Headers)
|
||||||
|
include_directories(${TOP_DIR}/third_party/OpenCL-CLHPP/include)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
set(ANF_SRC
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/../core/ir/meta_tensor.cc
|
||||||
|
${CCSRC_DIR}/gvar/logging_level.cc
|
||||||
|
${CCSRC_DIR}/gvar/typeid_manager.cc
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/../core/base/base.cc
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/../core/utils/log_adapter.cc
|
||||||
|
)
|
||||||
|
if (BUILD_CONVERTER)
|
||||||
|
if (PLATFORM_ARM64 OR PLATFORM_ARM32)
|
||||||
|
MESSAGE(FATAL_ERROR "Cannot build converter in arm platform")
|
||||||
|
endif()
|
||||||
|
find_package(Python3 3.7 COMPONENTS Interpreter Development)
|
||||||
|
if(Python3_FOUND)
|
||||||
|
set(PYTHON_INCLUDE_DIRS "${Python3_INCLUDE_DIRS}")
|
||||||
|
set(PYTHON_LIBRARIES "${Python3_LIBRARIES}")
|
||||||
|
if (WIN32)
|
||||||
|
if (Python3_DIR)
|
||||||
|
message("Python3_DIR set already: " ${Python3_DIR})
|
||||||
|
else()
|
||||||
|
string(LENGTH ${PYTHON_LIBRARIES} PYTHON_LIBRARIES_LEN)
|
||||||
|
string(LENGTH "libpythonxx.a" Python3_NAME_LEN)
|
||||||
|
math(EXPR Python3_DIR_LEN ${PYTHON_LIBRARIES_LEN}-${Python3_NAME_LEN})
|
||||||
|
string(SUBSTRING ${Python3_LIBRARIES} 0 ${Python3_DIR_LEN} Python3_DIR)
|
||||||
|
message("Python3_DIR: " ${Python3_DIR})
|
||||||
|
endif()
|
||||||
|
link_directories(${Python3_DIR})
|
||||||
|
endif()
|
||||||
|
else()
|
||||||
|
find_python_package(py_inc py_lib)
|
||||||
|
set(PYTHON_INCLUDE_DIRS "${py_inc}")
|
||||||
|
set(PYTHON_LIBRARIES "${py_lib}")
|
||||||
|
endif()
|
||||||
|
include_directories(${PYTHON_INCLUDE_DIRS})
|
||||||
|
include(${TOP_DIR}/cmake/external_libs/pybind11.cmake)
|
||||||
|
include(${TOP_DIR}/cmake/external_libs/eigen.cmake)
|
||||||
|
include_directories(${TOP_DIR}/third_party/protobuf/build/include)
|
||||||
|
link_directories(${TOP_DIR}/third_party/protobuf/build/lib)
|
||||||
|
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/tools/converter)
|
||||||
|
add_subdirectory(src/common/anf_exporter)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if (BUILD_DEVICE)
|
||||||
|
if (PLATFORM_ARM32 OR PLATFORM_ARM64)
|
||||||
|
if (NOT DEFINED ENV{ANDROID_NDK})
|
||||||
|
message(FATAL_ERROR "env ANDROID_NDK should be setted for ARM compile")
|
||||||
|
endif()
|
||||||
|
add_compile_definitions(ENABLE_ARM)
|
||||||
|
endif()
|
||||||
|
if (PLATFORM_ARM32)
|
||||||
|
add_definitions(-mfloat-abi=softfp -mfpu=neon)
|
||||||
|
add_compile_definitions(ENABLE_ARM32)
|
||||||
|
endif()
|
||||||
|
if (PLATFORM_ARM64)
|
||||||
|
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -march=armv8.2-a+dotprod+fp16")
|
||||||
|
add_compile_definitions(ENABLE_ARM64)
|
||||||
|
endif()
|
||||||
|
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/src)
|
||||||
|
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/tools/benchmark)
|
||||||
|
# add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/test)
|
||||||
|
endif()
|
|
@ -0,0 +1,272 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
CUR_DIR=$(cd "$(dirname $0)"; pwd)
|
||||||
|
BASE_DIR=${CUR_DIR}/../../
|
||||||
|
|
||||||
|
usage()
|
||||||
|
{
|
||||||
|
echo "Usage:"
|
||||||
|
echo "bash build.sh [-d] [-a arm64|arm32] [-j[n]] [-m] [-f] [-g] [-c] [-s] [-o]"
|
||||||
|
echo ""
|
||||||
|
echo "Options:"
|
||||||
|
echo " -d Enable Debug"
|
||||||
|
echo " -c Enable compile converter, default off"
|
||||||
|
echo " -m Enable Incremental compilation"
|
||||||
|
echo " -a Select ARM platform, default off"
|
||||||
|
echo " -j[n] Set the threads when building, default: -j8"
|
||||||
|
echo " -f Compile fp16 ops"
|
||||||
|
echo " -g Enable gpu compile"
|
||||||
|
echo " -s Support train"
|
||||||
|
echo " -o Offline compile OpenCL kernel"
|
||||||
|
}
|
||||||
|
|
||||||
|
checkopts()
|
||||||
|
{
|
||||||
|
# Init default values of build options
|
||||||
|
THREAD_NUM="8"
|
||||||
|
BUILD_TYPE="Release"
|
||||||
|
BUILD_DEVICE_PLATFORM="off"
|
||||||
|
MAKE_ONLY="off"
|
||||||
|
ENABLE_FP16="off"
|
||||||
|
ENABLE_GPU="off"
|
||||||
|
ENABLE_CONVERTER="off"
|
||||||
|
SUPPORT_TRAIN="off"
|
||||||
|
OFFLINE_COMPILE="off"
|
||||||
|
|
||||||
|
# Process the options
|
||||||
|
while getopts 'j:da:mfcsgo' opt
|
||||||
|
do
|
||||||
|
OPTARG=$(echo ${OPTARG} | tr '[A-Z]' '[a-z]')
|
||||||
|
case "${opt}" in
|
||||||
|
m)
|
||||||
|
MAKE_ONLY="on"
|
||||||
|
echo "Incremental compilation"
|
||||||
|
;;
|
||||||
|
d)
|
||||||
|
BUILD_TYPE="Debug"
|
||||||
|
echo "Build Debug version"
|
||||||
|
;;
|
||||||
|
j)
|
||||||
|
THREAD_NUM=$OPTARG
|
||||||
|
;;
|
||||||
|
a)
|
||||||
|
if [[ "X$OPTARG" == "Xarm64" ]]; then
|
||||||
|
BUILD_DEVICE_PLATFORM="arm64"
|
||||||
|
echo "Enable arm64"
|
||||||
|
elif [[ "X$OPTARG" == "Xarm32" ]]; then
|
||||||
|
BUILD_DEVICE_PLATFORM="arm32"
|
||||||
|
echo "Enable arm32"
|
||||||
|
else
|
||||||
|
echo "-I parameter must be arm64 or arm32"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
c)
|
||||||
|
ENABLE_CONVERTER="on"
|
||||||
|
echo "Enable converter"
|
||||||
|
;;
|
||||||
|
s)
|
||||||
|
SUPPORT_TRAIN="on"
|
||||||
|
echo "Support train"
|
||||||
|
;;
|
||||||
|
f)
|
||||||
|
ENABLE_FP16="on"
|
||||||
|
echo "Enable fp16"
|
||||||
|
;;
|
||||||
|
g)
|
||||||
|
ENABLE_GPU="on"
|
||||||
|
echo "Enable gpu"
|
||||||
|
;;
|
||||||
|
o)
|
||||||
|
OFFLINE_COMPILE="on"
|
||||||
|
echo "OpenCL kernel offline compile"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Unknown option ${opt}!"
|
||||||
|
usage
|
||||||
|
exit 1
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
checkndk() {
|
||||||
|
if [ "${ANDROID_NDK}" ]; then
|
||||||
|
echo -e "\e[31mANDROID_NDK_PATH=$ANDROID_NDK \e[0m"
|
||||||
|
else
|
||||||
|
echo -e "\e[31mplease set ANDROID_NDK_PATH in environment variable for example: export ANDROID_NDK=/root/usr/android-ndk-r16b/ \e[0m"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
gene_flatbuffer() {
|
||||||
|
FLAT_DIR="${BASE_DIR}/mindspore/lite/schema"
|
||||||
|
cd ${FLAT_DIR} && rm -rf "${FLAT_DIR}/inner" && mkdir -p "${FLAT_DIR}/inner"
|
||||||
|
find . -name "*.fbs" -print0 | xargs -0 "${FLATC}" -c -b
|
||||||
|
find . -name "*.fbs" -print0 | xargs -0 "${FLATC}" -c -b --reflect-types --gen-mutable --reflect-names --gen-object-api -o "${FLAT_DIR}/inner"
|
||||||
|
|
||||||
|
FLAT_DIR="${BASE_DIR}/mindspore/lite/tools/converter/parser/tflite"
|
||||||
|
cd ${FLAT_DIR}
|
||||||
|
find . -name "*.fbs" -print0 | xargs -0 "${FLATC}" -c -b --reflect-types --gen-mutable --reflect-names --gen-object-api -o "${FLAT_DIR}/"
|
||||||
|
}
|
||||||
|
|
||||||
|
build_flatbuffer() {
|
||||||
|
cd ${BASE_DIR}
|
||||||
|
FLATC="${BASE_DIR}"/third_party/flatbuffers/build/flatc
|
||||||
|
if [[ ! -f "${FLATC}" ]]; then
|
||||||
|
git submodule update --init --recursive third_party/flatbuffers
|
||||||
|
cd ${BASE_DIR}/third_party/flatbuffers
|
||||||
|
rm -rf build && mkdir -pv build && cd build && cmake .. && make -j$THREAD_NUM
|
||||||
|
gene_flatbuffer
|
||||||
|
fi
|
||||||
|
if [[ "${MAKE_ONLY}" == "off" ]]; then
|
||||||
|
gene_flatbuffer
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
gene_protobuf() {
|
||||||
|
PROTO_SRC_DIR="${BASE_DIR}/mindspore/lite/tools/converter/parser/caffe"
|
||||||
|
find ${PROTO_SRC_DIR} -name "*.proto" -print0 | xargs -0 "${PROTOC}" -I"${PROTO_SRC_DIR}" --cpp_out="${PROTO_SRC_DIR}"
|
||||||
|
PROTO_SRC_DIR="${BASE_DIR}/mindspore/lite/tools/converter/parser/onnx"
|
||||||
|
find ${PROTO_SRC_DIR} -name "*.proto" -print0 | xargs -0 "${PROTOC}" -I"${PROTO_SRC_DIR}" --cpp_out="${PROTO_SRC_DIR}"
|
||||||
|
}
|
||||||
|
|
||||||
|
build_protobuf() {
|
||||||
|
cd ${BASE_DIR}
|
||||||
|
PROTOC="${BASE_DIR}"/third_party/protobuf/build/bin/protoc
|
||||||
|
if [[ ! -f "${PROTOC}" ]]; then
|
||||||
|
git submodule update --init --recursive third_party/protobuf
|
||||||
|
cd ${BASE_DIR}/third_party/protobuf
|
||||||
|
rm -rf build && mkdir -pv build && ./autogen.sh
|
||||||
|
./configure --prefix=${BASE_DIR}/third_party/protobuf/build
|
||||||
|
make clean && make -j$THREAD_NUM && make install
|
||||||
|
gene_protobuf
|
||||||
|
fi
|
||||||
|
if [[ "${MAKE_ONLY}" == "off" ]]; then
|
||||||
|
gene_protobuf
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
build_gtest() {
|
||||||
|
cd ${BASE_DIR}
|
||||||
|
git submodule update --init --recursive third_party/googletest
|
||||||
|
}
|
||||||
|
|
||||||
|
gene_clhpp() {
|
||||||
|
CL_SRC_DIR="${BASE_DIR}/mindspore/lite/src/runtime/kernel/opencl/cl"
|
||||||
|
for sub_dir in "${CL_SRC_DIR}"/*
|
||||||
|
do
|
||||||
|
data_type="$(basename ${sub_dir})"
|
||||||
|
if [ ! -d ${CL_SRC_DIR}/${data_type} ]; then
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
cd ${CL_SRC_DIR}/${data_type}
|
||||||
|
rm -rf *.inc
|
||||||
|
echo "$(cd "$(dirname $0)"; pwd)"
|
||||||
|
for file_path in "${CL_SRC_DIR}/${data_type}"/*
|
||||||
|
do
|
||||||
|
file="$(basename ${file_path})"
|
||||||
|
inc_file=`echo ${CL_SRC_DIR}/${data_type}/${file} | sed 's/$/.inc/'`
|
||||||
|
sed 's/^/\"/;s/$/ \\n\" \\/' ${CL_SRC_DIR}/${data_type}/${file} > ${inc_file}
|
||||||
|
kernel_name=`echo ${file} | sed s'/.\{3\}$//'`
|
||||||
|
sed -i "1i\static const char *${kernel_name}_source_${data_type} =\"\\n\" \\" ${inc_file}
|
||||||
|
sed -i '$a\;' ${inc_file}
|
||||||
|
done
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
gene_ocl_program() {
|
||||||
|
CL_SRC_DIR="${BASE_DIR}/mindspore/lite/src/runtime/kernel/opencl/cl"
|
||||||
|
SPIRV_DIR=build/spirv
|
||||||
|
rm -rf ${SPIRV_DIR}
|
||||||
|
mkdir -pv ${SPIRV_DIR}
|
||||||
|
for sub_dir in "${CL_SRC_DIR}"/*
|
||||||
|
do
|
||||||
|
data_type="$(basename ${sub_dir})"
|
||||||
|
if [ ! -d ${CL_SRC_DIR}/${data_type} ]; then
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
#echo $(cd "$(dirname $0)"; pwd)
|
||||||
|
for file_path in "${CL_SRC_DIR}/${data_type}"/*
|
||||||
|
do
|
||||||
|
file="$(basename ${file_path})"
|
||||||
|
if [ "${file##*.}" != "cl" ]; then
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
clang -Xclang -finclude-default-header -cl-std=CL2.0 --target=spir64-unknown-unknown -emit-llvm \
|
||||||
|
-c -O0 -o ${SPIRV_DIR}/${file%.*}.bc ${CL_SRC_DIR}/${data_type}/${file}
|
||||||
|
done
|
||||||
|
done
|
||||||
|
|
||||||
|
bcs=`ls ${SPIRV_DIR}/*.bc`
|
||||||
|
llvm-link ${bcs} -o ${SPIRV_DIR}/program.bc
|
||||||
|
llvm-spirv -o ${SPIRV_DIR}/program.spv ${SPIRV_DIR}/program.bc
|
||||||
|
|
||||||
|
CL_PROGRAM_PATH="${BASE_DIR}/mindspore/lite/src/runtime/kernel/opencl/cl/program.inc"
|
||||||
|
echo "#include <vector>" > ${CL_PROGRAM_PATH}
|
||||||
|
echo "std::vector<unsigned char> g_program_binary = {" >> ${CL_PROGRAM_PATH}
|
||||||
|
#hexdump -v -e '16/1 "0x%02x, " "\n"' ${SPIRV_DIR}/program.spv >> ${CL_PROGRAM_PATH}
|
||||||
|
hexdump -v -e '1/1 "0x%02x, "' ${SPIRV_DIR}/program.spv >> ${CL_PROGRAM_PATH}
|
||||||
|
echo "};" >> ${CL_PROGRAM_PATH}
|
||||||
|
echo "Compile SPIRV done"
|
||||||
|
}
|
||||||
|
|
||||||
|
build_opencl() {
|
||||||
|
cd ${BASE_DIR}
|
||||||
|
git submodule update --init third_party/OpenCL-Headers
|
||||||
|
git submodule update --init third_party/OpenCL-CLHPP
|
||||||
|
if [[ "${OFFLINE_COMPILE}" == "on" ]]; then
|
||||||
|
gene_ocl_program
|
||||||
|
else
|
||||||
|
gene_clhpp
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
buildlite() {
|
||||||
|
if [[ "${MAKE_ONLY}" == "off" ]]; then
|
||||||
|
cd ${CUR_DIR}
|
||||||
|
rm -rf build
|
||||||
|
mkdir -pv build
|
||||||
|
cd build
|
||||||
|
if [[ "${BUILD_DEVICE_PLATFORM}" == "arm64" ]]; then
|
||||||
|
checkndk
|
||||||
|
cmake -DCMAKE_TOOLCHAIN_FILE="${ANDROID_NDK}/build/cmake/android.toolchain.cmake" -DANDROID_NATIVE_API_LEVEL="19" \
|
||||||
|
-DANDROID_NDK="${ANDROID_NDK}" -DANDROID_ABI="arm64-v8a" -DANDROID_TOOLCHAIN_NAME="aarch64-linux-android-clang" \
|
||||||
|
-DANDROID_STL="c++_shared" -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DSUPPORT_TRAIN=${SUPPORT_TRAIN} \
|
||||||
|
-DBUILD_DEVICE=on -DPLATFORM_ARM64=on -DBUILD_CONVERTER=off -DENABLE_NEON=on -DENABLE_FP16="${ENABLE_FP16}" \
|
||||||
|
-DSUPPORT_GPU=${ENABLE_GPU} -DOFFLINE_COMPILE=${OFFLINE_COMPILE} ..
|
||||||
|
elif [[ "${BUILD_DEVICE_PLATFORM}" == "arm32" ]]; then
|
||||||
|
checkndk
|
||||||
|
cmake -DCMAKE_TOOLCHAIN_FILE="${ANDROID_NDK}/build/cmake/android.toolchain.cmake" -DANDROID_NATIVE_API_LEVEL="19" \
|
||||||
|
-DANDROID_NDK="${ANDROID_NDK}" -DANDROID_ABI="armeabi-v7a" -DANDROID_TOOLCHAIN_NAME="clang" \
|
||||||
|
-DANDROID_STL="c++_shared" -DCMAKE_BUILD_TYPE=${BUILD_TYPE} \
|
||||||
|
-DBUILD_DEVICE=on -DPLATFORM_ARM32=on -DENABLE_NEON=on -DSUPPORT_TRAIN=${SUPPORT_TRAIN} -DBUILD_CONVERTER=off \
|
||||||
|
-DSUPPORT_GPU=${ENABLE_GPU} -DOFFLINE_COMPILE=${OFFLINE_COMPILE} ..
|
||||||
|
else
|
||||||
|
cmake -DBUILD_DEVICE=on -DPLATFORM_ARM64=off -DBUILD_CONVERTER=${ENABLE_CONVERTER} -DSUPPORT_TRAIN=${SUPPORT_TRAIN} \
|
||||||
|
-DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DSUPPORT_GPU=${ENABLE_GPU} -DOFFLINE_COMPILE=${OFFLINE_COMPILE} ..
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
cd ${CUR_DIR}/build
|
||||||
|
fi
|
||||||
|
VERBOSE=2 make -j$THREAD_NUM
|
||||||
|
}
|
||||||
|
|
||||||
|
echo "---------------- mindspore lite: build start ----------------"
|
||||||
|
checkopts "$@"
|
||||||
|
build_flatbuffer
|
||||||
|
if [[ "${ENABLE_CONVERTER}" == "on" ]]; then
|
||||||
|
build_protobuf
|
||||||
|
fi
|
||||||
|
if [[ "${ENABLE_GPU}" == "on" ]]; then
|
||||||
|
build_opencl
|
||||||
|
fi
|
||||||
|
build_gtest
|
||||||
|
buildlite
|
||||||
|
COMPILE_RET=$?
|
||||||
|
if [[ "${COMPILE_RET}" -ne 0 ]]; then
|
||||||
|
echo "---------------- mindspore lite: build failed ----------------"
|
||||||
|
else
|
||||||
|
echo "---------------- mindspore lite: build success ----------------"
|
||||||
|
fi
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,7 @@
|
||||||
|
# CMake generated Testfile for
|
||||||
|
# Source directory: /mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest
|
||||||
|
# Build directory: /mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest
|
||||||
|
#
|
||||||
|
# This file includes the relevant testing commands required for
|
||||||
|
# testing this directory and lists subdirectories to be tested as well.
|
||||||
|
subdirs("googlemock")
|
|
@ -0,0 +1,7 @@
|
||||||
|
# CMake generated Testfile for
|
||||||
|
# Source directory: /mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googlemock
|
||||||
|
# Build directory: /mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock
|
||||||
|
#
|
||||||
|
# This file includes the relevant testing commands required for
|
||||||
|
# testing this directory and lists subdirectories to be tested as well.
|
||||||
|
subdirs("gtest")
|
|
@ -0,0 +1,517 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<CodeBlocks_project_file>
|
||||||
|
<FileVersion major="1" minor="6"/>
|
||||||
|
<Project>
|
||||||
|
<Option title="gmock"/>
|
||||||
|
<Option makefile_is_custom="1"/>
|
||||||
|
<Option compiler="gcc"/>
|
||||||
|
<Option virtualFolders="CMake Files\;CMake Files\..\;CMake Files\..\..\;CMake Files\..\..\cmake\;CMake Files\..\..\cmake\external_libs\;CMake Files\..\..\..\;CMake Files\..\..\..\..\;CMake Files\..\..\..\..\..\;CMake Files\..\..\..\..\..\..\;CMake Files\..\..\..\..\..\..\..\;CMake Files\..\..\..\..\..\..\..\..\;CMake Files\..\..\..\..\..\..\..\..\home\;CMake Files\..\..\..\..\..\..\..\..\home\hgq\;CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\;CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\pybind11_4ff815e53c2c9c54255c528ad480c451\;CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\pybind11_4ff815e53c2c9c54255c528ad480c451\share\;CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\pybind11_4ff815e53c2c9c54255c528ad480c451\share\cmake\;CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\pybind11_4ff815e53c2c9c54255c528ad480c451\share\cmake\pybind11\;CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\eigen3_951666374a92d62fcd880d2baa7db402\;CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\eigen3_951666374a92d62fcd880d2baa7db402\share\;CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\eigen3_951666374a92d62fcd880d2baa7db402\share\eigen3\;CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\eigen3_951666374a92d62fcd880d2baa7db402\share\eigen3\cmake\;CMake Files\..\..\third_party\;CMake Files\..\..\third_party\securec\;CMake Files\..\..\third_party\securec\src\;CMake Files\..\..\third_party\googletest\;CMake Files\..\..\third_party\googletest\googlemock\;CMake Files\..\..\third_party\googletest\googlemock\cmake\;CMake Files\..\..\third_party\googletest\googletest\;CMake Files\..\..\third_party\googletest\googletest\cmake\;CMake Files\tools\;CMake Files\tools\converter\;CMake Files\tools\converter\parser\;CMake Files\tools\converter\parser\caffe\;CMake Files\tools\converter\parser\tflite\;CMake Files\tools\converter\optimizer\;CMake Files\tools\converter\optimizer\fusion\;CMake Files\tools\converter\optimizer\node\;CMake Files\tools\converter\optimizer\graph\;CMake Files\tools\converter\quantizer\;CMake Files\tools\benchmark\;CMake Files\src\;CMake Files\src\common\;CMake Files\src\common\anf_exporter\;CMake Files\src\runtime\;CMake Files\src\runtime\kernel\;CMake Files\src\runtime\kernel\arm\;CMake Files\src\runtime\kernel\arm\opclib\;CMake Files\src\ops\;CMake Files\test\;"/>
|
||||||
|
<Build>
|
||||||
|
<Target title="all">
|
||||||
|
<Option working_dir="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock"/>
|
||||||
|
<Option type="4"/>
|
||||||
|
<MakeCommands>
|
||||||
|
<Build command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/Makefile" VERBOSE=1 all"/>
|
||||||
|
<CompileFile command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/Makefile" VERBOSE=1 "$file""/>
|
||||||
|
<Clean command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/Makefile" VERBOSE=1 clean"/>
|
||||||
|
<DistClean command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/Makefile" VERBOSE=1 clean"/>
|
||||||
|
</MakeCommands>
|
||||||
|
</Target>
|
||||||
|
<Target title="gmock_main">
|
||||||
|
<Option output="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/libgmock_maind.so" prefix_auto="0" extension_auto="0"/>
|
||||||
|
<Option working_dir="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock"/>
|
||||||
|
<Option object_output="./"/>
|
||||||
|
<Option type="3"/>
|
||||||
|
<Option compiler="gcc"/>
|
||||||
|
<Compiler>
|
||||||
|
<Add option="-DGTEST_CREATE_SHARED_LIBRARY=1"/>
|
||||||
|
<Add option="-DUSE_ANDROID_LOG"/>
|
||||||
|
<Add option="-DNO_DLIB"/>
|
||||||
|
<Add option="-DBUILD_DEVICE"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../.."/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/core"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/ccsrc"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/flatbuffers/include"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/nlohmann_json_b73a91c3af99db76a4468ecba3b99509/."/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/cmake/../third_party/securec/include"/>
|
||||||
|
<Add directory="/mnt/data/software/anaconda/anaconda/include/python3.7m"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/pybind11_4ff815e53c2c9c54255c528ad480c451/include"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/eigen3_951666374a92d62fcd880d2baa7db402/include/eigen3"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/protobuf/build/include"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../tests/ut/cpp"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/lite/tools"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/lite/lite"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googlemock/include"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googlemock"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googletest/include"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googletest"/>
|
||||||
|
<Add directory="/usr/include/c++/7"/>
|
||||||
|
<Add directory="/usr/include/x86_64-linux-gnu/c++/7"/>
|
||||||
|
<Add directory="/usr/include/c++/7/backward"/>
|
||||||
|
<Add directory="/usr/lib/gcc/x86_64-linux-gnu/7/include"/>
|
||||||
|
<Add directory="/usr/local/include"/>
|
||||||
|
<Add directory="/usr/lib/gcc/x86_64-linux-gnu/7/include-fixed"/>
|
||||||
|
<Add directory="/usr/include/x86_64-linux-gnu"/>
|
||||||
|
<Add directory="/usr/include"/>
|
||||||
|
</Compiler>
|
||||||
|
<MakeCommands>
|
||||||
|
<Build command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/Makefile" VERBOSE=1 gmock_main"/>
|
||||||
|
<CompileFile command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/Makefile" VERBOSE=1 "$file""/>
|
||||||
|
<Clean command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/Makefile" VERBOSE=1 clean"/>
|
||||||
|
<DistClean command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/Makefile" VERBOSE=1 clean"/>
|
||||||
|
</MakeCommands>
|
||||||
|
</Target>
|
||||||
|
<Target title="gmock_main/fast">
|
||||||
|
<Option output="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/libgmock_maind.so" prefix_auto="0" extension_auto="0"/>
|
||||||
|
<Option working_dir="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock"/>
|
||||||
|
<Option object_output="./"/>
|
||||||
|
<Option type="3"/>
|
||||||
|
<Option compiler="gcc"/>
|
||||||
|
<Compiler>
|
||||||
|
<Add option="-DGTEST_CREATE_SHARED_LIBRARY=1"/>
|
||||||
|
<Add option="-DUSE_ANDROID_LOG"/>
|
||||||
|
<Add option="-DNO_DLIB"/>
|
||||||
|
<Add option="-DBUILD_DEVICE"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../.."/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/core"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/ccsrc"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/flatbuffers/include"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/nlohmann_json_b73a91c3af99db76a4468ecba3b99509/."/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/cmake/../third_party/securec/include"/>
|
||||||
|
<Add directory="/mnt/data/software/anaconda/anaconda/include/python3.7m"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/pybind11_4ff815e53c2c9c54255c528ad480c451/include"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/eigen3_951666374a92d62fcd880d2baa7db402/include/eigen3"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/protobuf/build/include"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../tests/ut/cpp"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/lite/tools"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/lite/lite"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googlemock/include"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googlemock"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googletest/include"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googletest"/>
|
||||||
|
<Add directory="/usr/include/c++/7"/>
|
||||||
|
<Add directory="/usr/include/x86_64-linux-gnu/c++/7"/>
|
||||||
|
<Add directory="/usr/include/c++/7/backward"/>
|
||||||
|
<Add directory="/usr/lib/gcc/x86_64-linux-gnu/7/include"/>
|
||||||
|
<Add directory="/usr/local/include"/>
|
||||||
|
<Add directory="/usr/lib/gcc/x86_64-linux-gnu/7/include-fixed"/>
|
||||||
|
<Add directory="/usr/include/x86_64-linux-gnu"/>
|
||||||
|
<Add directory="/usr/include"/>
|
||||||
|
</Compiler>
|
||||||
|
<MakeCommands>
|
||||||
|
<Build command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/Makefile" VERBOSE=1 gmock_main/fast"/>
|
||||||
|
<CompileFile command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/Makefile" VERBOSE=1 "$file""/>
|
||||||
|
<Clean command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/Makefile" VERBOSE=1 clean"/>
|
||||||
|
<DistClean command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/Makefile" VERBOSE=1 clean"/>
|
||||||
|
</MakeCommands>
|
||||||
|
</Target>
|
||||||
|
<Target title="gmock">
|
||||||
|
<Option output="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/libgmockd.so" prefix_auto="0" extension_auto="0"/>
|
||||||
|
<Option working_dir="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock"/>
|
||||||
|
<Option object_output="./"/>
|
||||||
|
<Option type="3"/>
|
||||||
|
<Option compiler="gcc"/>
|
||||||
|
<Compiler>
|
||||||
|
<Add option="-DGTEST_CREATE_SHARED_LIBRARY=1"/>
|
||||||
|
<Add option="-DUSE_ANDROID_LOG"/>
|
||||||
|
<Add option="-DNO_DLIB"/>
|
||||||
|
<Add option="-DBUILD_DEVICE"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../.."/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/core"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/ccsrc"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/flatbuffers/include"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/nlohmann_json_b73a91c3af99db76a4468ecba3b99509/."/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/cmake/../third_party/securec/include"/>
|
||||||
|
<Add directory="/mnt/data/software/anaconda/anaconda/include/python3.7m"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/pybind11_4ff815e53c2c9c54255c528ad480c451/include"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/eigen3_951666374a92d62fcd880d2baa7db402/include/eigen3"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/protobuf/build/include"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../tests/ut/cpp"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/lite/tools"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/lite/lite"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googlemock/include"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googlemock"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googletest/include"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googletest"/>
|
||||||
|
<Add directory="/usr/include/c++/7"/>
|
||||||
|
<Add directory="/usr/include/x86_64-linux-gnu/c++/7"/>
|
||||||
|
<Add directory="/usr/include/c++/7/backward"/>
|
||||||
|
<Add directory="/usr/lib/gcc/x86_64-linux-gnu/7/include"/>
|
||||||
|
<Add directory="/usr/local/include"/>
|
||||||
|
<Add directory="/usr/lib/gcc/x86_64-linux-gnu/7/include-fixed"/>
|
||||||
|
<Add directory="/usr/include/x86_64-linux-gnu"/>
|
||||||
|
<Add directory="/usr/include"/>
|
||||||
|
</Compiler>
|
||||||
|
<MakeCommands>
|
||||||
|
<Build command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/Makefile" VERBOSE=1 gmock"/>
|
||||||
|
<CompileFile command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/Makefile" VERBOSE=1 "$file""/>
|
||||||
|
<Clean command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/Makefile" VERBOSE=1 clean"/>
|
||||||
|
<DistClean command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/Makefile" VERBOSE=1 clean"/>
|
||||||
|
</MakeCommands>
|
||||||
|
</Target>
|
||||||
|
<Target title="gmock/fast">
|
||||||
|
<Option output="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/libgmockd.so" prefix_auto="0" extension_auto="0"/>
|
||||||
|
<Option working_dir="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock"/>
|
||||||
|
<Option object_output="./"/>
|
||||||
|
<Option type="3"/>
|
||||||
|
<Option compiler="gcc"/>
|
||||||
|
<Compiler>
|
||||||
|
<Add option="-DGTEST_CREATE_SHARED_LIBRARY=1"/>
|
||||||
|
<Add option="-DUSE_ANDROID_LOG"/>
|
||||||
|
<Add option="-DNO_DLIB"/>
|
||||||
|
<Add option="-DBUILD_DEVICE"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../.."/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/core"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/ccsrc"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/flatbuffers/include"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/nlohmann_json_b73a91c3af99db76a4468ecba3b99509/."/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/cmake/../third_party/securec/include"/>
|
||||||
|
<Add directory="/mnt/data/software/anaconda/anaconda/include/python3.7m"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/pybind11_4ff815e53c2c9c54255c528ad480c451/include"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/eigen3_951666374a92d62fcd880d2baa7db402/include/eigen3"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/protobuf/build/include"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../tests/ut/cpp"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/lite/tools"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/lite/lite"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googlemock/include"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googlemock"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googletest/include"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googletest"/>
|
||||||
|
<Add directory="/usr/include/c++/7"/>
|
||||||
|
<Add directory="/usr/include/x86_64-linux-gnu/c++/7"/>
|
||||||
|
<Add directory="/usr/include/c++/7/backward"/>
|
||||||
|
<Add directory="/usr/lib/gcc/x86_64-linux-gnu/7/include"/>
|
||||||
|
<Add directory="/usr/local/include"/>
|
||||||
|
<Add directory="/usr/lib/gcc/x86_64-linux-gnu/7/include-fixed"/>
|
||||||
|
<Add directory="/usr/include/x86_64-linux-gnu"/>
|
||||||
|
<Add directory="/usr/include"/>
|
||||||
|
</Compiler>
|
||||||
|
<MakeCommands>
|
||||||
|
<Build command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/Makefile" VERBOSE=1 gmock/fast"/>
|
||||||
|
<CompileFile command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/Makefile" VERBOSE=1 "$file""/>
|
||||||
|
<Clean command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/Makefile" VERBOSE=1 clean"/>
|
||||||
|
<DistClean command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/Makefile" VERBOSE=1 clean"/>
|
||||||
|
</MakeCommands>
|
||||||
|
</Target>
|
||||||
|
<Target title="gtest_main">
|
||||||
|
<Option output="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/gtest/libgtest_maind.so" prefix_auto="0" extension_auto="0"/>
|
||||||
|
<Option working_dir="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/gtest"/>
|
||||||
|
<Option object_output="./"/>
|
||||||
|
<Option type="3"/>
|
||||||
|
<Option compiler="gcc"/>
|
||||||
|
<Compiler>
|
||||||
|
<Add option="-DGTEST_CREATE_SHARED_LIBRARY=1"/>
|
||||||
|
<Add option="-DUSE_ANDROID_LOG"/>
|
||||||
|
<Add option="-DNO_DLIB"/>
|
||||||
|
<Add option="-DBUILD_DEVICE"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../.."/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/core"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/ccsrc"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/flatbuffers/include"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/nlohmann_json_b73a91c3af99db76a4468ecba3b99509/."/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/cmake/../third_party/securec/include"/>
|
||||||
|
<Add directory="/mnt/data/software/anaconda/anaconda/include/python3.7m"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/pybind11_4ff815e53c2c9c54255c528ad480c451/include"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/eigen3_951666374a92d62fcd880d2baa7db402/include/eigen3"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/protobuf/build/include"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../tests/ut/cpp"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/lite/tools"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/lite/lite"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googletest/include"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googletest"/>
|
||||||
|
<Add directory="/usr/include/c++/7"/>
|
||||||
|
<Add directory="/usr/include/x86_64-linux-gnu/c++/7"/>
|
||||||
|
<Add directory="/usr/include/c++/7/backward"/>
|
||||||
|
<Add directory="/usr/lib/gcc/x86_64-linux-gnu/7/include"/>
|
||||||
|
<Add directory="/usr/local/include"/>
|
||||||
|
<Add directory="/usr/lib/gcc/x86_64-linux-gnu/7/include-fixed"/>
|
||||||
|
<Add directory="/usr/include/x86_64-linux-gnu"/>
|
||||||
|
<Add directory="/usr/include"/>
|
||||||
|
</Compiler>
|
||||||
|
<MakeCommands>
|
||||||
|
<Build command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/gtest/Makefile" VERBOSE=1 gtest_main"/>
|
||||||
|
<CompileFile command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/gtest/Makefile" VERBOSE=1 "$file""/>
|
||||||
|
<Clean command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/gtest/Makefile" VERBOSE=1 clean"/>
|
||||||
|
<DistClean command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/gtest/Makefile" VERBOSE=1 clean"/>
|
||||||
|
</MakeCommands>
|
||||||
|
</Target>
|
||||||
|
<Target title="gtest_main/fast">
|
||||||
|
<Option output="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/gtest/libgtest_maind.so" prefix_auto="0" extension_auto="0"/>
|
||||||
|
<Option working_dir="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/gtest"/>
|
||||||
|
<Option object_output="./"/>
|
||||||
|
<Option type="3"/>
|
||||||
|
<Option compiler="gcc"/>
|
||||||
|
<Compiler>
|
||||||
|
<Add option="-DGTEST_CREATE_SHARED_LIBRARY=1"/>
|
||||||
|
<Add option="-DUSE_ANDROID_LOG"/>
|
||||||
|
<Add option="-DNO_DLIB"/>
|
||||||
|
<Add option="-DBUILD_DEVICE"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../.."/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/core"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/ccsrc"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/flatbuffers/include"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/nlohmann_json_b73a91c3af99db76a4468ecba3b99509/."/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/cmake/../third_party/securec/include"/>
|
||||||
|
<Add directory="/mnt/data/software/anaconda/anaconda/include/python3.7m"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/pybind11_4ff815e53c2c9c54255c528ad480c451/include"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/eigen3_951666374a92d62fcd880d2baa7db402/include/eigen3"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/protobuf/build/include"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../tests/ut/cpp"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/lite/tools"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/lite/lite"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googletest/include"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googletest"/>
|
||||||
|
<Add directory="/usr/include/c++/7"/>
|
||||||
|
<Add directory="/usr/include/x86_64-linux-gnu/c++/7"/>
|
||||||
|
<Add directory="/usr/include/c++/7/backward"/>
|
||||||
|
<Add directory="/usr/lib/gcc/x86_64-linux-gnu/7/include"/>
|
||||||
|
<Add directory="/usr/local/include"/>
|
||||||
|
<Add directory="/usr/lib/gcc/x86_64-linux-gnu/7/include-fixed"/>
|
||||||
|
<Add directory="/usr/include/x86_64-linux-gnu"/>
|
||||||
|
<Add directory="/usr/include"/>
|
||||||
|
</Compiler>
|
||||||
|
<MakeCommands>
|
||||||
|
<Build command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/gtest/Makefile" VERBOSE=1 gtest_main/fast"/>
|
||||||
|
<CompileFile command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/gtest/Makefile" VERBOSE=1 "$file""/>
|
||||||
|
<Clean command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/gtest/Makefile" VERBOSE=1 clean"/>
|
||||||
|
<DistClean command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/gtest/Makefile" VERBOSE=1 clean"/>
|
||||||
|
</MakeCommands>
|
||||||
|
</Target>
|
||||||
|
<Target title="gtest">
|
||||||
|
<Option output="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/gtest/libgtestd.so" prefix_auto="0" extension_auto="0"/>
|
||||||
|
<Option working_dir="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/gtest"/>
|
||||||
|
<Option object_output="./"/>
|
||||||
|
<Option type="3"/>
|
||||||
|
<Option compiler="gcc"/>
|
||||||
|
<Compiler>
|
||||||
|
<Add option="-DGTEST_CREATE_SHARED_LIBRARY=1"/>
|
||||||
|
<Add option="-DUSE_ANDROID_LOG"/>
|
||||||
|
<Add option="-DNO_DLIB"/>
|
||||||
|
<Add option="-DBUILD_DEVICE"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../.."/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/core"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/ccsrc"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/flatbuffers/include"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/nlohmann_json_b73a91c3af99db76a4468ecba3b99509/."/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/cmake/../third_party/securec/include"/>
|
||||||
|
<Add directory="/mnt/data/software/anaconda/anaconda/include/python3.7m"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/pybind11_4ff815e53c2c9c54255c528ad480c451/include"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/eigen3_951666374a92d62fcd880d2baa7db402/include/eigen3"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/protobuf/build/include"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../tests/ut/cpp"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/lite/tools"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/lite/lite"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googletest/include"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googletest"/>
|
||||||
|
<Add directory="/usr/include/c++/7"/>
|
||||||
|
<Add directory="/usr/include/x86_64-linux-gnu/c++/7"/>
|
||||||
|
<Add directory="/usr/include/c++/7/backward"/>
|
||||||
|
<Add directory="/usr/lib/gcc/x86_64-linux-gnu/7/include"/>
|
||||||
|
<Add directory="/usr/local/include"/>
|
||||||
|
<Add directory="/usr/lib/gcc/x86_64-linux-gnu/7/include-fixed"/>
|
||||||
|
<Add directory="/usr/include/x86_64-linux-gnu"/>
|
||||||
|
<Add directory="/usr/include"/>
|
||||||
|
</Compiler>
|
||||||
|
<MakeCommands>
|
||||||
|
<Build command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/gtest/Makefile" VERBOSE=1 gtest"/>
|
||||||
|
<CompileFile command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/gtest/Makefile" VERBOSE=1 "$file""/>
|
||||||
|
<Clean command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/gtest/Makefile" VERBOSE=1 clean"/>
|
||||||
|
<DistClean command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/gtest/Makefile" VERBOSE=1 clean"/>
|
||||||
|
</MakeCommands>
|
||||||
|
</Target>
|
||||||
|
<Target title="gtest/fast">
|
||||||
|
<Option output="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/gtest/libgtestd.so" prefix_auto="0" extension_auto="0"/>
|
||||||
|
<Option working_dir="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/gtest"/>
|
||||||
|
<Option object_output="./"/>
|
||||||
|
<Option type="3"/>
|
||||||
|
<Option compiler="gcc"/>
|
||||||
|
<Compiler>
|
||||||
|
<Add option="-DGTEST_CREATE_SHARED_LIBRARY=1"/>
|
||||||
|
<Add option="-DUSE_ANDROID_LOG"/>
|
||||||
|
<Add option="-DNO_DLIB"/>
|
||||||
|
<Add option="-DBUILD_DEVICE"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../.."/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/core"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/ccsrc"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/flatbuffers/include"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/nlohmann_json_b73a91c3af99db76a4468ecba3b99509/."/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/cmake/../third_party/securec/include"/>
|
||||||
|
<Add directory="/mnt/data/software/anaconda/anaconda/include/python3.7m"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/pybind11_4ff815e53c2c9c54255c528ad480c451/include"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/eigen3_951666374a92d62fcd880d2baa7db402/include/eigen3"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/protobuf/build/include"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../tests/ut/cpp"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/lite/tools"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/lite/lite"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googletest/include"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googletest"/>
|
||||||
|
<Add directory="/usr/include/c++/7"/>
|
||||||
|
<Add directory="/usr/include/x86_64-linux-gnu/c++/7"/>
|
||||||
|
<Add directory="/usr/include/c++/7/backward"/>
|
||||||
|
<Add directory="/usr/lib/gcc/x86_64-linux-gnu/7/include"/>
|
||||||
|
<Add directory="/usr/local/include"/>
|
||||||
|
<Add directory="/usr/lib/gcc/x86_64-linux-gnu/7/include-fixed"/>
|
||||||
|
<Add directory="/usr/include/x86_64-linux-gnu"/>
|
||||||
|
<Add directory="/usr/include"/>
|
||||||
|
</Compiler>
|
||||||
|
<MakeCommands>
|
||||||
|
<Build command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/gtest/Makefile" VERBOSE=1 gtest/fast"/>
|
||||||
|
<CompileFile command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/gtest/Makefile" VERBOSE=1 "$file""/>
|
||||||
|
<Clean command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/gtest/Makefile" VERBOSE=1 clean"/>
|
||||||
|
<DistClean command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/gtest/Makefile" VERBOSE=1 clean"/>
|
||||||
|
</MakeCommands>
|
||||||
|
</Target>
|
||||||
|
</Build>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googlemock/src/gmock-all.cc">
|
||||||
|
<Option target="gmock"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googlemock/src/gmock_main.cc">
|
||||||
|
<Option target="gmock_main"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googletest/src/gtest-all.cc">
|
||||||
|
<Option target="gtest"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googletest/src/gtest_main.cc">
|
||||||
|
<Option target="gtest_main"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../cmake/dependency_gtest.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\cmake\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../cmake/dependency_securec.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\cmake\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../cmake/utils.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\cmake\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../cmake/external_libs/eigen.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\cmake\external_libs\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../cmake/external_libs/json.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\cmake\external_libs\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../cmake/external_libs/pybind11.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\cmake\external_libs\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../../../../../../../home/hgq/.mslib/pybind11_4ff815e53c2c9c54255c528ad480c451/share/cmake/pybind11/FindPythonLibsNew.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\pybind11_4ff815e53c2c9c54255c528ad480c451\share\cmake\pybind11\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../../../../../../../home/hgq/.mslib/pybind11_4ff815e53c2c9c54255c528ad480c451/share/cmake/pybind11/pybind11Config.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\pybind11_4ff815e53c2c9c54255c528ad480c451\share\cmake\pybind11\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../../../../../../../home/hgq/.mslib/pybind11_4ff815e53c2c9c54255c528ad480c451/share/cmake/pybind11/pybind11ConfigVersion.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\pybind11_4ff815e53c2c9c54255c528ad480c451\share\cmake\pybind11\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../../../../../../../home/hgq/.mslib/pybind11_4ff815e53c2c9c54255c528ad480c451/share/cmake/pybind11/pybind11Targets.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\pybind11_4ff815e53c2c9c54255c528ad480c451\share\cmake\pybind11\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../../../../../../../home/hgq/.mslib/pybind11_4ff815e53c2c9c54255c528ad480c451/share/cmake/pybind11/pybind11Tools.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\pybind11_4ff815e53c2c9c54255c528ad480c451\share\cmake\pybind11\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../../../../../../../home/hgq/.mslib/eigen3_951666374a92d62fcd880d2baa7db402/share/eigen3/cmake/Eigen3Config.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\eigen3_951666374a92d62fcd880d2baa7db402\share\eigen3\cmake\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../../../../../../../home/hgq/.mslib/eigen3_951666374a92d62fcd880d2baa7db402/share/eigen3/cmake/Eigen3ConfigVersion.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\eigen3_951666374a92d62fcd880d2baa7db402\share\eigen3\cmake\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../../../../../../../home/hgq/.mslib/eigen3_951666374a92d62fcd880d2baa7db402/share/eigen3/cmake/Eigen3Targets.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\eigen3_951666374a92d62fcd880d2baa7db402\share\eigen3\cmake\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/securec/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\third_party\securec\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/securec/src/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\third_party\securec\src\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/googletest/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\third_party\googletest\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/googletest/googlemock/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\third_party\googletest\googlemock\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/googletest/googlemock/cmake/gmock.pc.in">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\third_party\googletest\googlemock\cmake\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/googletest/googlemock/cmake/gmock_main.pc.in">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\third_party\googletest\googlemock\cmake\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/googletest/googletest/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\third_party\googletest\googletest\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/googletest/googletest/cmake/Config.cmake.in">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\third_party\googletest\googletest\cmake\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/googletest/googletest/cmake/gtest.pc.in">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\third_party\googletest\googletest\cmake\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/googletest/googletest/cmake/gtest_main.pc.in">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\third_party\googletest\googletest\cmake\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/googletest/googletest/cmake/internal_utils.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\third_party\googletest\googletest\cmake\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/tools/converter/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\tools\converter\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/tools/converter/parser/caffe/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\tools\converter\parser\caffe\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/tools/converter/parser/tflite/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\tools\converter\parser\tflite\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/tools/converter/optimizer/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\tools\converter\optimizer\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/tools/converter/optimizer/fusion/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\tools\converter\optimizer\fusion\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/tools/converter/optimizer/node/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\tools\converter\optimizer\node\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/tools/converter/optimizer/graph/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\tools\converter\optimizer\graph\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/tools/converter/quantizer/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\tools\converter\quantizer\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/tools/benchmark/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\tools\benchmark\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/src/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\src\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/src/common/anf_exporter/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\src\common\anf_exporter\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/src/runtime/kernel/arm/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\src\runtime\kernel\arm\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/src/runtime/kernel/arm/opclib/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\src\runtime\kernel\arm\opclib\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/src/ops/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\src\ops\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/test/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\test\"/>
|
||||||
|
</Unit>
|
||||||
|
</Project>
|
||||||
|
</CodeBlocks_project_file>
|
|
@ -0,0 +1,6 @@
|
||||||
|
# CMake generated Testfile for
|
||||||
|
# Source directory: /mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googletest
|
||||||
|
# Build directory: /mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/gtest
|
||||||
|
#
|
||||||
|
# This file includes the relevant testing commands required for
|
||||||
|
# testing this directory and lists subdirectories to be tested as well.
|
|
@ -0,0 +1,33 @@
|
||||||
|
|
||||||
|
####### Expanded from @PACKAGE_INIT@ by configure_package_config_file() #######
|
||||||
|
####### Any changes to this file will be overwritten by the next CMake run ####
|
||||||
|
####### The input file was Config.cmake.in ########
|
||||||
|
|
||||||
|
get_filename_component(PACKAGE_PREFIX_DIR "${CMAKE_CURRENT_LIST_DIR}/../../../" ABSOLUTE)
|
||||||
|
|
||||||
|
macro(set_and_check _var _file)
|
||||||
|
set(${_var} "${_file}")
|
||||||
|
if(NOT EXISTS "${_file}")
|
||||||
|
message(FATAL_ERROR "File or directory ${_file} referenced by variable ${_var} does not exist !")
|
||||||
|
endif()
|
||||||
|
endmacro()
|
||||||
|
|
||||||
|
macro(check_required_components _NAME)
|
||||||
|
foreach(comp ${${_NAME}_FIND_COMPONENTS})
|
||||||
|
if(NOT ${_NAME}_${comp}_FOUND)
|
||||||
|
if(${_NAME}_FIND_REQUIRED_${comp})
|
||||||
|
set(${_NAME}_FOUND FALSE)
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
endforeach()
|
||||||
|
endmacro()
|
||||||
|
|
||||||
|
####################################################################################
|
||||||
|
include(CMakeFindDependencyMacro)
|
||||||
|
if (ON)
|
||||||
|
set(THREADS_PREFER_PTHREAD_FLAG ON)
|
||||||
|
find_dependency(Threads)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
include("${CMAKE_CURRENT_LIST_DIR}/GTestTargets.cmake")
|
||||||
|
check_required_components("")
|
|
@ -0,0 +1,37 @@
|
||||||
|
# This is a basic version file for the Config-mode of find_package().
|
||||||
|
# It is used by write_basic_package_version_file() as input file for configure_file()
|
||||||
|
# to create a version-file which can be installed along a config.cmake file.
|
||||||
|
#
|
||||||
|
# The created file sets PACKAGE_VERSION_EXACT if the current version string and
|
||||||
|
# the requested version string are exactly the same and it sets
|
||||||
|
# PACKAGE_VERSION_COMPATIBLE if the current version is >= requested version.
|
||||||
|
# The variable CVF_VERSION must be set before calling configure_file().
|
||||||
|
|
||||||
|
set(PACKAGE_VERSION "1.9.0")
|
||||||
|
|
||||||
|
if(PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION)
|
||||||
|
set(PACKAGE_VERSION_COMPATIBLE FALSE)
|
||||||
|
else()
|
||||||
|
set(PACKAGE_VERSION_COMPATIBLE TRUE)
|
||||||
|
if(PACKAGE_FIND_VERSION STREQUAL PACKAGE_VERSION)
|
||||||
|
set(PACKAGE_VERSION_EXACT TRUE)
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
|
||||||
|
# if the installed project requested no architecture check, don't perform the check
|
||||||
|
if("FALSE")
|
||||||
|
return()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# if the installed or the using project don't have CMAKE_SIZEOF_VOID_P set, ignore it:
|
||||||
|
if("${CMAKE_SIZEOF_VOID_P}" STREQUAL "" OR "8" STREQUAL "")
|
||||||
|
return()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# check that the installed version has the same 32/64bit-ness as the one which is currently searching:
|
||||||
|
if(NOT CMAKE_SIZEOF_VOID_P STREQUAL "8")
|
||||||
|
math(EXPR installedBits "8 * 8")
|
||||||
|
set(PACKAGE_VERSION "${PACKAGE_VERSION} (${installedBits}bit)")
|
||||||
|
set(PACKAGE_VERSION_UNSUITABLE TRUE)
|
||||||
|
endif()
|
|
@ -0,0 +1,9 @@
|
||||||
|
libdir=/usr/local/lib
|
||||||
|
includedir=/usr/local/include
|
||||||
|
|
||||||
|
Name: gmock
|
||||||
|
Description: GoogleMock (without main() function)
|
||||||
|
Version: 1.9.0
|
||||||
|
URL: https://github.com/google/googletest
|
||||||
|
Libs: -L${libdir} -lgmock -pthread
|
||||||
|
Cflags: -I${includedir} -DGTEST_HAS_PTHREAD=1 -pthread
|
|
@ -0,0 +1,9 @@
|
||||||
|
libdir=/usr/local/lib
|
||||||
|
includedir=/usr/local/include
|
||||||
|
|
||||||
|
Name: gmock_main
|
||||||
|
Description: GoogleMock (with main() function)
|
||||||
|
Version: 1.9.0
|
||||||
|
URL: https://github.com/google/googletest
|
||||||
|
Libs: -L${libdir} -lgmock_main -pthread
|
||||||
|
Cflags: -I${includedir} -DGTEST_HAS_PTHREAD=1 -pthread
|
|
@ -0,0 +1,9 @@
|
||||||
|
libdir=/usr/local/lib
|
||||||
|
includedir=/usr/local/include
|
||||||
|
|
||||||
|
Name: gtest
|
||||||
|
Description: GoogleTest (without main() function)
|
||||||
|
Version: 1.9.0
|
||||||
|
URL: https://github.com/google/googletest
|
||||||
|
Libs: -L${libdir} -lgtest -pthread
|
||||||
|
Cflags: -I${includedir} -DGTEST_HAS_PTHREAD=1 -pthread
|
|
@ -0,0 +1,10 @@
|
||||||
|
libdir=/usr/local/lib
|
||||||
|
includedir=/usr/local/include
|
||||||
|
|
||||||
|
Name: gtest_main
|
||||||
|
Description: GoogleTest (with main() function)
|
||||||
|
Version: 1.9.0
|
||||||
|
URL: https://github.com/google/googletest
|
||||||
|
Requires: gtest
|
||||||
|
Libs: -L${libdir} -lgtest_main -pthread
|
||||||
|
Cflags: -I${includedir} -DGTEST_HAS_PTHREAD=1 -pthread
|
|
@ -0,0 +1,327 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<CodeBlocks_project_file>
|
||||||
|
<FileVersion major="1" minor="6"/>
|
||||||
|
<Project>
|
||||||
|
<Option title="gtest"/>
|
||||||
|
<Option makefile_is_custom="1"/>
|
||||||
|
<Option compiler="gcc"/>
|
||||||
|
<Option virtualFolders="CMake Files\;CMake Files\..\;CMake Files\..\..\;CMake Files\..\..\cmake\;CMake Files\..\..\cmake\external_libs\;CMake Files\..\..\..\;CMake Files\..\..\..\..\;CMake Files\..\..\..\..\..\;CMake Files\..\..\..\..\..\..\;CMake Files\..\..\..\..\..\..\..\;CMake Files\..\..\..\..\..\..\..\..\;CMake Files\..\..\..\..\..\..\..\..\home\;CMake Files\..\..\..\..\..\..\..\..\home\hgq\;CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\;CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\pybind11_4ff815e53c2c9c54255c528ad480c451\;CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\pybind11_4ff815e53c2c9c54255c528ad480c451\share\;CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\pybind11_4ff815e53c2c9c54255c528ad480c451\share\cmake\;CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\pybind11_4ff815e53c2c9c54255c528ad480c451\share\cmake\pybind11\;CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\eigen3_951666374a92d62fcd880d2baa7db402\;CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\eigen3_951666374a92d62fcd880d2baa7db402\share\;CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\eigen3_951666374a92d62fcd880d2baa7db402\share\eigen3\;CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\eigen3_951666374a92d62fcd880d2baa7db402\share\eigen3\cmake\;CMake Files\..\..\third_party\;CMake Files\..\..\third_party\securec\;CMake Files\..\..\third_party\securec\src\;CMake Files\..\..\third_party\googletest\;CMake Files\..\..\third_party\googletest\googlemock\;CMake Files\..\..\third_party\googletest\googlemock\cmake\;CMake Files\..\..\third_party\googletest\googletest\;CMake Files\..\..\third_party\googletest\googletest\cmake\;CMake Files\tools\;CMake Files\tools\converter\;CMake Files\tools\converter\parser\;CMake Files\tools\converter\parser\caffe\;CMake Files\tools\converter\parser\tflite\;CMake Files\tools\converter\optimizer\;CMake Files\tools\converter\optimizer\fusion\;CMake Files\tools\converter\optimizer\node\;CMake Files\tools\converter\optimizer\graph\;CMake Files\tools\converter\quantizer\;CMake Files\tools\benchmark\;CMake Files\src\;CMake Files\src\common\;CMake Files\src\common\anf_exporter\;CMake Files\src\runtime\;CMake Files\src\runtime\kernel\;CMake Files\src\runtime\kernel\arm\;CMake Files\src\runtime\kernel\arm\opclib\;CMake Files\src\ops\;CMake Files\test\;"/>
|
||||||
|
<Build>
|
||||||
|
<Target title="all">
|
||||||
|
<Option working_dir="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/gtest"/>
|
||||||
|
<Option type="4"/>
|
||||||
|
<MakeCommands>
|
||||||
|
<Build command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/gtest/Makefile" VERBOSE=1 all"/>
|
||||||
|
<CompileFile command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/gtest/Makefile" VERBOSE=1 "$file""/>
|
||||||
|
<Clean command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/gtest/Makefile" VERBOSE=1 clean"/>
|
||||||
|
<DistClean command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/gtest/Makefile" VERBOSE=1 clean"/>
|
||||||
|
</MakeCommands>
|
||||||
|
</Target>
|
||||||
|
<Target title="gtest_main">
|
||||||
|
<Option output="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/gtest/libgtest_maind.so" prefix_auto="0" extension_auto="0"/>
|
||||||
|
<Option working_dir="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/gtest"/>
|
||||||
|
<Option object_output="./"/>
|
||||||
|
<Option type="3"/>
|
||||||
|
<Option compiler="gcc"/>
|
||||||
|
<Compiler>
|
||||||
|
<Add option="-DGTEST_CREATE_SHARED_LIBRARY=1"/>
|
||||||
|
<Add option="-DUSE_ANDROID_LOG"/>
|
||||||
|
<Add option="-DNO_DLIB"/>
|
||||||
|
<Add option="-DBUILD_DEVICE"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../.."/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/core"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/ccsrc"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/flatbuffers/include"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/nlohmann_json_b73a91c3af99db76a4468ecba3b99509/."/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/cmake/../third_party/securec/include"/>
|
||||||
|
<Add directory="/mnt/data/software/anaconda/anaconda/include/python3.7m"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/pybind11_4ff815e53c2c9c54255c528ad480c451/include"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/eigen3_951666374a92d62fcd880d2baa7db402/include/eigen3"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/protobuf/build/include"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../tests/ut/cpp"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/lite/tools"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/lite/lite"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googletest/include"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googletest"/>
|
||||||
|
<Add directory="/usr/include/c++/7"/>
|
||||||
|
<Add directory="/usr/include/x86_64-linux-gnu/c++/7"/>
|
||||||
|
<Add directory="/usr/include/c++/7/backward"/>
|
||||||
|
<Add directory="/usr/lib/gcc/x86_64-linux-gnu/7/include"/>
|
||||||
|
<Add directory="/usr/local/include"/>
|
||||||
|
<Add directory="/usr/lib/gcc/x86_64-linux-gnu/7/include-fixed"/>
|
||||||
|
<Add directory="/usr/include/x86_64-linux-gnu"/>
|
||||||
|
<Add directory="/usr/include"/>
|
||||||
|
</Compiler>
|
||||||
|
<MakeCommands>
|
||||||
|
<Build command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/gtest/Makefile" VERBOSE=1 gtest_main"/>
|
||||||
|
<CompileFile command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/gtest/Makefile" VERBOSE=1 "$file""/>
|
||||||
|
<Clean command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/gtest/Makefile" VERBOSE=1 clean"/>
|
||||||
|
<DistClean command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/gtest/Makefile" VERBOSE=1 clean"/>
|
||||||
|
</MakeCommands>
|
||||||
|
</Target>
|
||||||
|
<Target title="gtest_main/fast">
|
||||||
|
<Option output="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/gtest/libgtest_maind.so" prefix_auto="0" extension_auto="0"/>
|
||||||
|
<Option working_dir="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/gtest"/>
|
||||||
|
<Option object_output="./"/>
|
||||||
|
<Option type="3"/>
|
||||||
|
<Option compiler="gcc"/>
|
||||||
|
<Compiler>
|
||||||
|
<Add option="-DGTEST_CREATE_SHARED_LIBRARY=1"/>
|
||||||
|
<Add option="-DUSE_ANDROID_LOG"/>
|
||||||
|
<Add option="-DNO_DLIB"/>
|
||||||
|
<Add option="-DBUILD_DEVICE"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../.."/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/core"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/ccsrc"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/flatbuffers/include"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/nlohmann_json_b73a91c3af99db76a4468ecba3b99509/."/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/cmake/../third_party/securec/include"/>
|
||||||
|
<Add directory="/mnt/data/software/anaconda/anaconda/include/python3.7m"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/pybind11_4ff815e53c2c9c54255c528ad480c451/include"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/eigen3_951666374a92d62fcd880d2baa7db402/include/eigen3"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/protobuf/build/include"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../tests/ut/cpp"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/lite/tools"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/lite/lite"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googletest/include"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googletest"/>
|
||||||
|
<Add directory="/usr/include/c++/7"/>
|
||||||
|
<Add directory="/usr/include/x86_64-linux-gnu/c++/7"/>
|
||||||
|
<Add directory="/usr/include/c++/7/backward"/>
|
||||||
|
<Add directory="/usr/lib/gcc/x86_64-linux-gnu/7/include"/>
|
||||||
|
<Add directory="/usr/local/include"/>
|
||||||
|
<Add directory="/usr/lib/gcc/x86_64-linux-gnu/7/include-fixed"/>
|
||||||
|
<Add directory="/usr/include/x86_64-linux-gnu"/>
|
||||||
|
<Add directory="/usr/include"/>
|
||||||
|
</Compiler>
|
||||||
|
<MakeCommands>
|
||||||
|
<Build command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/gtest/Makefile" VERBOSE=1 gtest_main/fast"/>
|
||||||
|
<CompileFile command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/gtest/Makefile" VERBOSE=1 "$file""/>
|
||||||
|
<Clean command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/gtest/Makefile" VERBOSE=1 clean"/>
|
||||||
|
<DistClean command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/gtest/Makefile" VERBOSE=1 clean"/>
|
||||||
|
</MakeCommands>
|
||||||
|
</Target>
|
||||||
|
<Target title="gtest">
|
||||||
|
<Option output="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/gtest/libgtestd.so" prefix_auto="0" extension_auto="0"/>
|
||||||
|
<Option working_dir="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/gtest"/>
|
||||||
|
<Option object_output="./"/>
|
||||||
|
<Option type="3"/>
|
||||||
|
<Option compiler="gcc"/>
|
||||||
|
<Compiler>
|
||||||
|
<Add option="-DGTEST_CREATE_SHARED_LIBRARY=1"/>
|
||||||
|
<Add option="-DUSE_ANDROID_LOG"/>
|
||||||
|
<Add option="-DNO_DLIB"/>
|
||||||
|
<Add option="-DBUILD_DEVICE"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../.."/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/core"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/ccsrc"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/flatbuffers/include"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/nlohmann_json_b73a91c3af99db76a4468ecba3b99509/."/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/cmake/../third_party/securec/include"/>
|
||||||
|
<Add directory="/mnt/data/software/anaconda/anaconda/include/python3.7m"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/pybind11_4ff815e53c2c9c54255c528ad480c451/include"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/eigen3_951666374a92d62fcd880d2baa7db402/include/eigen3"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/protobuf/build/include"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../tests/ut/cpp"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/lite/tools"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/lite/lite"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googletest/include"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googletest"/>
|
||||||
|
<Add directory="/usr/include/c++/7"/>
|
||||||
|
<Add directory="/usr/include/x86_64-linux-gnu/c++/7"/>
|
||||||
|
<Add directory="/usr/include/c++/7/backward"/>
|
||||||
|
<Add directory="/usr/lib/gcc/x86_64-linux-gnu/7/include"/>
|
||||||
|
<Add directory="/usr/local/include"/>
|
||||||
|
<Add directory="/usr/lib/gcc/x86_64-linux-gnu/7/include-fixed"/>
|
||||||
|
<Add directory="/usr/include/x86_64-linux-gnu"/>
|
||||||
|
<Add directory="/usr/include"/>
|
||||||
|
</Compiler>
|
||||||
|
<MakeCommands>
|
||||||
|
<Build command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/gtest/Makefile" VERBOSE=1 gtest"/>
|
||||||
|
<CompileFile command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/gtest/Makefile" VERBOSE=1 "$file""/>
|
||||||
|
<Clean command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/gtest/Makefile" VERBOSE=1 clean"/>
|
||||||
|
<DistClean command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/gtest/Makefile" VERBOSE=1 clean"/>
|
||||||
|
</MakeCommands>
|
||||||
|
</Target>
|
||||||
|
<Target title="gtest/fast">
|
||||||
|
<Option output="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/gtest/libgtestd.so" prefix_auto="0" extension_auto="0"/>
|
||||||
|
<Option working_dir="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/gtest"/>
|
||||||
|
<Option object_output="./"/>
|
||||||
|
<Option type="3"/>
|
||||||
|
<Option compiler="gcc"/>
|
||||||
|
<Compiler>
|
||||||
|
<Add option="-DGTEST_CREATE_SHARED_LIBRARY=1"/>
|
||||||
|
<Add option="-DUSE_ANDROID_LOG"/>
|
||||||
|
<Add option="-DNO_DLIB"/>
|
||||||
|
<Add option="-DBUILD_DEVICE"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../.."/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/core"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/ccsrc"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/flatbuffers/include"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/nlohmann_json_b73a91c3af99db76a4468ecba3b99509/."/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/cmake/../third_party/securec/include"/>
|
||||||
|
<Add directory="/mnt/data/software/anaconda/anaconda/include/python3.7m"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/pybind11_4ff815e53c2c9c54255c528ad480c451/include"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/eigen3_951666374a92d62fcd880d2baa7db402/include/eigen3"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/protobuf/build/include"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../tests/ut/cpp"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/lite/tools"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/lite/lite"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googletest/include"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googletest"/>
|
||||||
|
<Add directory="/usr/include/c++/7"/>
|
||||||
|
<Add directory="/usr/include/x86_64-linux-gnu/c++/7"/>
|
||||||
|
<Add directory="/usr/include/c++/7/backward"/>
|
||||||
|
<Add directory="/usr/lib/gcc/x86_64-linux-gnu/7/include"/>
|
||||||
|
<Add directory="/usr/local/include"/>
|
||||||
|
<Add directory="/usr/lib/gcc/x86_64-linux-gnu/7/include-fixed"/>
|
||||||
|
<Add directory="/usr/include/x86_64-linux-gnu"/>
|
||||||
|
<Add directory="/usr/include"/>
|
||||||
|
</Compiler>
|
||||||
|
<MakeCommands>
|
||||||
|
<Build command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/gtest/Makefile" VERBOSE=1 gtest/fast"/>
|
||||||
|
<CompileFile command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/gtest/Makefile" VERBOSE=1 "$file""/>
|
||||||
|
<Clean command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/gtest/Makefile" VERBOSE=1 clean"/>
|
||||||
|
<DistClean command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/gtest/Makefile" VERBOSE=1 clean"/>
|
||||||
|
</MakeCommands>
|
||||||
|
</Target>
|
||||||
|
</Build>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googletest/src/gtest-all.cc">
|
||||||
|
<Option target="gtest"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googletest/src/gtest_main.cc">
|
||||||
|
<Option target="gtest_main"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../cmake/dependency_gtest.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\cmake\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../cmake/dependency_securec.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\cmake\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../cmake/utils.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\cmake\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../cmake/external_libs/eigen.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\cmake\external_libs\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../cmake/external_libs/json.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\cmake\external_libs\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../cmake/external_libs/pybind11.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\cmake\external_libs\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../../../../../../../home/hgq/.mslib/pybind11_4ff815e53c2c9c54255c528ad480c451/share/cmake/pybind11/FindPythonLibsNew.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\pybind11_4ff815e53c2c9c54255c528ad480c451\share\cmake\pybind11\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../../../../../../../home/hgq/.mslib/pybind11_4ff815e53c2c9c54255c528ad480c451/share/cmake/pybind11/pybind11Config.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\pybind11_4ff815e53c2c9c54255c528ad480c451\share\cmake\pybind11\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../../../../../../../home/hgq/.mslib/pybind11_4ff815e53c2c9c54255c528ad480c451/share/cmake/pybind11/pybind11ConfigVersion.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\pybind11_4ff815e53c2c9c54255c528ad480c451\share\cmake\pybind11\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../../../../../../../home/hgq/.mslib/pybind11_4ff815e53c2c9c54255c528ad480c451/share/cmake/pybind11/pybind11Targets.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\pybind11_4ff815e53c2c9c54255c528ad480c451\share\cmake\pybind11\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../../../../../../../home/hgq/.mslib/pybind11_4ff815e53c2c9c54255c528ad480c451/share/cmake/pybind11/pybind11Tools.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\pybind11_4ff815e53c2c9c54255c528ad480c451\share\cmake\pybind11\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../../../../../../../home/hgq/.mslib/eigen3_951666374a92d62fcd880d2baa7db402/share/eigen3/cmake/Eigen3Config.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\eigen3_951666374a92d62fcd880d2baa7db402\share\eigen3\cmake\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../../../../../../../home/hgq/.mslib/eigen3_951666374a92d62fcd880d2baa7db402/share/eigen3/cmake/Eigen3ConfigVersion.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\eigen3_951666374a92d62fcd880d2baa7db402\share\eigen3\cmake\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../../../../../../../home/hgq/.mslib/eigen3_951666374a92d62fcd880d2baa7db402/share/eigen3/cmake/Eigen3Targets.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\eigen3_951666374a92d62fcd880d2baa7db402\share\eigen3\cmake\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/securec/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\third_party\securec\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/securec/src/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\third_party\securec\src\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/googletest/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\third_party\googletest\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/googletest/googlemock/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\third_party\googletest\googlemock\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/googletest/googlemock/cmake/gmock.pc.in">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\third_party\googletest\googlemock\cmake\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/googletest/googlemock/cmake/gmock_main.pc.in">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\third_party\googletest\googlemock\cmake\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/googletest/googletest/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\third_party\googletest\googletest\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/googletest/googletest/cmake/Config.cmake.in">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\third_party\googletest\googletest\cmake\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/googletest/googletest/cmake/gtest.pc.in">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\third_party\googletest\googletest\cmake\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/googletest/googletest/cmake/gtest_main.pc.in">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\third_party\googletest\googletest\cmake\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/googletest/googletest/cmake/internal_utils.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\third_party\googletest\googletest\cmake\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/tools/converter/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\tools\converter\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/tools/converter/parser/caffe/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\tools\converter\parser\caffe\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/tools/converter/parser/tflite/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\tools\converter\parser\tflite\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/tools/converter/optimizer/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\tools\converter\optimizer\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/tools/converter/optimizer/fusion/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\tools\converter\optimizer\fusion\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/tools/converter/optimizer/node/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\tools\converter\optimizer\node\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/tools/converter/optimizer/graph/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\tools\converter\optimizer\graph\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/tools/converter/quantizer/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\tools\converter\quantizer\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/tools/benchmark/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\tools\benchmark\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/src/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\src\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/src/common/anf_exporter/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\src\common\anf_exporter\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/src/runtime/kernel/arm/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\src\runtime\kernel\arm\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/src/runtime/kernel/arm/opclib/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\src\runtime\kernel\arm\opclib\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/src/ops/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\src\ops\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/test/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\test\"/>
|
||||||
|
</Unit>
|
||||||
|
</Project>
|
||||||
|
</CodeBlocks_project_file>
|
|
@ -0,0 +1,517 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<CodeBlocks_project_file>
|
||||||
|
<FileVersion major="1" minor="6"/>
|
||||||
|
<Project>
|
||||||
|
<Option title="googletest-distribution"/>
|
||||||
|
<Option makefile_is_custom="1"/>
|
||||||
|
<Option compiler="gcc"/>
|
||||||
|
<Option virtualFolders="CMake Files\;CMake Files\..\;CMake Files\..\..\;CMake Files\..\..\cmake\;CMake Files\..\..\cmake\external_libs\;CMake Files\..\..\..\;CMake Files\..\..\..\..\;CMake Files\..\..\..\..\..\;CMake Files\..\..\..\..\..\..\;CMake Files\..\..\..\..\..\..\..\;CMake Files\..\..\..\..\..\..\..\..\;CMake Files\..\..\..\..\..\..\..\..\home\;CMake Files\..\..\..\..\..\..\..\..\home\hgq\;CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\;CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\pybind11_4ff815e53c2c9c54255c528ad480c451\;CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\pybind11_4ff815e53c2c9c54255c528ad480c451\share\;CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\pybind11_4ff815e53c2c9c54255c528ad480c451\share\cmake\;CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\pybind11_4ff815e53c2c9c54255c528ad480c451\share\cmake\pybind11\;CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\eigen3_951666374a92d62fcd880d2baa7db402\;CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\eigen3_951666374a92d62fcd880d2baa7db402\share\;CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\eigen3_951666374a92d62fcd880d2baa7db402\share\eigen3\;CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\eigen3_951666374a92d62fcd880d2baa7db402\share\eigen3\cmake\;CMake Files\..\..\third_party\;CMake Files\..\..\third_party\securec\;CMake Files\..\..\third_party\securec\src\;CMake Files\..\..\third_party\googletest\;CMake Files\..\..\third_party\googletest\googlemock\;CMake Files\..\..\third_party\googletest\googlemock\cmake\;CMake Files\..\..\third_party\googletest\googletest\;CMake Files\..\..\third_party\googletest\googletest\cmake\;CMake Files\tools\;CMake Files\tools\converter\;CMake Files\tools\converter\parser\;CMake Files\tools\converter\parser\caffe\;CMake Files\tools\converter\parser\tflite\;CMake Files\tools\converter\optimizer\;CMake Files\tools\converter\optimizer\fusion\;CMake Files\tools\converter\optimizer\node\;CMake Files\tools\converter\optimizer\graph\;CMake Files\tools\converter\quantizer\;CMake Files\tools\benchmark\;CMake Files\src\;CMake Files\src\common\;CMake Files\src\common\anf_exporter\;CMake Files\src\runtime\;CMake Files\src\runtime\kernel\;CMake Files\src\runtime\kernel\arm\;CMake Files\src\runtime\kernel\arm\opclib\;CMake Files\src\ops\;CMake Files\test\;"/>
|
||||||
|
<Build>
|
||||||
|
<Target title="all">
|
||||||
|
<Option working_dir="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest"/>
|
||||||
|
<Option type="4"/>
|
||||||
|
<MakeCommands>
|
||||||
|
<Build command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/Makefile" VERBOSE=1 all"/>
|
||||||
|
<CompileFile command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/Makefile" VERBOSE=1 "$file""/>
|
||||||
|
<Clean command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/Makefile" VERBOSE=1 clean"/>
|
||||||
|
<DistClean command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/Makefile" VERBOSE=1 clean"/>
|
||||||
|
</MakeCommands>
|
||||||
|
</Target>
|
||||||
|
<Target title="gmock_main">
|
||||||
|
<Option output="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/libgmock_maind.so" prefix_auto="0" extension_auto="0"/>
|
||||||
|
<Option working_dir="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock"/>
|
||||||
|
<Option object_output="./"/>
|
||||||
|
<Option type="3"/>
|
||||||
|
<Option compiler="gcc"/>
|
||||||
|
<Compiler>
|
||||||
|
<Add option="-DGTEST_CREATE_SHARED_LIBRARY=1"/>
|
||||||
|
<Add option="-DUSE_ANDROID_LOG"/>
|
||||||
|
<Add option="-DNO_DLIB"/>
|
||||||
|
<Add option="-DBUILD_DEVICE"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../.."/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/core"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/ccsrc"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/flatbuffers/include"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/nlohmann_json_b73a91c3af99db76a4468ecba3b99509/."/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/cmake/../third_party/securec/include"/>
|
||||||
|
<Add directory="/mnt/data/software/anaconda/anaconda/include/python3.7m"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/pybind11_4ff815e53c2c9c54255c528ad480c451/include"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/eigen3_951666374a92d62fcd880d2baa7db402/include/eigen3"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/protobuf/build/include"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../tests/ut/cpp"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/lite/tools"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/lite/lite"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googlemock/include"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googlemock"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googletest/include"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googletest"/>
|
||||||
|
<Add directory="/usr/include/c++/7"/>
|
||||||
|
<Add directory="/usr/include/x86_64-linux-gnu/c++/7"/>
|
||||||
|
<Add directory="/usr/include/c++/7/backward"/>
|
||||||
|
<Add directory="/usr/lib/gcc/x86_64-linux-gnu/7/include"/>
|
||||||
|
<Add directory="/usr/local/include"/>
|
||||||
|
<Add directory="/usr/lib/gcc/x86_64-linux-gnu/7/include-fixed"/>
|
||||||
|
<Add directory="/usr/include/x86_64-linux-gnu"/>
|
||||||
|
<Add directory="/usr/include"/>
|
||||||
|
</Compiler>
|
||||||
|
<MakeCommands>
|
||||||
|
<Build command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/Makefile" VERBOSE=1 gmock_main"/>
|
||||||
|
<CompileFile command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/Makefile" VERBOSE=1 "$file""/>
|
||||||
|
<Clean command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/Makefile" VERBOSE=1 clean"/>
|
||||||
|
<DistClean command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/Makefile" VERBOSE=1 clean"/>
|
||||||
|
</MakeCommands>
|
||||||
|
</Target>
|
||||||
|
<Target title="gmock_main/fast">
|
||||||
|
<Option output="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/libgmock_maind.so" prefix_auto="0" extension_auto="0"/>
|
||||||
|
<Option working_dir="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock"/>
|
||||||
|
<Option object_output="./"/>
|
||||||
|
<Option type="3"/>
|
||||||
|
<Option compiler="gcc"/>
|
||||||
|
<Compiler>
|
||||||
|
<Add option="-DGTEST_CREATE_SHARED_LIBRARY=1"/>
|
||||||
|
<Add option="-DUSE_ANDROID_LOG"/>
|
||||||
|
<Add option="-DNO_DLIB"/>
|
||||||
|
<Add option="-DBUILD_DEVICE"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../.."/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/core"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/ccsrc"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/flatbuffers/include"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/nlohmann_json_b73a91c3af99db76a4468ecba3b99509/."/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/cmake/../third_party/securec/include"/>
|
||||||
|
<Add directory="/mnt/data/software/anaconda/anaconda/include/python3.7m"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/pybind11_4ff815e53c2c9c54255c528ad480c451/include"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/eigen3_951666374a92d62fcd880d2baa7db402/include/eigen3"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/protobuf/build/include"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../tests/ut/cpp"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/lite/tools"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/lite/lite"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googlemock/include"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googlemock"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googletest/include"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googletest"/>
|
||||||
|
<Add directory="/usr/include/c++/7"/>
|
||||||
|
<Add directory="/usr/include/x86_64-linux-gnu/c++/7"/>
|
||||||
|
<Add directory="/usr/include/c++/7/backward"/>
|
||||||
|
<Add directory="/usr/lib/gcc/x86_64-linux-gnu/7/include"/>
|
||||||
|
<Add directory="/usr/local/include"/>
|
||||||
|
<Add directory="/usr/lib/gcc/x86_64-linux-gnu/7/include-fixed"/>
|
||||||
|
<Add directory="/usr/include/x86_64-linux-gnu"/>
|
||||||
|
<Add directory="/usr/include"/>
|
||||||
|
</Compiler>
|
||||||
|
<MakeCommands>
|
||||||
|
<Build command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/Makefile" VERBOSE=1 gmock_main/fast"/>
|
||||||
|
<CompileFile command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/Makefile" VERBOSE=1 "$file""/>
|
||||||
|
<Clean command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/Makefile" VERBOSE=1 clean"/>
|
||||||
|
<DistClean command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/Makefile" VERBOSE=1 clean"/>
|
||||||
|
</MakeCommands>
|
||||||
|
</Target>
|
||||||
|
<Target title="gmock">
|
||||||
|
<Option output="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/libgmockd.so" prefix_auto="0" extension_auto="0"/>
|
||||||
|
<Option working_dir="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock"/>
|
||||||
|
<Option object_output="./"/>
|
||||||
|
<Option type="3"/>
|
||||||
|
<Option compiler="gcc"/>
|
||||||
|
<Compiler>
|
||||||
|
<Add option="-DGTEST_CREATE_SHARED_LIBRARY=1"/>
|
||||||
|
<Add option="-DUSE_ANDROID_LOG"/>
|
||||||
|
<Add option="-DNO_DLIB"/>
|
||||||
|
<Add option="-DBUILD_DEVICE"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../.."/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/core"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/ccsrc"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/flatbuffers/include"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/nlohmann_json_b73a91c3af99db76a4468ecba3b99509/."/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/cmake/../third_party/securec/include"/>
|
||||||
|
<Add directory="/mnt/data/software/anaconda/anaconda/include/python3.7m"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/pybind11_4ff815e53c2c9c54255c528ad480c451/include"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/eigen3_951666374a92d62fcd880d2baa7db402/include/eigen3"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/protobuf/build/include"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../tests/ut/cpp"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/lite/tools"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/lite/lite"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googlemock/include"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googlemock"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googletest/include"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googletest"/>
|
||||||
|
<Add directory="/usr/include/c++/7"/>
|
||||||
|
<Add directory="/usr/include/x86_64-linux-gnu/c++/7"/>
|
||||||
|
<Add directory="/usr/include/c++/7/backward"/>
|
||||||
|
<Add directory="/usr/lib/gcc/x86_64-linux-gnu/7/include"/>
|
||||||
|
<Add directory="/usr/local/include"/>
|
||||||
|
<Add directory="/usr/lib/gcc/x86_64-linux-gnu/7/include-fixed"/>
|
||||||
|
<Add directory="/usr/include/x86_64-linux-gnu"/>
|
||||||
|
<Add directory="/usr/include"/>
|
||||||
|
</Compiler>
|
||||||
|
<MakeCommands>
|
||||||
|
<Build command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/Makefile" VERBOSE=1 gmock"/>
|
||||||
|
<CompileFile command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/Makefile" VERBOSE=1 "$file""/>
|
||||||
|
<Clean command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/Makefile" VERBOSE=1 clean"/>
|
||||||
|
<DistClean command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/Makefile" VERBOSE=1 clean"/>
|
||||||
|
</MakeCommands>
|
||||||
|
</Target>
|
||||||
|
<Target title="gmock/fast">
|
||||||
|
<Option output="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/libgmockd.so" prefix_auto="0" extension_auto="0"/>
|
||||||
|
<Option working_dir="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock"/>
|
||||||
|
<Option object_output="./"/>
|
||||||
|
<Option type="3"/>
|
||||||
|
<Option compiler="gcc"/>
|
||||||
|
<Compiler>
|
||||||
|
<Add option="-DGTEST_CREATE_SHARED_LIBRARY=1"/>
|
||||||
|
<Add option="-DUSE_ANDROID_LOG"/>
|
||||||
|
<Add option="-DNO_DLIB"/>
|
||||||
|
<Add option="-DBUILD_DEVICE"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../.."/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/core"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/ccsrc"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/flatbuffers/include"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/nlohmann_json_b73a91c3af99db76a4468ecba3b99509/."/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/cmake/../third_party/securec/include"/>
|
||||||
|
<Add directory="/mnt/data/software/anaconda/anaconda/include/python3.7m"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/pybind11_4ff815e53c2c9c54255c528ad480c451/include"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/eigen3_951666374a92d62fcd880d2baa7db402/include/eigen3"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/protobuf/build/include"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../tests/ut/cpp"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/lite/tools"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/lite/lite"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googlemock/include"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googlemock"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googletest/include"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googletest"/>
|
||||||
|
<Add directory="/usr/include/c++/7"/>
|
||||||
|
<Add directory="/usr/include/x86_64-linux-gnu/c++/7"/>
|
||||||
|
<Add directory="/usr/include/c++/7/backward"/>
|
||||||
|
<Add directory="/usr/lib/gcc/x86_64-linux-gnu/7/include"/>
|
||||||
|
<Add directory="/usr/local/include"/>
|
||||||
|
<Add directory="/usr/lib/gcc/x86_64-linux-gnu/7/include-fixed"/>
|
||||||
|
<Add directory="/usr/include/x86_64-linux-gnu"/>
|
||||||
|
<Add directory="/usr/include"/>
|
||||||
|
</Compiler>
|
||||||
|
<MakeCommands>
|
||||||
|
<Build command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/Makefile" VERBOSE=1 gmock/fast"/>
|
||||||
|
<CompileFile command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/Makefile" VERBOSE=1 "$file""/>
|
||||||
|
<Clean command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/Makefile" VERBOSE=1 clean"/>
|
||||||
|
<DistClean command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/Makefile" VERBOSE=1 clean"/>
|
||||||
|
</MakeCommands>
|
||||||
|
</Target>
|
||||||
|
<Target title="gtest_main">
|
||||||
|
<Option output="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/gtest/libgtest_maind.so" prefix_auto="0" extension_auto="0"/>
|
||||||
|
<Option working_dir="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/gtest"/>
|
||||||
|
<Option object_output="./"/>
|
||||||
|
<Option type="3"/>
|
||||||
|
<Option compiler="gcc"/>
|
||||||
|
<Compiler>
|
||||||
|
<Add option="-DGTEST_CREATE_SHARED_LIBRARY=1"/>
|
||||||
|
<Add option="-DUSE_ANDROID_LOG"/>
|
||||||
|
<Add option="-DNO_DLIB"/>
|
||||||
|
<Add option="-DBUILD_DEVICE"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../.."/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/core"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/ccsrc"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/flatbuffers/include"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/nlohmann_json_b73a91c3af99db76a4468ecba3b99509/."/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/cmake/../third_party/securec/include"/>
|
||||||
|
<Add directory="/mnt/data/software/anaconda/anaconda/include/python3.7m"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/pybind11_4ff815e53c2c9c54255c528ad480c451/include"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/eigen3_951666374a92d62fcd880d2baa7db402/include/eigen3"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/protobuf/build/include"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../tests/ut/cpp"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/lite/tools"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/lite/lite"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googletest/include"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googletest"/>
|
||||||
|
<Add directory="/usr/include/c++/7"/>
|
||||||
|
<Add directory="/usr/include/x86_64-linux-gnu/c++/7"/>
|
||||||
|
<Add directory="/usr/include/c++/7/backward"/>
|
||||||
|
<Add directory="/usr/lib/gcc/x86_64-linux-gnu/7/include"/>
|
||||||
|
<Add directory="/usr/local/include"/>
|
||||||
|
<Add directory="/usr/lib/gcc/x86_64-linux-gnu/7/include-fixed"/>
|
||||||
|
<Add directory="/usr/include/x86_64-linux-gnu"/>
|
||||||
|
<Add directory="/usr/include"/>
|
||||||
|
</Compiler>
|
||||||
|
<MakeCommands>
|
||||||
|
<Build command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/gtest/Makefile" VERBOSE=1 gtest_main"/>
|
||||||
|
<CompileFile command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/gtest/Makefile" VERBOSE=1 "$file""/>
|
||||||
|
<Clean command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/gtest/Makefile" VERBOSE=1 clean"/>
|
||||||
|
<DistClean command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/gtest/Makefile" VERBOSE=1 clean"/>
|
||||||
|
</MakeCommands>
|
||||||
|
</Target>
|
||||||
|
<Target title="gtest_main/fast">
|
||||||
|
<Option output="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/gtest/libgtest_maind.so" prefix_auto="0" extension_auto="0"/>
|
||||||
|
<Option working_dir="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/gtest"/>
|
||||||
|
<Option object_output="./"/>
|
||||||
|
<Option type="3"/>
|
||||||
|
<Option compiler="gcc"/>
|
||||||
|
<Compiler>
|
||||||
|
<Add option="-DGTEST_CREATE_SHARED_LIBRARY=1"/>
|
||||||
|
<Add option="-DUSE_ANDROID_LOG"/>
|
||||||
|
<Add option="-DNO_DLIB"/>
|
||||||
|
<Add option="-DBUILD_DEVICE"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../.."/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/core"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/ccsrc"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/flatbuffers/include"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/nlohmann_json_b73a91c3af99db76a4468ecba3b99509/."/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/cmake/../third_party/securec/include"/>
|
||||||
|
<Add directory="/mnt/data/software/anaconda/anaconda/include/python3.7m"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/pybind11_4ff815e53c2c9c54255c528ad480c451/include"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/eigen3_951666374a92d62fcd880d2baa7db402/include/eigen3"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/protobuf/build/include"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../tests/ut/cpp"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/lite/tools"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/lite/lite"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googletest/include"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googletest"/>
|
||||||
|
<Add directory="/usr/include/c++/7"/>
|
||||||
|
<Add directory="/usr/include/x86_64-linux-gnu/c++/7"/>
|
||||||
|
<Add directory="/usr/include/c++/7/backward"/>
|
||||||
|
<Add directory="/usr/lib/gcc/x86_64-linux-gnu/7/include"/>
|
||||||
|
<Add directory="/usr/local/include"/>
|
||||||
|
<Add directory="/usr/lib/gcc/x86_64-linux-gnu/7/include-fixed"/>
|
||||||
|
<Add directory="/usr/include/x86_64-linux-gnu"/>
|
||||||
|
<Add directory="/usr/include"/>
|
||||||
|
</Compiler>
|
||||||
|
<MakeCommands>
|
||||||
|
<Build command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/gtest/Makefile" VERBOSE=1 gtest_main/fast"/>
|
||||||
|
<CompileFile command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/gtest/Makefile" VERBOSE=1 "$file""/>
|
||||||
|
<Clean command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/gtest/Makefile" VERBOSE=1 clean"/>
|
||||||
|
<DistClean command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/gtest/Makefile" VERBOSE=1 clean"/>
|
||||||
|
</MakeCommands>
|
||||||
|
</Target>
|
||||||
|
<Target title="gtest">
|
||||||
|
<Option output="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/gtest/libgtestd.so" prefix_auto="0" extension_auto="0"/>
|
||||||
|
<Option working_dir="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/gtest"/>
|
||||||
|
<Option object_output="./"/>
|
||||||
|
<Option type="3"/>
|
||||||
|
<Option compiler="gcc"/>
|
||||||
|
<Compiler>
|
||||||
|
<Add option="-DGTEST_CREATE_SHARED_LIBRARY=1"/>
|
||||||
|
<Add option="-DUSE_ANDROID_LOG"/>
|
||||||
|
<Add option="-DNO_DLIB"/>
|
||||||
|
<Add option="-DBUILD_DEVICE"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../.."/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/core"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/ccsrc"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/flatbuffers/include"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/nlohmann_json_b73a91c3af99db76a4468ecba3b99509/."/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/cmake/../third_party/securec/include"/>
|
||||||
|
<Add directory="/mnt/data/software/anaconda/anaconda/include/python3.7m"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/pybind11_4ff815e53c2c9c54255c528ad480c451/include"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/eigen3_951666374a92d62fcd880d2baa7db402/include/eigen3"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/protobuf/build/include"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../tests/ut/cpp"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/lite/tools"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/lite/lite"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googletest/include"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googletest"/>
|
||||||
|
<Add directory="/usr/include/c++/7"/>
|
||||||
|
<Add directory="/usr/include/x86_64-linux-gnu/c++/7"/>
|
||||||
|
<Add directory="/usr/include/c++/7/backward"/>
|
||||||
|
<Add directory="/usr/lib/gcc/x86_64-linux-gnu/7/include"/>
|
||||||
|
<Add directory="/usr/local/include"/>
|
||||||
|
<Add directory="/usr/lib/gcc/x86_64-linux-gnu/7/include-fixed"/>
|
||||||
|
<Add directory="/usr/include/x86_64-linux-gnu"/>
|
||||||
|
<Add directory="/usr/include"/>
|
||||||
|
</Compiler>
|
||||||
|
<MakeCommands>
|
||||||
|
<Build command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/gtest/Makefile" VERBOSE=1 gtest"/>
|
||||||
|
<CompileFile command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/gtest/Makefile" VERBOSE=1 "$file""/>
|
||||||
|
<Clean command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/gtest/Makefile" VERBOSE=1 clean"/>
|
||||||
|
<DistClean command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/gtest/Makefile" VERBOSE=1 clean"/>
|
||||||
|
</MakeCommands>
|
||||||
|
</Target>
|
||||||
|
<Target title="gtest/fast">
|
||||||
|
<Option output="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/gtest/libgtestd.so" prefix_auto="0" extension_auto="0"/>
|
||||||
|
<Option working_dir="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/gtest"/>
|
||||||
|
<Option object_output="./"/>
|
||||||
|
<Option type="3"/>
|
||||||
|
<Option compiler="gcc"/>
|
||||||
|
<Compiler>
|
||||||
|
<Add option="-DGTEST_CREATE_SHARED_LIBRARY=1"/>
|
||||||
|
<Add option="-DUSE_ANDROID_LOG"/>
|
||||||
|
<Add option="-DNO_DLIB"/>
|
||||||
|
<Add option="-DBUILD_DEVICE"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../.."/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/core"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/ccsrc"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/flatbuffers/include"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/nlohmann_json_b73a91c3af99db76a4468ecba3b99509/."/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/cmake/../third_party/securec/include"/>
|
||||||
|
<Add directory="/mnt/data/software/anaconda/anaconda/include/python3.7m"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/pybind11_4ff815e53c2c9c54255c528ad480c451/include"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/eigen3_951666374a92d62fcd880d2baa7db402/include/eigen3"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/protobuf/build/include"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../tests/ut/cpp"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/lite/tools"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/lite/lite"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googletest/include"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googletest"/>
|
||||||
|
<Add directory="/usr/include/c++/7"/>
|
||||||
|
<Add directory="/usr/include/x86_64-linux-gnu/c++/7"/>
|
||||||
|
<Add directory="/usr/include/c++/7/backward"/>
|
||||||
|
<Add directory="/usr/lib/gcc/x86_64-linux-gnu/7/include"/>
|
||||||
|
<Add directory="/usr/local/include"/>
|
||||||
|
<Add directory="/usr/lib/gcc/x86_64-linux-gnu/7/include-fixed"/>
|
||||||
|
<Add directory="/usr/include/x86_64-linux-gnu"/>
|
||||||
|
<Add directory="/usr/include"/>
|
||||||
|
</Compiler>
|
||||||
|
<MakeCommands>
|
||||||
|
<Build command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/gtest/Makefile" VERBOSE=1 gtest/fast"/>
|
||||||
|
<CompileFile command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/gtest/Makefile" VERBOSE=1 "$file""/>
|
||||||
|
<Clean command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/gtest/Makefile" VERBOSE=1 clean"/>
|
||||||
|
<DistClean command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/googletest/googlemock/gtest/Makefile" VERBOSE=1 clean"/>
|
||||||
|
</MakeCommands>
|
||||||
|
</Target>
|
||||||
|
</Build>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googlemock/src/gmock-all.cc">
|
||||||
|
<Option target="gmock"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googlemock/src/gmock_main.cc">
|
||||||
|
<Option target="gmock_main"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googletest/src/gtest-all.cc">
|
||||||
|
<Option target="gtest"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googletest/src/gtest_main.cc">
|
||||||
|
<Option target="gtest_main"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../cmake/dependency_gtest.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\cmake\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../cmake/dependency_securec.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\cmake\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../cmake/utils.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\cmake\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../cmake/external_libs/eigen.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\cmake\external_libs\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../cmake/external_libs/json.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\cmake\external_libs\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../cmake/external_libs/pybind11.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\cmake\external_libs\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../../../../../../../home/hgq/.mslib/pybind11_4ff815e53c2c9c54255c528ad480c451/share/cmake/pybind11/FindPythonLibsNew.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\pybind11_4ff815e53c2c9c54255c528ad480c451\share\cmake\pybind11\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../../../../../../../home/hgq/.mslib/pybind11_4ff815e53c2c9c54255c528ad480c451/share/cmake/pybind11/pybind11Config.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\pybind11_4ff815e53c2c9c54255c528ad480c451\share\cmake\pybind11\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../../../../../../../home/hgq/.mslib/pybind11_4ff815e53c2c9c54255c528ad480c451/share/cmake/pybind11/pybind11ConfigVersion.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\pybind11_4ff815e53c2c9c54255c528ad480c451\share\cmake\pybind11\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../../../../../../../home/hgq/.mslib/pybind11_4ff815e53c2c9c54255c528ad480c451/share/cmake/pybind11/pybind11Targets.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\pybind11_4ff815e53c2c9c54255c528ad480c451\share\cmake\pybind11\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../../../../../../../home/hgq/.mslib/pybind11_4ff815e53c2c9c54255c528ad480c451/share/cmake/pybind11/pybind11Tools.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\pybind11_4ff815e53c2c9c54255c528ad480c451\share\cmake\pybind11\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../../../../../../../home/hgq/.mslib/eigen3_951666374a92d62fcd880d2baa7db402/share/eigen3/cmake/Eigen3Config.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\eigen3_951666374a92d62fcd880d2baa7db402\share\eigen3\cmake\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../../../../../../../home/hgq/.mslib/eigen3_951666374a92d62fcd880d2baa7db402/share/eigen3/cmake/Eigen3ConfigVersion.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\eigen3_951666374a92d62fcd880d2baa7db402\share\eigen3\cmake\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../../../../../../../home/hgq/.mslib/eigen3_951666374a92d62fcd880d2baa7db402/share/eigen3/cmake/Eigen3Targets.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\eigen3_951666374a92d62fcd880d2baa7db402\share\eigen3\cmake\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/securec/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\third_party\securec\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/securec/src/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\third_party\securec\src\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/googletest/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\third_party\googletest\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/googletest/googlemock/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\third_party\googletest\googlemock\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/googletest/googlemock/cmake/gmock.pc.in">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\third_party\googletest\googlemock\cmake\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/googletest/googlemock/cmake/gmock_main.pc.in">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\third_party\googletest\googlemock\cmake\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/googletest/googletest/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\third_party\googletest\googletest\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/googletest/googletest/cmake/Config.cmake.in">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\third_party\googletest\googletest\cmake\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/googletest/googletest/cmake/gtest.pc.in">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\third_party\googletest\googletest\cmake\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/googletest/googletest/cmake/gtest_main.pc.in">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\third_party\googletest\googletest\cmake\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/googletest/googletest/cmake/internal_utils.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\third_party\googletest\googletest\cmake\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/tools/converter/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\tools\converter\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/tools/converter/parser/caffe/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\tools\converter\parser\caffe\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/tools/converter/parser/tflite/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\tools\converter\parser\tflite\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/tools/converter/optimizer/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\tools\converter\optimizer\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/tools/converter/optimizer/fusion/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\tools\converter\optimizer\fusion\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/tools/converter/optimizer/node/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\tools\converter\optimizer\node\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/tools/converter/optimizer/graph/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\tools\converter\optimizer\graph\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/tools/converter/quantizer/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\tools\converter\quantizer\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/tools/benchmark/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\tools\benchmark\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/src/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\src\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/src/common/anf_exporter/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\src\common\anf_exporter\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/src/runtime/kernel/arm/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\src\runtime\kernel\arm\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/src/runtime/kernel/arm/opclib/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\src\runtime\kernel\arm\opclib\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/src/ops/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\src\ops\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/test/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\test\"/>
|
||||||
|
</Unit>
|
||||||
|
</Project>
|
||||||
|
</CodeBlocks_project_file>
|
|
@ -0,0 +1,112 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<CodeBlocks_project_file>
|
||||||
|
<FileVersion major="1" minor="6"/>
|
||||||
|
<Project>
|
||||||
|
<Option title="optimize"/>
|
||||||
|
<Option makefile_is_custom="1"/>
|
||||||
|
<Option compiler="gcc"/>
|
||||||
|
<Option virtualFolders="CMake Files\;CMake Files\..\;CMake Files\..\..\;CMake Files\..\..\cmake\;CMake Files\..\..\cmake\external_libs\;CMake Files\..\..\..\;CMake Files\..\..\..\..\;CMake Files\..\..\..\..\..\;CMake Files\..\..\..\..\..\..\;CMake Files\..\..\..\..\..\..\..\;CMake Files\..\..\..\..\..\..\..\..\;CMake Files\..\..\..\..\..\..\..\..\home\;CMake Files\..\..\..\..\..\..\..\..\home\hgq\;CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\;CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\pybind11_4ff815e53c2c9c54255c528ad480c451\;CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\pybind11_4ff815e53c2c9c54255c528ad480c451\share\;CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\pybind11_4ff815e53c2c9c54255c528ad480c451\share\cmake\;CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\pybind11_4ff815e53c2c9c54255c528ad480c451\share\cmake\pybind11\;CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\eigen3_951666374a92d62fcd880d2baa7db402\;CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\eigen3_951666374a92d62fcd880d2baa7db402\share\;CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\eigen3_951666374a92d62fcd880d2baa7db402\share\eigen3\;CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\eigen3_951666374a92d62fcd880d2baa7db402\share\eigen3\cmake\;CMake Files\..\..\third_party\;CMake Files\..\..\third_party\securec\;CMake Files\..\..\third_party\securec\src\;CMake Files\tools\;CMake Files\tools\converter\;CMake Files\tools\converter\parser\;CMake Files\tools\converter\parser\caffe\;CMake Files\tools\converter\parser\tflite\;CMake Files\tools\converter\optimizer\;CMake Files\tools\converter\optimizer\fusion\;CMake Files\tools\converter\optimizer\node\;CMake Files\tools\converter\optimizer\graph\;CMake Files\tools\converter\quantizer\;CMake Files\tools\benchmark\;CMake Files\src\;CMake Files\src\common\;CMake Files\src\common\anf_exporter\;CMake Files\src\runtime\;CMake Files\src\runtime\kernel\;CMake Files\src\runtime\kernel\arm\;CMake Files\src\runtime\kernel\arm\opclib\;CMake Files\src\ops\;"/>
|
||||||
|
<Build>
|
||||||
|
<Target title="all">
|
||||||
|
<Option working_dir="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/src/runtime/kernel/arm/opclib"/>
|
||||||
|
<Option type="4"/>
|
||||||
|
<MakeCommands>
|
||||||
|
<Build command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/src/runtime/kernel/arm/opclib/Makefile" VERBOSE=1 all"/>
|
||||||
|
<CompileFile command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/src/runtime/kernel/arm/opclib/Makefile" VERBOSE=1 "$file""/>
|
||||||
|
<Clean command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/src/runtime/kernel/arm/opclib/Makefile" VERBOSE=1 clean"/>
|
||||||
|
<DistClean command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-cloud/src/runtime/kernel/arm/opclib/Makefile" VERBOSE=1 clean"/>
|
||||||
|
</MakeCommands>
|
||||||
|
</Target>
|
||||||
|
</Build>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../cmake/dependency_securec.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\cmake\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../cmake/utils.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\cmake\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../cmake/external_libs/eigen.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\cmake\external_libs\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../cmake/external_libs/json.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\cmake\external_libs\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../cmake/external_libs/pybind11.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\cmake\external_libs\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../../../../../../../home/hgq/.mslib/pybind11_4ff815e53c2c9c54255c528ad480c451/share/cmake/pybind11/FindPythonLibsNew.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\pybind11_4ff815e53c2c9c54255c528ad480c451\share\cmake\pybind11\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../../../../../../../home/hgq/.mslib/pybind11_4ff815e53c2c9c54255c528ad480c451/share/cmake/pybind11/pybind11Config.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\pybind11_4ff815e53c2c9c54255c528ad480c451\share\cmake\pybind11\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../../../../../../../home/hgq/.mslib/pybind11_4ff815e53c2c9c54255c528ad480c451/share/cmake/pybind11/pybind11ConfigVersion.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\pybind11_4ff815e53c2c9c54255c528ad480c451\share\cmake\pybind11\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../../../../../../../home/hgq/.mslib/pybind11_4ff815e53c2c9c54255c528ad480c451/share/cmake/pybind11/pybind11Targets.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\pybind11_4ff815e53c2c9c54255c528ad480c451\share\cmake\pybind11\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../../../../../../../home/hgq/.mslib/pybind11_4ff815e53c2c9c54255c528ad480c451/share/cmake/pybind11/pybind11Tools.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\pybind11_4ff815e53c2c9c54255c528ad480c451\share\cmake\pybind11\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../../../../../../../home/hgq/.mslib/eigen3_951666374a92d62fcd880d2baa7db402/share/eigen3/cmake/Eigen3Config.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\eigen3_951666374a92d62fcd880d2baa7db402\share\eigen3\cmake\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../../../../../../../home/hgq/.mslib/eigen3_951666374a92d62fcd880d2baa7db402/share/eigen3/cmake/Eigen3ConfigVersion.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\eigen3_951666374a92d62fcd880d2baa7db402\share\eigen3\cmake\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../../../../../../../home/hgq/.mslib/eigen3_951666374a92d62fcd880d2baa7db402/share/eigen3/cmake/Eigen3Targets.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\eigen3_951666374a92d62fcd880d2baa7db402\share\eigen3\cmake\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/securec/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\third_party\securec\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/securec/src/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\third_party\securec\src\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/tools/converter/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\tools\converter\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/tools/converter/parser/caffe/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\tools\converter\parser\caffe\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/tools/converter/parser/tflite/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\tools\converter\parser\tflite\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/tools/converter/optimizer/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\tools\converter\optimizer\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/tools/converter/optimizer/fusion/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\tools\converter\optimizer\fusion\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/tools/converter/optimizer/node/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\tools\converter\optimizer\node\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/tools/converter/optimizer/graph/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\tools\converter\optimizer\graph\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/tools/converter/quantizer/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\tools\converter\quantizer\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/tools/benchmark/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\tools\benchmark\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/src/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\src\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/src/common/anf_exporter/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\src\common\anf_exporter\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/src/runtime/kernel/arm/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\src\runtime\kernel\arm\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/src/runtime/kernel/arm/opclib/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\src\runtime\kernel\arm\opclib\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/src/ops/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\src\ops\"/>
|
||||||
|
</Unit>
|
||||||
|
</Project>
|
||||||
|
</CodeBlocks_project_file>
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,7 @@
|
||||||
|
# CMake generated Testfile for
|
||||||
|
# Source directory: /mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest
|
||||||
|
# Build directory: /mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest
|
||||||
|
#
|
||||||
|
# This file includes the relevant testing commands required for
|
||||||
|
# testing this directory and lists subdirectories to be tested as well.
|
||||||
|
subdirs("googlemock")
|
|
@ -0,0 +1,7 @@
|
||||||
|
# CMake generated Testfile for
|
||||||
|
# Source directory: /mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googlemock
|
||||||
|
# Build directory: /mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock
|
||||||
|
#
|
||||||
|
# This file includes the relevant testing commands required for
|
||||||
|
# testing this directory and lists subdirectories to be tested as well.
|
||||||
|
subdirs("gtest")
|
|
@ -0,0 +1,517 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<CodeBlocks_project_file>
|
||||||
|
<FileVersion major="1" minor="6"/>
|
||||||
|
<Project>
|
||||||
|
<Option title="gmock"/>
|
||||||
|
<Option makefile_is_custom="1"/>
|
||||||
|
<Option compiler="gcc"/>
|
||||||
|
<Option virtualFolders="CMake Files\;CMake Files\..\;CMake Files\..\..\;CMake Files\..\..\cmake\;CMake Files\..\..\cmake\external_libs\;CMake Files\..\..\..\;CMake Files\..\..\..\..\;CMake Files\..\..\..\..\..\;CMake Files\..\..\..\..\..\..\;CMake Files\..\..\..\..\..\..\..\;CMake Files\..\..\..\..\..\..\..\..\;CMake Files\..\..\..\..\..\..\..\..\home\;CMake Files\..\..\..\..\..\..\..\..\home\hgq\;CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\;CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\pybind11_4ff815e53c2c9c54255c528ad480c451\;CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\pybind11_4ff815e53c2c9c54255c528ad480c451\share\;CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\pybind11_4ff815e53c2c9c54255c528ad480c451\share\cmake\;CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\pybind11_4ff815e53c2c9c54255c528ad480c451\share\cmake\pybind11\;CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\eigen3_951666374a92d62fcd880d2baa7db402\;CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\eigen3_951666374a92d62fcd880d2baa7db402\share\;CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\eigen3_951666374a92d62fcd880d2baa7db402\share\eigen3\;CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\eigen3_951666374a92d62fcd880d2baa7db402\share\eigen3\cmake\;CMake Files\..\..\third_party\;CMake Files\..\..\third_party\securec\;CMake Files\..\..\third_party\securec\src\;CMake Files\..\..\third_party\googletest\;CMake Files\..\..\third_party\googletest\googlemock\;CMake Files\..\..\third_party\googletest\googlemock\cmake\;CMake Files\..\..\third_party\googletest\googletest\;CMake Files\..\..\third_party\googletest\googletest\cmake\;CMake Files\tools\;CMake Files\tools\converter\;CMake Files\tools\converter\parser\;CMake Files\tools\converter\parser\caffe\;CMake Files\tools\converter\parser\tflite\;CMake Files\tools\converter\optimizer\;CMake Files\tools\converter\optimizer\fusion\;CMake Files\tools\converter\optimizer\node\;CMake Files\tools\converter\optimizer\graph\;CMake Files\tools\converter\quantizer\;CMake Files\tools\benchmark\;CMake Files\src\;CMake Files\src\common\;CMake Files\src\common\anf_exporter\;CMake Files\src\runtime\;CMake Files\src\runtime\kernel\;CMake Files\src\runtime\kernel\arm\;CMake Files\src\runtime\kernel\arm\opclib\;CMake Files\src\ops\;CMake Files\test\;"/>
|
||||||
|
<Build>
|
||||||
|
<Target title="all">
|
||||||
|
<Option working_dir="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock"/>
|
||||||
|
<Option type="4"/>
|
||||||
|
<MakeCommands>
|
||||||
|
<Build command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/Makefile" VERBOSE=1 all"/>
|
||||||
|
<CompileFile command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/Makefile" VERBOSE=1 "$file""/>
|
||||||
|
<Clean command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/Makefile" VERBOSE=1 clean"/>
|
||||||
|
<DistClean command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/Makefile" VERBOSE=1 clean"/>
|
||||||
|
</MakeCommands>
|
||||||
|
</Target>
|
||||||
|
<Target title="gmock_main">
|
||||||
|
<Option output="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/libgmock_maind.so" prefix_auto="0" extension_auto="0"/>
|
||||||
|
<Option working_dir="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock"/>
|
||||||
|
<Option object_output="./"/>
|
||||||
|
<Option type="3"/>
|
||||||
|
<Option compiler="gcc"/>
|
||||||
|
<Compiler>
|
||||||
|
<Add option="-DGTEST_CREATE_SHARED_LIBRARY=1"/>
|
||||||
|
<Add option="-DUSE_ANDROID_LOG"/>
|
||||||
|
<Add option="-DNO_DLIB"/>
|
||||||
|
<Add option="-DBUILD_DEVICE"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../.."/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/core"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/ccsrc"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/flatbuffers/include"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/nlohmann_json_b73a91c3af99db76a4468ecba3b99509/."/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/cmake/../third_party/securec/include"/>
|
||||||
|
<Add directory="/mnt/data/software/anaconda/anaconda/include/python3.7m"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/pybind11_4ff815e53c2c9c54255c528ad480c451/include"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/eigen3_951666374a92d62fcd880d2baa7db402/include/eigen3"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/protobuf/build/include"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../tests/ut/cpp"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/lite/tools"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/lite/lite"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googlemock/include"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googlemock"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googletest/include"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googletest"/>
|
||||||
|
<Add directory="/usr/include/c++/7"/>
|
||||||
|
<Add directory="/usr/include/x86_64-linux-gnu/c++/7"/>
|
||||||
|
<Add directory="/usr/include/c++/7/backward"/>
|
||||||
|
<Add directory="/usr/lib/gcc/x86_64-linux-gnu/7/include"/>
|
||||||
|
<Add directory="/usr/local/include"/>
|
||||||
|
<Add directory="/usr/lib/gcc/x86_64-linux-gnu/7/include-fixed"/>
|
||||||
|
<Add directory="/usr/include/x86_64-linux-gnu"/>
|
||||||
|
<Add directory="/usr/include"/>
|
||||||
|
</Compiler>
|
||||||
|
<MakeCommands>
|
||||||
|
<Build command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/Makefile" VERBOSE=1 gmock_main"/>
|
||||||
|
<CompileFile command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/Makefile" VERBOSE=1 "$file""/>
|
||||||
|
<Clean command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/Makefile" VERBOSE=1 clean"/>
|
||||||
|
<DistClean command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/Makefile" VERBOSE=1 clean"/>
|
||||||
|
</MakeCommands>
|
||||||
|
</Target>
|
||||||
|
<Target title="gmock_main/fast">
|
||||||
|
<Option output="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/libgmock_maind.so" prefix_auto="0" extension_auto="0"/>
|
||||||
|
<Option working_dir="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock"/>
|
||||||
|
<Option object_output="./"/>
|
||||||
|
<Option type="3"/>
|
||||||
|
<Option compiler="gcc"/>
|
||||||
|
<Compiler>
|
||||||
|
<Add option="-DGTEST_CREATE_SHARED_LIBRARY=1"/>
|
||||||
|
<Add option="-DUSE_ANDROID_LOG"/>
|
||||||
|
<Add option="-DNO_DLIB"/>
|
||||||
|
<Add option="-DBUILD_DEVICE"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../.."/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/core"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/ccsrc"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/flatbuffers/include"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/nlohmann_json_b73a91c3af99db76a4468ecba3b99509/."/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/cmake/../third_party/securec/include"/>
|
||||||
|
<Add directory="/mnt/data/software/anaconda/anaconda/include/python3.7m"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/pybind11_4ff815e53c2c9c54255c528ad480c451/include"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/eigen3_951666374a92d62fcd880d2baa7db402/include/eigen3"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/protobuf/build/include"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../tests/ut/cpp"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/lite/tools"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/lite/lite"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googlemock/include"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googlemock"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googletest/include"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googletest"/>
|
||||||
|
<Add directory="/usr/include/c++/7"/>
|
||||||
|
<Add directory="/usr/include/x86_64-linux-gnu/c++/7"/>
|
||||||
|
<Add directory="/usr/include/c++/7/backward"/>
|
||||||
|
<Add directory="/usr/lib/gcc/x86_64-linux-gnu/7/include"/>
|
||||||
|
<Add directory="/usr/local/include"/>
|
||||||
|
<Add directory="/usr/lib/gcc/x86_64-linux-gnu/7/include-fixed"/>
|
||||||
|
<Add directory="/usr/include/x86_64-linux-gnu"/>
|
||||||
|
<Add directory="/usr/include"/>
|
||||||
|
</Compiler>
|
||||||
|
<MakeCommands>
|
||||||
|
<Build command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/Makefile" VERBOSE=1 gmock_main/fast"/>
|
||||||
|
<CompileFile command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/Makefile" VERBOSE=1 "$file""/>
|
||||||
|
<Clean command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/Makefile" VERBOSE=1 clean"/>
|
||||||
|
<DistClean command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/Makefile" VERBOSE=1 clean"/>
|
||||||
|
</MakeCommands>
|
||||||
|
</Target>
|
||||||
|
<Target title="gmock">
|
||||||
|
<Option output="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/libgmockd.so" prefix_auto="0" extension_auto="0"/>
|
||||||
|
<Option working_dir="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock"/>
|
||||||
|
<Option object_output="./"/>
|
||||||
|
<Option type="3"/>
|
||||||
|
<Option compiler="gcc"/>
|
||||||
|
<Compiler>
|
||||||
|
<Add option="-DGTEST_CREATE_SHARED_LIBRARY=1"/>
|
||||||
|
<Add option="-DUSE_ANDROID_LOG"/>
|
||||||
|
<Add option="-DNO_DLIB"/>
|
||||||
|
<Add option="-DBUILD_DEVICE"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../.."/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/core"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/ccsrc"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/flatbuffers/include"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/nlohmann_json_b73a91c3af99db76a4468ecba3b99509/."/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/cmake/../third_party/securec/include"/>
|
||||||
|
<Add directory="/mnt/data/software/anaconda/anaconda/include/python3.7m"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/pybind11_4ff815e53c2c9c54255c528ad480c451/include"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/eigen3_951666374a92d62fcd880d2baa7db402/include/eigen3"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/protobuf/build/include"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../tests/ut/cpp"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/lite/tools"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/lite/lite"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googlemock/include"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googlemock"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googletest/include"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googletest"/>
|
||||||
|
<Add directory="/usr/include/c++/7"/>
|
||||||
|
<Add directory="/usr/include/x86_64-linux-gnu/c++/7"/>
|
||||||
|
<Add directory="/usr/include/c++/7/backward"/>
|
||||||
|
<Add directory="/usr/lib/gcc/x86_64-linux-gnu/7/include"/>
|
||||||
|
<Add directory="/usr/local/include"/>
|
||||||
|
<Add directory="/usr/lib/gcc/x86_64-linux-gnu/7/include-fixed"/>
|
||||||
|
<Add directory="/usr/include/x86_64-linux-gnu"/>
|
||||||
|
<Add directory="/usr/include"/>
|
||||||
|
</Compiler>
|
||||||
|
<MakeCommands>
|
||||||
|
<Build command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/Makefile" VERBOSE=1 gmock"/>
|
||||||
|
<CompileFile command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/Makefile" VERBOSE=1 "$file""/>
|
||||||
|
<Clean command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/Makefile" VERBOSE=1 clean"/>
|
||||||
|
<DistClean command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/Makefile" VERBOSE=1 clean"/>
|
||||||
|
</MakeCommands>
|
||||||
|
</Target>
|
||||||
|
<Target title="gmock/fast">
|
||||||
|
<Option output="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/libgmockd.so" prefix_auto="0" extension_auto="0"/>
|
||||||
|
<Option working_dir="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock"/>
|
||||||
|
<Option object_output="./"/>
|
||||||
|
<Option type="3"/>
|
||||||
|
<Option compiler="gcc"/>
|
||||||
|
<Compiler>
|
||||||
|
<Add option="-DGTEST_CREATE_SHARED_LIBRARY=1"/>
|
||||||
|
<Add option="-DUSE_ANDROID_LOG"/>
|
||||||
|
<Add option="-DNO_DLIB"/>
|
||||||
|
<Add option="-DBUILD_DEVICE"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../.."/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/core"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/ccsrc"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/flatbuffers/include"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/nlohmann_json_b73a91c3af99db76a4468ecba3b99509/."/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/cmake/../third_party/securec/include"/>
|
||||||
|
<Add directory="/mnt/data/software/anaconda/anaconda/include/python3.7m"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/pybind11_4ff815e53c2c9c54255c528ad480c451/include"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/eigen3_951666374a92d62fcd880d2baa7db402/include/eigen3"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/protobuf/build/include"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../tests/ut/cpp"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/lite/tools"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/lite/lite"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googlemock/include"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googlemock"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googletest/include"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googletest"/>
|
||||||
|
<Add directory="/usr/include/c++/7"/>
|
||||||
|
<Add directory="/usr/include/x86_64-linux-gnu/c++/7"/>
|
||||||
|
<Add directory="/usr/include/c++/7/backward"/>
|
||||||
|
<Add directory="/usr/lib/gcc/x86_64-linux-gnu/7/include"/>
|
||||||
|
<Add directory="/usr/local/include"/>
|
||||||
|
<Add directory="/usr/lib/gcc/x86_64-linux-gnu/7/include-fixed"/>
|
||||||
|
<Add directory="/usr/include/x86_64-linux-gnu"/>
|
||||||
|
<Add directory="/usr/include"/>
|
||||||
|
</Compiler>
|
||||||
|
<MakeCommands>
|
||||||
|
<Build command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/Makefile" VERBOSE=1 gmock/fast"/>
|
||||||
|
<CompileFile command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/Makefile" VERBOSE=1 "$file""/>
|
||||||
|
<Clean command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/Makefile" VERBOSE=1 clean"/>
|
||||||
|
<DistClean command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/Makefile" VERBOSE=1 clean"/>
|
||||||
|
</MakeCommands>
|
||||||
|
</Target>
|
||||||
|
<Target title="gtest_main">
|
||||||
|
<Option output="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/gtest/libgtest_maind.so" prefix_auto="0" extension_auto="0"/>
|
||||||
|
<Option working_dir="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/gtest"/>
|
||||||
|
<Option object_output="./"/>
|
||||||
|
<Option type="3"/>
|
||||||
|
<Option compiler="gcc"/>
|
||||||
|
<Compiler>
|
||||||
|
<Add option="-DGTEST_CREATE_SHARED_LIBRARY=1"/>
|
||||||
|
<Add option="-DUSE_ANDROID_LOG"/>
|
||||||
|
<Add option="-DNO_DLIB"/>
|
||||||
|
<Add option="-DBUILD_DEVICE"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../.."/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/core"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/ccsrc"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/flatbuffers/include"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/nlohmann_json_b73a91c3af99db76a4468ecba3b99509/."/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/cmake/../third_party/securec/include"/>
|
||||||
|
<Add directory="/mnt/data/software/anaconda/anaconda/include/python3.7m"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/pybind11_4ff815e53c2c9c54255c528ad480c451/include"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/eigen3_951666374a92d62fcd880d2baa7db402/include/eigen3"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/protobuf/build/include"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../tests/ut/cpp"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/lite/tools"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/lite/lite"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googletest/include"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googletest"/>
|
||||||
|
<Add directory="/usr/include/c++/7"/>
|
||||||
|
<Add directory="/usr/include/x86_64-linux-gnu/c++/7"/>
|
||||||
|
<Add directory="/usr/include/c++/7/backward"/>
|
||||||
|
<Add directory="/usr/lib/gcc/x86_64-linux-gnu/7/include"/>
|
||||||
|
<Add directory="/usr/local/include"/>
|
||||||
|
<Add directory="/usr/lib/gcc/x86_64-linux-gnu/7/include-fixed"/>
|
||||||
|
<Add directory="/usr/include/x86_64-linux-gnu"/>
|
||||||
|
<Add directory="/usr/include"/>
|
||||||
|
</Compiler>
|
||||||
|
<MakeCommands>
|
||||||
|
<Build command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/gtest/Makefile" VERBOSE=1 gtest_main"/>
|
||||||
|
<CompileFile command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/gtest/Makefile" VERBOSE=1 "$file""/>
|
||||||
|
<Clean command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/gtest/Makefile" VERBOSE=1 clean"/>
|
||||||
|
<DistClean command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/gtest/Makefile" VERBOSE=1 clean"/>
|
||||||
|
</MakeCommands>
|
||||||
|
</Target>
|
||||||
|
<Target title="gtest_main/fast">
|
||||||
|
<Option output="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/gtest/libgtest_maind.so" prefix_auto="0" extension_auto="0"/>
|
||||||
|
<Option working_dir="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/gtest"/>
|
||||||
|
<Option object_output="./"/>
|
||||||
|
<Option type="3"/>
|
||||||
|
<Option compiler="gcc"/>
|
||||||
|
<Compiler>
|
||||||
|
<Add option="-DGTEST_CREATE_SHARED_LIBRARY=1"/>
|
||||||
|
<Add option="-DUSE_ANDROID_LOG"/>
|
||||||
|
<Add option="-DNO_DLIB"/>
|
||||||
|
<Add option="-DBUILD_DEVICE"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../.."/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/core"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/ccsrc"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/flatbuffers/include"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/nlohmann_json_b73a91c3af99db76a4468ecba3b99509/."/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/cmake/../third_party/securec/include"/>
|
||||||
|
<Add directory="/mnt/data/software/anaconda/anaconda/include/python3.7m"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/pybind11_4ff815e53c2c9c54255c528ad480c451/include"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/eigen3_951666374a92d62fcd880d2baa7db402/include/eigen3"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/protobuf/build/include"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../tests/ut/cpp"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/lite/tools"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/lite/lite"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googletest/include"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googletest"/>
|
||||||
|
<Add directory="/usr/include/c++/7"/>
|
||||||
|
<Add directory="/usr/include/x86_64-linux-gnu/c++/7"/>
|
||||||
|
<Add directory="/usr/include/c++/7/backward"/>
|
||||||
|
<Add directory="/usr/lib/gcc/x86_64-linux-gnu/7/include"/>
|
||||||
|
<Add directory="/usr/local/include"/>
|
||||||
|
<Add directory="/usr/lib/gcc/x86_64-linux-gnu/7/include-fixed"/>
|
||||||
|
<Add directory="/usr/include/x86_64-linux-gnu"/>
|
||||||
|
<Add directory="/usr/include"/>
|
||||||
|
</Compiler>
|
||||||
|
<MakeCommands>
|
||||||
|
<Build command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/gtest/Makefile" VERBOSE=1 gtest_main/fast"/>
|
||||||
|
<CompileFile command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/gtest/Makefile" VERBOSE=1 "$file""/>
|
||||||
|
<Clean command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/gtest/Makefile" VERBOSE=1 clean"/>
|
||||||
|
<DistClean command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/gtest/Makefile" VERBOSE=1 clean"/>
|
||||||
|
</MakeCommands>
|
||||||
|
</Target>
|
||||||
|
<Target title="gtest">
|
||||||
|
<Option output="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/gtest/libgtestd.so" prefix_auto="0" extension_auto="0"/>
|
||||||
|
<Option working_dir="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/gtest"/>
|
||||||
|
<Option object_output="./"/>
|
||||||
|
<Option type="3"/>
|
||||||
|
<Option compiler="gcc"/>
|
||||||
|
<Compiler>
|
||||||
|
<Add option="-DGTEST_CREATE_SHARED_LIBRARY=1"/>
|
||||||
|
<Add option="-DUSE_ANDROID_LOG"/>
|
||||||
|
<Add option="-DNO_DLIB"/>
|
||||||
|
<Add option="-DBUILD_DEVICE"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../.."/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/core"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/ccsrc"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/flatbuffers/include"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/nlohmann_json_b73a91c3af99db76a4468ecba3b99509/."/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/cmake/../third_party/securec/include"/>
|
||||||
|
<Add directory="/mnt/data/software/anaconda/anaconda/include/python3.7m"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/pybind11_4ff815e53c2c9c54255c528ad480c451/include"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/eigen3_951666374a92d62fcd880d2baa7db402/include/eigen3"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/protobuf/build/include"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../tests/ut/cpp"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/lite/tools"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/lite/lite"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googletest/include"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googletest"/>
|
||||||
|
<Add directory="/usr/include/c++/7"/>
|
||||||
|
<Add directory="/usr/include/x86_64-linux-gnu/c++/7"/>
|
||||||
|
<Add directory="/usr/include/c++/7/backward"/>
|
||||||
|
<Add directory="/usr/lib/gcc/x86_64-linux-gnu/7/include"/>
|
||||||
|
<Add directory="/usr/local/include"/>
|
||||||
|
<Add directory="/usr/lib/gcc/x86_64-linux-gnu/7/include-fixed"/>
|
||||||
|
<Add directory="/usr/include/x86_64-linux-gnu"/>
|
||||||
|
<Add directory="/usr/include"/>
|
||||||
|
</Compiler>
|
||||||
|
<MakeCommands>
|
||||||
|
<Build command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/gtest/Makefile" VERBOSE=1 gtest"/>
|
||||||
|
<CompileFile command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/gtest/Makefile" VERBOSE=1 "$file""/>
|
||||||
|
<Clean command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/gtest/Makefile" VERBOSE=1 clean"/>
|
||||||
|
<DistClean command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/gtest/Makefile" VERBOSE=1 clean"/>
|
||||||
|
</MakeCommands>
|
||||||
|
</Target>
|
||||||
|
<Target title="gtest/fast">
|
||||||
|
<Option output="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/gtest/libgtestd.so" prefix_auto="0" extension_auto="0"/>
|
||||||
|
<Option working_dir="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/gtest"/>
|
||||||
|
<Option object_output="./"/>
|
||||||
|
<Option type="3"/>
|
||||||
|
<Option compiler="gcc"/>
|
||||||
|
<Compiler>
|
||||||
|
<Add option="-DGTEST_CREATE_SHARED_LIBRARY=1"/>
|
||||||
|
<Add option="-DUSE_ANDROID_LOG"/>
|
||||||
|
<Add option="-DNO_DLIB"/>
|
||||||
|
<Add option="-DBUILD_DEVICE"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../.."/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/core"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/ccsrc"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/flatbuffers/include"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/nlohmann_json_b73a91c3af99db76a4468ecba3b99509/."/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/cmake/../third_party/securec/include"/>
|
||||||
|
<Add directory="/mnt/data/software/anaconda/anaconda/include/python3.7m"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/pybind11_4ff815e53c2c9c54255c528ad480c451/include"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/eigen3_951666374a92d62fcd880d2baa7db402/include/eigen3"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/protobuf/build/include"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../tests/ut/cpp"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/lite/tools"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/lite/lite"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googletest/include"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googletest"/>
|
||||||
|
<Add directory="/usr/include/c++/7"/>
|
||||||
|
<Add directory="/usr/include/x86_64-linux-gnu/c++/7"/>
|
||||||
|
<Add directory="/usr/include/c++/7/backward"/>
|
||||||
|
<Add directory="/usr/lib/gcc/x86_64-linux-gnu/7/include"/>
|
||||||
|
<Add directory="/usr/local/include"/>
|
||||||
|
<Add directory="/usr/lib/gcc/x86_64-linux-gnu/7/include-fixed"/>
|
||||||
|
<Add directory="/usr/include/x86_64-linux-gnu"/>
|
||||||
|
<Add directory="/usr/include"/>
|
||||||
|
</Compiler>
|
||||||
|
<MakeCommands>
|
||||||
|
<Build command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/gtest/Makefile" VERBOSE=1 gtest/fast"/>
|
||||||
|
<CompileFile command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/gtest/Makefile" VERBOSE=1 "$file""/>
|
||||||
|
<Clean command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/gtest/Makefile" VERBOSE=1 clean"/>
|
||||||
|
<DistClean command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/gtest/Makefile" VERBOSE=1 clean"/>
|
||||||
|
</MakeCommands>
|
||||||
|
</Target>
|
||||||
|
</Build>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googlemock/src/gmock-all.cc">
|
||||||
|
<Option target="gmock"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googlemock/src/gmock_main.cc">
|
||||||
|
<Option target="gmock_main"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googletest/src/gtest-all.cc">
|
||||||
|
<Option target="gtest"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googletest/src/gtest_main.cc">
|
||||||
|
<Option target="gtest_main"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../cmake/dependency_gtest.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\cmake\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../cmake/dependency_securec.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\cmake\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../cmake/utils.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\cmake\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../cmake/external_libs/eigen.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\cmake\external_libs\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../cmake/external_libs/json.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\cmake\external_libs\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../cmake/external_libs/pybind11.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\cmake\external_libs\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../../../../../../../home/hgq/.mslib/pybind11_4ff815e53c2c9c54255c528ad480c451/share/cmake/pybind11/FindPythonLibsNew.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\pybind11_4ff815e53c2c9c54255c528ad480c451\share\cmake\pybind11\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../../../../../../../home/hgq/.mslib/pybind11_4ff815e53c2c9c54255c528ad480c451/share/cmake/pybind11/pybind11Config.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\pybind11_4ff815e53c2c9c54255c528ad480c451\share\cmake\pybind11\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../../../../../../../home/hgq/.mslib/pybind11_4ff815e53c2c9c54255c528ad480c451/share/cmake/pybind11/pybind11ConfigVersion.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\pybind11_4ff815e53c2c9c54255c528ad480c451\share\cmake\pybind11\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../../../../../../../home/hgq/.mslib/pybind11_4ff815e53c2c9c54255c528ad480c451/share/cmake/pybind11/pybind11Targets.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\pybind11_4ff815e53c2c9c54255c528ad480c451\share\cmake\pybind11\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../../../../../../../home/hgq/.mslib/pybind11_4ff815e53c2c9c54255c528ad480c451/share/cmake/pybind11/pybind11Tools.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\pybind11_4ff815e53c2c9c54255c528ad480c451\share\cmake\pybind11\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../../../../../../../home/hgq/.mslib/eigen3_951666374a92d62fcd880d2baa7db402/share/eigen3/cmake/Eigen3Config.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\eigen3_951666374a92d62fcd880d2baa7db402\share\eigen3\cmake\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../../../../../../../home/hgq/.mslib/eigen3_951666374a92d62fcd880d2baa7db402/share/eigen3/cmake/Eigen3ConfigVersion.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\eigen3_951666374a92d62fcd880d2baa7db402\share\eigen3\cmake\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../../../../../../../home/hgq/.mslib/eigen3_951666374a92d62fcd880d2baa7db402/share/eigen3/cmake/Eigen3Targets.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\eigen3_951666374a92d62fcd880d2baa7db402\share\eigen3\cmake\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/securec/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\third_party\securec\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/securec/src/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\third_party\securec\src\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/googletest/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\third_party\googletest\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/googletest/googlemock/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\third_party\googletest\googlemock\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/googletest/googlemock/cmake/gmock.pc.in">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\third_party\googletest\googlemock\cmake\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/googletest/googlemock/cmake/gmock_main.pc.in">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\third_party\googletest\googlemock\cmake\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/googletest/googletest/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\third_party\googletest\googletest\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/googletest/googletest/cmake/Config.cmake.in">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\third_party\googletest\googletest\cmake\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/googletest/googletest/cmake/gtest.pc.in">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\third_party\googletest\googletest\cmake\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/googletest/googletest/cmake/gtest_main.pc.in">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\third_party\googletest\googletest\cmake\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/googletest/googletest/cmake/internal_utils.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\third_party\googletest\googletest\cmake\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/tools/converter/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\tools\converter\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/tools/converter/parser/caffe/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\tools\converter\parser\caffe\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/tools/converter/parser/tflite/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\tools\converter\parser\tflite\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/tools/converter/optimizer/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\tools\converter\optimizer\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/tools/converter/optimizer/fusion/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\tools\converter\optimizer\fusion\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/tools/converter/optimizer/node/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\tools\converter\optimizer\node\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/tools/converter/optimizer/graph/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\tools\converter\optimizer\graph\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/tools/converter/quantizer/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\tools\converter\quantizer\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/tools/benchmark/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\tools\benchmark\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/src/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\src\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/src/common/anf_exporter/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\src\common\anf_exporter\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/src/runtime/kernel/arm/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\src\runtime\kernel\arm\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/src/runtime/kernel/arm/opclib/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\src\runtime\kernel\arm\opclib\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/src/ops/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\src\ops\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/test/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\test\"/>
|
||||||
|
</Unit>
|
||||||
|
</Project>
|
||||||
|
</CodeBlocks_project_file>
|
|
@ -0,0 +1,6 @@
|
||||||
|
# CMake generated Testfile for
|
||||||
|
# Source directory: /mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googletest
|
||||||
|
# Build directory: /mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/gtest
|
||||||
|
#
|
||||||
|
# This file includes the relevant testing commands required for
|
||||||
|
# testing this directory and lists subdirectories to be tested as well.
|
|
@ -0,0 +1,33 @@
|
||||||
|
|
||||||
|
####### Expanded from @PACKAGE_INIT@ by configure_package_config_file() #######
|
||||||
|
####### Any changes to this file will be overwritten by the next CMake run ####
|
||||||
|
####### The input file was Config.cmake.in ########
|
||||||
|
|
||||||
|
get_filename_component(PACKAGE_PREFIX_DIR "${CMAKE_CURRENT_LIST_DIR}/../../../" ABSOLUTE)
|
||||||
|
|
||||||
|
macro(set_and_check _var _file)
|
||||||
|
set(${_var} "${_file}")
|
||||||
|
if(NOT EXISTS "${_file}")
|
||||||
|
message(FATAL_ERROR "File or directory ${_file} referenced by variable ${_var} does not exist !")
|
||||||
|
endif()
|
||||||
|
endmacro()
|
||||||
|
|
||||||
|
macro(check_required_components _NAME)
|
||||||
|
foreach(comp ${${_NAME}_FIND_COMPONENTS})
|
||||||
|
if(NOT ${_NAME}_${comp}_FOUND)
|
||||||
|
if(${_NAME}_FIND_REQUIRED_${comp})
|
||||||
|
set(${_NAME}_FOUND FALSE)
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
endforeach()
|
||||||
|
endmacro()
|
||||||
|
|
||||||
|
####################################################################################
|
||||||
|
include(CMakeFindDependencyMacro)
|
||||||
|
if (ON)
|
||||||
|
set(THREADS_PREFER_PTHREAD_FLAG ON)
|
||||||
|
find_dependency(Threads)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
include("${CMAKE_CURRENT_LIST_DIR}/GTestTargets.cmake")
|
||||||
|
check_required_components("")
|
|
@ -0,0 +1,37 @@
|
||||||
|
# This is a basic version file for the Config-mode of find_package().
|
||||||
|
# It is used by write_basic_package_version_file() as input file for configure_file()
|
||||||
|
# to create a version-file which can be installed along a config.cmake file.
|
||||||
|
#
|
||||||
|
# The created file sets PACKAGE_VERSION_EXACT if the current version string and
|
||||||
|
# the requested version string are exactly the same and it sets
|
||||||
|
# PACKAGE_VERSION_COMPATIBLE if the current version is >= requested version.
|
||||||
|
# The variable CVF_VERSION must be set before calling configure_file().
|
||||||
|
|
||||||
|
set(PACKAGE_VERSION "1.9.0")
|
||||||
|
|
||||||
|
if(PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION)
|
||||||
|
set(PACKAGE_VERSION_COMPATIBLE FALSE)
|
||||||
|
else()
|
||||||
|
set(PACKAGE_VERSION_COMPATIBLE TRUE)
|
||||||
|
if(PACKAGE_FIND_VERSION STREQUAL PACKAGE_VERSION)
|
||||||
|
set(PACKAGE_VERSION_EXACT TRUE)
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
|
||||||
|
# if the installed project requested no architecture check, don't perform the check
|
||||||
|
if("FALSE")
|
||||||
|
return()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# if the installed or the using project don't have CMAKE_SIZEOF_VOID_P set, ignore it:
|
||||||
|
if("${CMAKE_SIZEOF_VOID_P}" STREQUAL "" OR "8" STREQUAL "")
|
||||||
|
return()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# check that the installed version has the same 32/64bit-ness as the one which is currently searching:
|
||||||
|
if(NOT CMAKE_SIZEOF_VOID_P STREQUAL "8")
|
||||||
|
math(EXPR installedBits "8 * 8")
|
||||||
|
set(PACKAGE_VERSION "${PACKAGE_VERSION} (${installedBits}bit)")
|
||||||
|
set(PACKAGE_VERSION_UNSUITABLE TRUE)
|
||||||
|
endif()
|
|
@ -0,0 +1,9 @@
|
||||||
|
libdir=/usr/local/lib
|
||||||
|
includedir=/usr/local/include
|
||||||
|
|
||||||
|
Name: gmock
|
||||||
|
Description: GoogleMock (without main() function)
|
||||||
|
Version: 1.9.0
|
||||||
|
URL: https://github.com/google/googletest
|
||||||
|
Libs: -L${libdir} -lgmock -pthread
|
||||||
|
Cflags: -I${includedir} -DGTEST_HAS_PTHREAD=1 -pthread
|
|
@ -0,0 +1,9 @@
|
||||||
|
libdir=/usr/local/lib
|
||||||
|
includedir=/usr/local/include
|
||||||
|
|
||||||
|
Name: gmock_main
|
||||||
|
Description: GoogleMock (with main() function)
|
||||||
|
Version: 1.9.0
|
||||||
|
URL: https://github.com/google/googletest
|
||||||
|
Libs: -L${libdir} -lgmock_main -pthread
|
||||||
|
Cflags: -I${includedir} -DGTEST_HAS_PTHREAD=1 -pthread
|
|
@ -0,0 +1,9 @@
|
||||||
|
libdir=/usr/local/lib
|
||||||
|
includedir=/usr/local/include
|
||||||
|
|
||||||
|
Name: gtest
|
||||||
|
Description: GoogleTest (without main() function)
|
||||||
|
Version: 1.9.0
|
||||||
|
URL: https://github.com/google/googletest
|
||||||
|
Libs: -L${libdir} -lgtest -pthread
|
||||||
|
Cflags: -I${includedir} -DGTEST_HAS_PTHREAD=1 -pthread
|
|
@ -0,0 +1,10 @@
|
||||||
|
libdir=/usr/local/lib
|
||||||
|
includedir=/usr/local/include
|
||||||
|
|
||||||
|
Name: gtest_main
|
||||||
|
Description: GoogleTest (with main() function)
|
||||||
|
Version: 1.9.0
|
||||||
|
URL: https://github.com/google/googletest
|
||||||
|
Requires: gtest
|
||||||
|
Libs: -L${libdir} -lgtest_main -pthread
|
||||||
|
Cflags: -I${includedir} -DGTEST_HAS_PTHREAD=1 -pthread
|
|
@ -0,0 +1,327 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<CodeBlocks_project_file>
|
||||||
|
<FileVersion major="1" minor="6"/>
|
||||||
|
<Project>
|
||||||
|
<Option title="gtest"/>
|
||||||
|
<Option makefile_is_custom="1"/>
|
||||||
|
<Option compiler="gcc"/>
|
||||||
|
<Option virtualFolders="CMake Files\;CMake Files\..\;CMake Files\..\..\;CMake Files\..\..\cmake\;CMake Files\..\..\cmake\external_libs\;CMake Files\..\..\..\;CMake Files\..\..\..\..\;CMake Files\..\..\..\..\..\;CMake Files\..\..\..\..\..\..\;CMake Files\..\..\..\..\..\..\..\;CMake Files\..\..\..\..\..\..\..\..\;CMake Files\..\..\..\..\..\..\..\..\home\;CMake Files\..\..\..\..\..\..\..\..\home\hgq\;CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\;CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\pybind11_4ff815e53c2c9c54255c528ad480c451\;CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\pybind11_4ff815e53c2c9c54255c528ad480c451\share\;CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\pybind11_4ff815e53c2c9c54255c528ad480c451\share\cmake\;CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\pybind11_4ff815e53c2c9c54255c528ad480c451\share\cmake\pybind11\;CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\eigen3_951666374a92d62fcd880d2baa7db402\;CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\eigen3_951666374a92d62fcd880d2baa7db402\share\;CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\eigen3_951666374a92d62fcd880d2baa7db402\share\eigen3\;CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\eigen3_951666374a92d62fcd880d2baa7db402\share\eigen3\cmake\;CMake Files\..\..\third_party\;CMake Files\..\..\third_party\securec\;CMake Files\..\..\third_party\securec\src\;CMake Files\..\..\third_party\googletest\;CMake Files\..\..\third_party\googletest\googlemock\;CMake Files\..\..\third_party\googletest\googlemock\cmake\;CMake Files\..\..\third_party\googletest\googletest\;CMake Files\..\..\third_party\googletest\googletest\cmake\;CMake Files\tools\;CMake Files\tools\converter\;CMake Files\tools\converter\parser\;CMake Files\tools\converter\parser\caffe\;CMake Files\tools\converter\parser\tflite\;CMake Files\tools\converter\optimizer\;CMake Files\tools\converter\optimizer\fusion\;CMake Files\tools\converter\optimizer\node\;CMake Files\tools\converter\optimizer\graph\;CMake Files\tools\converter\quantizer\;CMake Files\tools\benchmark\;CMake Files\src\;CMake Files\src\common\;CMake Files\src\common\anf_exporter\;CMake Files\src\runtime\;CMake Files\src\runtime\kernel\;CMake Files\src\runtime\kernel\arm\;CMake Files\src\runtime\kernel\arm\opclib\;CMake Files\src\ops\;CMake Files\test\;"/>
|
||||||
|
<Build>
|
||||||
|
<Target title="all">
|
||||||
|
<Option working_dir="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/gtest"/>
|
||||||
|
<Option type="4"/>
|
||||||
|
<MakeCommands>
|
||||||
|
<Build command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/gtest/Makefile" VERBOSE=1 all"/>
|
||||||
|
<CompileFile command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/gtest/Makefile" VERBOSE=1 "$file""/>
|
||||||
|
<Clean command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/gtest/Makefile" VERBOSE=1 clean"/>
|
||||||
|
<DistClean command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/gtest/Makefile" VERBOSE=1 clean"/>
|
||||||
|
</MakeCommands>
|
||||||
|
</Target>
|
||||||
|
<Target title="gtest_main">
|
||||||
|
<Option output="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/gtest/libgtest_maind.so" prefix_auto="0" extension_auto="0"/>
|
||||||
|
<Option working_dir="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/gtest"/>
|
||||||
|
<Option object_output="./"/>
|
||||||
|
<Option type="3"/>
|
||||||
|
<Option compiler="gcc"/>
|
||||||
|
<Compiler>
|
||||||
|
<Add option="-DGTEST_CREATE_SHARED_LIBRARY=1"/>
|
||||||
|
<Add option="-DUSE_ANDROID_LOG"/>
|
||||||
|
<Add option="-DNO_DLIB"/>
|
||||||
|
<Add option="-DBUILD_DEVICE"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../.."/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/core"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/ccsrc"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/flatbuffers/include"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/nlohmann_json_b73a91c3af99db76a4468ecba3b99509/."/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/cmake/../third_party/securec/include"/>
|
||||||
|
<Add directory="/mnt/data/software/anaconda/anaconda/include/python3.7m"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/pybind11_4ff815e53c2c9c54255c528ad480c451/include"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/eigen3_951666374a92d62fcd880d2baa7db402/include/eigen3"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/protobuf/build/include"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../tests/ut/cpp"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/lite/tools"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/lite/lite"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googletest/include"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googletest"/>
|
||||||
|
<Add directory="/usr/include/c++/7"/>
|
||||||
|
<Add directory="/usr/include/x86_64-linux-gnu/c++/7"/>
|
||||||
|
<Add directory="/usr/include/c++/7/backward"/>
|
||||||
|
<Add directory="/usr/lib/gcc/x86_64-linux-gnu/7/include"/>
|
||||||
|
<Add directory="/usr/local/include"/>
|
||||||
|
<Add directory="/usr/lib/gcc/x86_64-linux-gnu/7/include-fixed"/>
|
||||||
|
<Add directory="/usr/include/x86_64-linux-gnu"/>
|
||||||
|
<Add directory="/usr/include"/>
|
||||||
|
</Compiler>
|
||||||
|
<MakeCommands>
|
||||||
|
<Build command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/gtest/Makefile" VERBOSE=1 gtest_main"/>
|
||||||
|
<CompileFile command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/gtest/Makefile" VERBOSE=1 "$file""/>
|
||||||
|
<Clean command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/gtest/Makefile" VERBOSE=1 clean"/>
|
||||||
|
<DistClean command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/gtest/Makefile" VERBOSE=1 clean"/>
|
||||||
|
</MakeCommands>
|
||||||
|
</Target>
|
||||||
|
<Target title="gtest_main/fast">
|
||||||
|
<Option output="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/gtest/libgtest_maind.so" prefix_auto="0" extension_auto="0"/>
|
||||||
|
<Option working_dir="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/gtest"/>
|
||||||
|
<Option object_output="./"/>
|
||||||
|
<Option type="3"/>
|
||||||
|
<Option compiler="gcc"/>
|
||||||
|
<Compiler>
|
||||||
|
<Add option="-DGTEST_CREATE_SHARED_LIBRARY=1"/>
|
||||||
|
<Add option="-DUSE_ANDROID_LOG"/>
|
||||||
|
<Add option="-DNO_DLIB"/>
|
||||||
|
<Add option="-DBUILD_DEVICE"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../.."/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/core"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/ccsrc"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/flatbuffers/include"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/nlohmann_json_b73a91c3af99db76a4468ecba3b99509/."/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/cmake/../third_party/securec/include"/>
|
||||||
|
<Add directory="/mnt/data/software/anaconda/anaconda/include/python3.7m"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/pybind11_4ff815e53c2c9c54255c528ad480c451/include"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/eigen3_951666374a92d62fcd880d2baa7db402/include/eigen3"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/protobuf/build/include"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../tests/ut/cpp"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/lite/tools"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/lite/lite"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googletest/include"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googletest"/>
|
||||||
|
<Add directory="/usr/include/c++/7"/>
|
||||||
|
<Add directory="/usr/include/x86_64-linux-gnu/c++/7"/>
|
||||||
|
<Add directory="/usr/include/c++/7/backward"/>
|
||||||
|
<Add directory="/usr/lib/gcc/x86_64-linux-gnu/7/include"/>
|
||||||
|
<Add directory="/usr/local/include"/>
|
||||||
|
<Add directory="/usr/lib/gcc/x86_64-linux-gnu/7/include-fixed"/>
|
||||||
|
<Add directory="/usr/include/x86_64-linux-gnu"/>
|
||||||
|
<Add directory="/usr/include"/>
|
||||||
|
</Compiler>
|
||||||
|
<MakeCommands>
|
||||||
|
<Build command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/gtest/Makefile" VERBOSE=1 gtest_main/fast"/>
|
||||||
|
<CompileFile command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/gtest/Makefile" VERBOSE=1 "$file""/>
|
||||||
|
<Clean command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/gtest/Makefile" VERBOSE=1 clean"/>
|
||||||
|
<DistClean command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/gtest/Makefile" VERBOSE=1 clean"/>
|
||||||
|
</MakeCommands>
|
||||||
|
</Target>
|
||||||
|
<Target title="gtest">
|
||||||
|
<Option output="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/gtest/libgtestd.so" prefix_auto="0" extension_auto="0"/>
|
||||||
|
<Option working_dir="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/gtest"/>
|
||||||
|
<Option object_output="./"/>
|
||||||
|
<Option type="3"/>
|
||||||
|
<Option compiler="gcc"/>
|
||||||
|
<Compiler>
|
||||||
|
<Add option="-DGTEST_CREATE_SHARED_LIBRARY=1"/>
|
||||||
|
<Add option="-DUSE_ANDROID_LOG"/>
|
||||||
|
<Add option="-DNO_DLIB"/>
|
||||||
|
<Add option="-DBUILD_DEVICE"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../.."/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/core"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/ccsrc"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/flatbuffers/include"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/nlohmann_json_b73a91c3af99db76a4468ecba3b99509/."/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/cmake/../third_party/securec/include"/>
|
||||||
|
<Add directory="/mnt/data/software/anaconda/anaconda/include/python3.7m"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/pybind11_4ff815e53c2c9c54255c528ad480c451/include"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/eigen3_951666374a92d62fcd880d2baa7db402/include/eigen3"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/protobuf/build/include"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../tests/ut/cpp"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/lite/tools"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/lite/lite"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googletest/include"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googletest"/>
|
||||||
|
<Add directory="/usr/include/c++/7"/>
|
||||||
|
<Add directory="/usr/include/x86_64-linux-gnu/c++/7"/>
|
||||||
|
<Add directory="/usr/include/c++/7/backward"/>
|
||||||
|
<Add directory="/usr/lib/gcc/x86_64-linux-gnu/7/include"/>
|
||||||
|
<Add directory="/usr/local/include"/>
|
||||||
|
<Add directory="/usr/lib/gcc/x86_64-linux-gnu/7/include-fixed"/>
|
||||||
|
<Add directory="/usr/include/x86_64-linux-gnu"/>
|
||||||
|
<Add directory="/usr/include"/>
|
||||||
|
</Compiler>
|
||||||
|
<MakeCommands>
|
||||||
|
<Build command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/gtest/Makefile" VERBOSE=1 gtest"/>
|
||||||
|
<CompileFile command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/gtest/Makefile" VERBOSE=1 "$file""/>
|
||||||
|
<Clean command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/gtest/Makefile" VERBOSE=1 clean"/>
|
||||||
|
<DistClean command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/gtest/Makefile" VERBOSE=1 clean"/>
|
||||||
|
</MakeCommands>
|
||||||
|
</Target>
|
||||||
|
<Target title="gtest/fast">
|
||||||
|
<Option output="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/gtest/libgtestd.so" prefix_auto="0" extension_auto="0"/>
|
||||||
|
<Option working_dir="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/gtest"/>
|
||||||
|
<Option object_output="./"/>
|
||||||
|
<Option type="3"/>
|
||||||
|
<Option compiler="gcc"/>
|
||||||
|
<Compiler>
|
||||||
|
<Add option="-DGTEST_CREATE_SHARED_LIBRARY=1"/>
|
||||||
|
<Add option="-DUSE_ANDROID_LOG"/>
|
||||||
|
<Add option="-DNO_DLIB"/>
|
||||||
|
<Add option="-DBUILD_DEVICE"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../.."/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/core"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/ccsrc"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/flatbuffers/include"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/nlohmann_json_b73a91c3af99db76a4468ecba3b99509/."/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/cmake/../third_party/securec/include"/>
|
||||||
|
<Add directory="/mnt/data/software/anaconda/anaconda/include/python3.7m"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/pybind11_4ff815e53c2c9c54255c528ad480c451/include"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/eigen3_951666374a92d62fcd880d2baa7db402/include/eigen3"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/protobuf/build/include"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../tests/ut/cpp"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/lite/tools"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/lite/lite"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googletest/include"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googletest"/>
|
||||||
|
<Add directory="/usr/include/c++/7"/>
|
||||||
|
<Add directory="/usr/include/x86_64-linux-gnu/c++/7"/>
|
||||||
|
<Add directory="/usr/include/c++/7/backward"/>
|
||||||
|
<Add directory="/usr/lib/gcc/x86_64-linux-gnu/7/include"/>
|
||||||
|
<Add directory="/usr/local/include"/>
|
||||||
|
<Add directory="/usr/lib/gcc/x86_64-linux-gnu/7/include-fixed"/>
|
||||||
|
<Add directory="/usr/include/x86_64-linux-gnu"/>
|
||||||
|
<Add directory="/usr/include"/>
|
||||||
|
</Compiler>
|
||||||
|
<MakeCommands>
|
||||||
|
<Build command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/gtest/Makefile" VERBOSE=1 gtest/fast"/>
|
||||||
|
<CompileFile command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/gtest/Makefile" VERBOSE=1 "$file""/>
|
||||||
|
<Clean command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/gtest/Makefile" VERBOSE=1 clean"/>
|
||||||
|
<DistClean command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/gtest/Makefile" VERBOSE=1 clean"/>
|
||||||
|
</MakeCommands>
|
||||||
|
</Target>
|
||||||
|
</Build>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googletest/src/gtest-all.cc">
|
||||||
|
<Option target="gtest"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googletest/src/gtest_main.cc">
|
||||||
|
<Option target="gtest_main"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../cmake/dependency_gtest.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\cmake\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../cmake/dependency_securec.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\cmake\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../cmake/utils.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\cmake\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../cmake/external_libs/eigen.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\cmake\external_libs\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../cmake/external_libs/json.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\cmake\external_libs\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../cmake/external_libs/pybind11.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\cmake\external_libs\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../../../../../../../home/hgq/.mslib/pybind11_4ff815e53c2c9c54255c528ad480c451/share/cmake/pybind11/FindPythonLibsNew.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\pybind11_4ff815e53c2c9c54255c528ad480c451\share\cmake\pybind11\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../../../../../../../home/hgq/.mslib/pybind11_4ff815e53c2c9c54255c528ad480c451/share/cmake/pybind11/pybind11Config.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\pybind11_4ff815e53c2c9c54255c528ad480c451\share\cmake\pybind11\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../../../../../../../home/hgq/.mslib/pybind11_4ff815e53c2c9c54255c528ad480c451/share/cmake/pybind11/pybind11ConfigVersion.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\pybind11_4ff815e53c2c9c54255c528ad480c451\share\cmake\pybind11\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../../../../../../../home/hgq/.mslib/pybind11_4ff815e53c2c9c54255c528ad480c451/share/cmake/pybind11/pybind11Targets.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\pybind11_4ff815e53c2c9c54255c528ad480c451\share\cmake\pybind11\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../../../../../../../home/hgq/.mslib/pybind11_4ff815e53c2c9c54255c528ad480c451/share/cmake/pybind11/pybind11Tools.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\pybind11_4ff815e53c2c9c54255c528ad480c451\share\cmake\pybind11\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../../../../../../../home/hgq/.mslib/eigen3_951666374a92d62fcd880d2baa7db402/share/eigen3/cmake/Eigen3Config.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\eigen3_951666374a92d62fcd880d2baa7db402\share\eigen3\cmake\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../../../../../../../home/hgq/.mslib/eigen3_951666374a92d62fcd880d2baa7db402/share/eigen3/cmake/Eigen3ConfigVersion.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\eigen3_951666374a92d62fcd880d2baa7db402\share\eigen3\cmake\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../../../../../../../home/hgq/.mslib/eigen3_951666374a92d62fcd880d2baa7db402/share/eigen3/cmake/Eigen3Targets.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\eigen3_951666374a92d62fcd880d2baa7db402\share\eigen3\cmake\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/securec/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\third_party\securec\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/securec/src/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\third_party\securec\src\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/googletest/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\third_party\googletest\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/googletest/googlemock/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\third_party\googletest\googlemock\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/googletest/googlemock/cmake/gmock.pc.in">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\third_party\googletest\googlemock\cmake\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/googletest/googlemock/cmake/gmock_main.pc.in">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\third_party\googletest\googlemock\cmake\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/googletest/googletest/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\third_party\googletest\googletest\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/googletest/googletest/cmake/Config.cmake.in">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\third_party\googletest\googletest\cmake\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/googletest/googletest/cmake/gtest.pc.in">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\third_party\googletest\googletest\cmake\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/googletest/googletest/cmake/gtest_main.pc.in">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\third_party\googletest\googletest\cmake\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/googletest/googletest/cmake/internal_utils.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\third_party\googletest\googletest\cmake\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/tools/converter/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\tools\converter\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/tools/converter/parser/caffe/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\tools\converter\parser\caffe\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/tools/converter/parser/tflite/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\tools\converter\parser\tflite\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/tools/converter/optimizer/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\tools\converter\optimizer\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/tools/converter/optimizer/fusion/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\tools\converter\optimizer\fusion\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/tools/converter/optimizer/node/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\tools\converter\optimizer\node\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/tools/converter/optimizer/graph/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\tools\converter\optimizer\graph\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/tools/converter/quantizer/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\tools\converter\quantizer\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/tools/benchmark/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\tools\benchmark\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/src/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\src\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/src/common/anf_exporter/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\src\common\anf_exporter\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/src/runtime/kernel/arm/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\src\runtime\kernel\arm\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/src/runtime/kernel/arm/opclib/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\src\runtime\kernel\arm\opclib\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/src/ops/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\src\ops\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/test/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\test\"/>
|
||||||
|
</Unit>
|
||||||
|
</Project>
|
||||||
|
</CodeBlocks_project_file>
|
|
@ -0,0 +1,517 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<CodeBlocks_project_file>
|
||||||
|
<FileVersion major="1" minor="6"/>
|
||||||
|
<Project>
|
||||||
|
<Option title="googletest-distribution"/>
|
||||||
|
<Option makefile_is_custom="1"/>
|
||||||
|
<Option compiler="gcc"/>
|
||||||
|
<Option virtualFolders="CMake Files\;CMake Files\..\;CMake Files\..\..\;CMake Files\..\..\cmake\;CMake Files\..\..\cmake\external_libs\;CMake Files\..\..\..\;CMake Files\..\..\..\..\;CMake Files\..\..\..\..\..\;CMake Files\..\..\..\..\..\..\;CMake Files\..\..\..\..\..\..\..\;CMake Files\..\..\..\..\..\..\..\..\;CMake Files\..\..\..\..\..\..\..\..\home\;CMake Files\..\..\..\..\..\..\..\..\home\hgq\;CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\;CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\pybind11_4ff815e53c2c9c54255c528ad480c451\;CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\pybind11_4ff815e53c2c9c54255c528ad480c451\share\;CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\pybind11_4ff815e53c2c9c54255c528ad480c451\share\cmake\;CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\pybind11_4ff815e53c2c9c54255c528ad480c451\share\cmake\pybind11\;CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\eigen3_951666374a92d62fcd880d2baa7db402\;CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\eigen3_951666374a92d62fcd880d2baa7db402\share\;CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\eigen3_951666374a92d62fcd880d2baa7db402\share\eigen3\;CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\eigen3_951666374a92d62fcd880d2baa7db402\share\eigen3\cmake\;CMake Files\..\..\third_party\;CMake Files\..\..\third_party\securec\;CMake Files\..\..\third_party\securec\src\;CMake Files\..\..\third_party\googletest\;CMake Files\..\..\third_party\googletest\googlemock\;CMake Files\..\..\third_party\googletest\googlemock\cmake\;CMake Files\..\..\third_party\googletest\googletest\;CMake Files\..\..\third_party\googletest\googletest\cmake\;CMake Files\tools\;CMake Files\tools\converter\;CMake Files\tools\converter\parser\;CMake Files\tools\converter\parser\caffe\;CMake Files\tools\converter\parser\tflite\;CMake Files\tools\converter\optimizer\;CMake Files\tools\converter\optimizer\fusion\;CMake Files\tools\converter\optimizer\node\;CMake Files\tools\converter\optimizer\graph\;CMake Files\tools\converter\quantizer\;CMake Files\tools\benchmark\;CMake Files\src\;CMake Files\src\common\;CMake Files\src\common\anf_exporter\;CMake Files\src\runtime\;CMake Files\src\runtime\kernel\;CMake Files\src\runtime\kernel\arm\;CMake Files\src\runtime\kernel\arm\opclib\;CMake Files\src\ops\;CMake Files\test\;"/>
|
||||||
|
<Build>
|
||||||
|
<Target title="all">
|
||||||
|
<Option working_dir="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest"/>
|
||||||
|
<Option type="4"/>
|
||||||
|
<MakeCommands>
|
||||||
|
<Build command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/Makefile" VERBOSE=1 all"/>
|
||||||
|
<CompileFile command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/Makefile" VERBOSE=1 "$file""/>
|
||||||
|
<Clean command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/Makefile" VERBOSE=1 clean"/>
|
||||||
|
<DistClean command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/Makefile" VERBOSE=1 clean"/>
|
||||||
|
</MakeCommands>
|
||||||
|
</Target>
|
||||||
|
<Target title="gmock_main">
|
||||||
|
<Option output="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/libgmock_maind.so" prefix_auto="0" extension_auto="0"/>
|
||||||
|
<Option working_dir="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock"/>
|
||||||
|
<Option object_output="./"/>
|
||||||
|
<Option type="3"/>
|
||||||
|
<Option compiler="gcc"/>
|
||||||
|
<Compiler>
|
||||||
|
<Add option="-DGTEST_CREATE_SHARED_LIBRARY=1"/>
|
||||||
|
<Add option="-DUSE_ANDROID_LOG"/>
|
||||||
|
<Add option="-DNO_DLIB"/>
|
||||||
|
<Add option="-DBUILD_DEVICE"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../.."/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/core"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/ccsrc"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/flatbuffers/include"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/nlohmann_json_b73a91c3af99db76a4468ecba3b99509/."/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/cmake/../third_party/securec/include"/>
|
||||||
|
<Add directory="/mnt/data/software/anaconda/anaconda/include/python3.7m"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/pybind11_4ff815e53c2c9c54255c528ad480c451/include"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/eigen3_951666374a92d62fcd880d2baa7db402/include/eigen3"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/protobuf/build/include"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../tests/ut/cpp"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/lite/tools"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/lite/lite"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googlemock/include"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googlemock"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googletest/include"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googletest"/>
|
||||||
|
<Add directory="/usr/include/c++/7"/>
|
||||||
|
<Add directory="/usr/include/x86_64-linux-gnu/c++/7"/>
|
||||||
|
<Add directory="/usr/include/c++/7/backward"/>
|
||||||
|
<Add directory="/usr/lib/gcc/x86_64-linux-gnu/7/include"/>
|
||||||
|
<Add directory="/usr/local/include"/>
|
||||||
|
<Add directory="/usr/lib/gcc/x86_64-linux-gnu/7/include-fixed"/>
|
||||||
|
<Add directory="/usr/include/x86_64-linux-gnu"/>
|
||||||
|
<Add directory="/usr/include"/>
|
||||||
|
</Compiler>
|
||||||
|
<MakeCommands>
|
||||||
|
<Build command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/Makefile" VERBOSE=1 gmock_main"/>
|
||||||
|
<CompileFile command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/Makefile" VERBOSE=1 "$file""/>
|
||||||
|
<Clean command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/Makefile" VERBOSE=1 clean"/>
|
||||||
|
<DistClean command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/Makefile" VERBOSE=1 clean"/>
|
||||||
|
</MakeCommands>
|
||||||
|
</Target>
|
||||||
|
<Target title="gmock_main/fast">
|
||||||
|
<Option output="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/libgmock_maind.so" prefix_auto="0" extension_auto="0"/>
|
||||||
|
<Option working_dir="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock"/>
|
||||||
|
<Option object_output="./"/>
|
||||||
|
<Option type="3"/>
|
||||||
|
<Option compiler="gcc"/>
|
||||||
|
<Compiler>
|
||||||
|
<Add option="-DGTEST_CREATE_SHARED_LIBRARY=1"/>
|
||||||
|
<Add option="-DUSE_ANDROID_LOG"/>
|
||||||
|
<Add option="-DNO_DLIB"/>
|
||||||
|
<Add option="-DBUILD_DEVICE"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../.."/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/core"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/ccsrc"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/flatbuffers/include"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/nlohmann_json_b73a91c3af99db76a4468ecba3b99509/."/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/cmake/../third_party/securec/include"/>
|
||||||
|
<Add directory="/mnt/data/software/anaconda/anaconda/include/python3.7m"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/pybind11_4ff815e53c2c9c54255c528ad480c451/include"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/eigen3_951666374a92d62fcd880d2baa7db402/include/eigen3"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/protobuf/build/include"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../tests/ut/cpp"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/lite/tools"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/lite/lite"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googlemock/include"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googlemock"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googletest/include"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googletest"/>
|
||||||
|
<Add directory="/usr/include/c++/7"/>
|
||||||
|
<Add directory="/usr/include/x86_64-linux-gnu/c++/7"/>
|
||||||
|
<Add directory="/usr/include/c++/7/backward"/>
|
||||||
|
<Add directory="/usr/lib/gcc/x86_64-linux-gnu/7/include"/>
|
||||||
|
<Add directory="/usr/local/include"/>
|
||||||
|
<Add directory="/usr/lib/gcc/x86_64-linux-gnu/7/include-fixed"/>
|
||||||
|
<Add directory="/usr/include/x86_64-linux-gnu"/>
|
||||||
|
<Add directory="/usr/include"/>
|
||||||
|
</Compiler>
|
||||||
|
<MakeCommands>
|
||||||
|
<Build command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/Makefile" VERBOSE=1 gmock_main/fast"/>
|
||||||
|
<CompileFile command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/Makefile" VERBOSE=1 "$file""/>
|
||||||
|
<Clean command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/Makefile" VERBOSE=1 clean"/>
|
||||||
|
<DistClean command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/Makefile" VERBOSE=1 clean"/>
|
||||||
|
</MakeCommands>
|
||||||
|
</Target>
|
||||||
|
<Target title="gmock">
|
||||||
|
<Option output="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/libgmockd.so" prefix_auto="0" extension_auto="0"/>
|
||||||
|
<Option working_dir="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock"/>
|
||||||
|
<Option object_output="./"/>
|
||||||
|
<Option type="3"/>
|
||||||
|
<Option compiler="gcc"/>
|
||||||
|
<Compiler>
|
||||||
|
<Add option="-DGTEST_CREATE_SHARED_LIBRARY=1"/>
|
||||||
|
<Add option="-DUSE_ANDROID_LOG"/>
|
||||||
|
<Add option="-DNO_DLIB"/>
|
||||||
|
<Add option="-DBUILD_DEVICE"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../.."/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/core"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/ccsrc"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/flatbuffers/include"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/nlohmann_json_b73a91c3af99db76a4468ecba3b99509/."/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/cmake/../third_party/securec/include"/>
|
||||||
|
<Add directory="/mnt/data/software/anaconda/anaconda/include/python3.7m"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/pybind11_4ff815e53c2c9c54255c528ad480c451/include"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/eigen3_951666374a92d62fcd880d2baa7db402/include/eigen3"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/protobuf/build/include"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../tests/ut/cpp"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/lite/tools"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/lite/lite"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googlemock/include"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googlemock"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googletest/include"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googletest"/>
|
||||||
|
<Add directory="/usr/include/c++/7"/>
|
||||||
|
<Add directory="/usr/include/x86_64-linux-gnu/c++/7"/>
|
||||||
|
<Add directory="/usr/include/c++/7/backward"/>
|
||||||
|
<Add directory="/usr/lib/gcc/x86_64-linux-gnu/7/include"/>
|
||||||
|
<Add directory="/usr/local/include"/>
|
||||||
|
<Add directory="/usr/lib/gcc/x86_64-linux-gnu/7/include-fixed"/>
|
||||||
|
<Add directory="/usr/include/x86_64-linux-gnu"/>
|
||||||
|
<Add directory="/usr/include"/>
|
||||||
|
</Compiler>
|
||||||
|
<MakeCommands>
|
||||||
|
<Build command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/Makefile" VERBOSE=1 gmock"/>
|
||||||
|
<CompileFile command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/Makefile" VERBOSE=1 "$file""/>
|
||||||
|
<Clean command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/Makefile" VERBOSE=1 clean"/>
|
||||||
|
<DistClean command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/Makefile" VERBOSE=1 clean"/>
|
||||||
|
</MakeCommands>
|
||||||
|
</Target>
|
||||||
|
<Target title="gmock/fast">
|
||||||
|
<Option output="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/libgmockd.so" prefix_auto="0" extension_auto="0"/>
|
||||||
|
<Option working_dir="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock"/>
|
||||||
|
<Option object_output="./"/>
|
||||||
|
<Option type="3"/>
|
||||||
|
<Option compiler="gcc"/>
|
||||||
|
<Compiler>
|
||||||
|
<Add option="-DGTEST_CREATE_SHARED_LIBRARY=1"/>
|
||||||
|
<Add option="-DUSE_ANDROID_LOG"/>
|
||||||
|
<Add option="-DNO_DLIB"/>
|
||||||
|
<Add option="-DBUILD_DEVICE"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../.."/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/core"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/ccsrc"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/flatbuffers/include"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/nlohmann_json_b73a91c3af99db76a4468ecba3b99509/."/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/cmake/../third_party/securec/include"/>
|
||||||
|
<Add directory="/mnt/data/software/anaconda/anaconda/include/python3.7m"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/pybind11_4ff815e53c2c9c54255c528ad480c451/include"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/eigen3_951666374a92d62fcd880d2baa7db402/include/eigen3"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/protobuf/build/include"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../tests/ut/cpp"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/lite/tools"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/lite/lite"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googlemock/include"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googlemock"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googletest/include"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googletest"/>
|
||||||
|
<Add directory="/usr/include/c++/7"/>
|
||||||
|
<Add directory="/usr/include/x86_64-linux-gnu/c++/7"/>
|
||||||
|
<Add directory="/usr/include/c++/7/backward"/>
|
||||||
|
<Add directory="/usr/lib/gcc/x86_64-linux-gnu/7/include"/>
|
||||||
|
<Add directory="/usr/local/include"/>
|
||||||
|
<Add directory="/usr/lib/gcc/x86_64-linux-gnu/7/include-fixed"/>
|
||||||
|
<Add directory="/usr/include/x86_64-linux-gnu"/>
|
||||||
|
<Add directory="/usr/include"/>
|
||||||
|
</Compiler>
|
||||||
|
<MakeCommands>
|
||||||
|
<Build command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/Makefile" VERBOSE=1 gmock/fast"/>
|
||||||
|
<CompileFile command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/Makefile" VERBOSE=1 "$file""/>
|
||||||
|
<Clean command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/Makefile" VERBOSE=1 clean"/>
|
||||||
|
<DistClean command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/Makefile" VERBOSE=1 clean"/>
|
||||||
|
</MakeCommands>
|
||||||
|
</Target>
|
||||||
|
<Target title="gtest_main">
|
||||||
|
<Option output="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/gtest/libgtest_maind.so" prefix_auto="0" extension_auto="0"/>
|
||||||
|
<Option working_dir="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/gtest"/>
|
||||||
|
<Option object_output="./"/>
|
||||||
|
<Option type="3"/>
|
||||||
|
<Option compiler="gcc"/>
|
||||||
|
<Compiler>
|
||||||
|
<Add option="-DGTEST_CREATE_SHARED_LIBRARY=1"/>
|
||||||
|
<Add option="-DUSE_ANDROID_LOG"/>
|
||||||
|
<Add option="-DNO_DLIB"/>
|
||||||
|
<Add option="-DBUILD_DEVICE"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../.."/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/core"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/ccsrc"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/flatbuffers/include"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/nlohmann_json_b73a91c3af99db76a4468ecba3b99509/."/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/cmake/../third_party/securec/include"/>
|
||||||
|
<Add directory="/mnt/data/software/anaconda/anaconda/include/python3.7m"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/pybind11_4ff815e53c2c9c54255c528ad480c451/include"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/eigen3_951666374a92d62fcd880d2baa7db402/include/eigen3"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/protobuf/build/include"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../tests/ut/cpp"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/lite/tools"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/lite/lite"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googletest/include"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googletest"/>
|
||||||
|
<Add directory="/usr/include/c++/7"/>
|
||||||
|
<Add directory="/usr/include/x86_64-linux-gnu/c++/7"/>
|
||||||
|
<Add directory="/usr/include/c++/7/backward"/>
|
||||||
|
<Add directory="/usr/lib/gcc/x86_64-linux-gnu/7/include"/>
|
||||||
|
<Add directory="/usr/local/include"/>
|
||||||
|
<Add directory="/usr/lib/gcc/x86_64-linux-gnu/7/include-fixed"/>
|
||||||
|
<Add directory="/usr/include/x86_64-linux-gnu"/>
|
||||||
|
<Add directory="/usr/include"/>
|
||||||
|
</Compiler>
|
||||||
|
<MakeCommands>
|
||||||
|
<Build command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/gtest/Makefile" VERBOSE=1 gtest_main"/>
|
||||||
|
<CompileFile command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/gtest/Makefile" VERBOSE=1 "$file""/>
|
||||||
|
<Clean command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/gtest/Makefile" VERBOSE=1 clean"/>
|
||||||
|
<DistClean command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/gtest/Makefile" VERBOSE=1 clean"/>
|
||||||
|
</MakeCommands>
|
||||||
|
</Target>
|
||||||
|
<Target title="gtest_main/fast">
|
||||||
|
<Option output="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/gtest/libgtest_maind.so" prefix_auto="0" extension_auto="0"/>
|
||||||
|
<Option working_dir="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/gtest"/>
|
||||||
|
<Option object_output="./"/>
|
||||||
|
<Option type="3"/>
|
||||||
|
<Option compiler="gcc"/>
|
||||||
|
<Compiler>
|
||||||
|
<Add option="-DGTEST_CREATE_SHARED_LIBRARY=1"/>
|
||||||
|
<Add option="-DUSE_ANDROID_LOG"/>
|
||||||
|
<Add option="-DNO_DLIB"/>
|
||||||
|
<Add option="-DBUILD_DEVICE"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../.."/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/core"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/ccsrc"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/flatbuffers/include"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/nlohmann_json_b73a91c3af99db76a4468ecba3b99509/."/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/cmake/../third_party/securec/include"/>
|
||||||
|
<Add directory="/mnt/data/software/anaconda/anaconda/include/python3.7m"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/pybind11_4ff815e53c2c9c54255c528ad480c451/include"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/eigen3_951666374a92d62fcd880d2baa7db402/include/eigen3"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/protobuf/build/include"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../tests/ut/cpp"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/lite/tools"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/lite/lite"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googletest/include"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googletest"/>
|
||||||
|
<Add directory="/usr/include/c++/7"/>
|
||||||
|
<Add directory="/usr/include/x86_64-linux-gnu/c++/7"/>
|
||||||
|
<Add directory="/usr/include/c++/7/backward"/>
|
||||||
|
<Add directory="/usr/lib/gcc/x86_64-linux-gnu/7/include"/>
|
||||||
|
<Add directory="/usr/local/include"/>
|
||||||
|
<Add directory="/usr/lib/gcc/x86_64-linux-gnu/7/include-fixed"/>
|
||||||
|
<Add directory="/usr/include/x86_64-linux-gnu"/>
|
||||||
|
<Add directory="/usr/include"/>
|
||||||
|
</Compiler>
|
||||||
|
<MakeCommands>
|
||||||
|
<Build command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/gtest/Makefile" VERBOSE=1 gtest_main/fast"/>
|
||||||
|
<CompileFile command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/gtest/Makefile" VERBOSE=1 "$file""/>
|
||||||
|
<Clean command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/gtest/Makefile" VERBOSE=1 clean"/>
|
||||||
|
<DistClean command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/gtest/Makefile" VERBOSE=1 clean"/>
|
||||||
|
</MakeCommands>
|
||||||
|
</Target>
|
||||||
|
<Target title="gtest">
|
||||||
|
<Option output="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/gtest/libgtestd.so" prefix_auto="0" extension_auto="0"/>
|
||||||
|
<Option working_dir="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/gtest"/>
|
||||||
|
<Option object_output="./"/>
|
||||||
|
<Option type="3"/>
|
||||||
|
<Option compiler="gcc"/>
|
||||||
|
<Compiler>
|
||||||
|
<Add option="-DGTEST_CREATE_SHARED_LIBRARY=1"/>
|
||||||
|
<Add option="-DUSE_ANDROID_LOG"/>
|
||||||
|
<Add option="-DNO_DLIB"/>
|
||||||
|
<Add option="-DBUILD_DEVICE"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../.."/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/core"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/ccsrc"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/flatbuffers/include"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/nlohmann_json_b73a91c3af99db76a4468ecba3b99509/."/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/cmake/../third_party/securec/include"/>
|
||||||
|
<Add directory="/mnt/data/software/anaconda/anaconda/include/python3.7m"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/pybind11_4ff815e53c2c9c54255c528ad480c451/include"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/eigen3_951666374a92d62fcd880d2baa7db402/include/eigen3"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/protobuf/build/include"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../tests/ut/cpp"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/lite/tools"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/lite/lite"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googletest/include"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googletest"/>
|
||||||
|
<Add directory="/usr/include/c++/7"/>
|
||||||
|
<Add directory="/usr/include/x86_64-linux-gnu/c++/7"/>
|
||||||
|
<Add directory="/usr/include/c++/7/backward"/>
|
||||||
|
<Add directory="/usr/lib/gcc/x86_64-linux-gnu/7/include"/>
|
||||||
|
<Add directory="/usr/local/include"/>
|
||||||
|
<Add directory="/usr/lib/gcc/x86_64-linux-gnu/7/include-fixed"/>
|
||||||
|
<Add directory="/usr/include/x86_64-linux-gnu"/>
|
||||||
|
<Add directory="/usr/include"/>
|
||||||
|
</Compiler>
|
||||||
|
<MakeCommands>
|
||||||
|
<Build command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/gtest/Makefile" VERBOSE=1 gtest"/>
|
||||||
|
<CompileFile command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/gtest/Makefile" VERBOSE=1 "$file""/>
|
||||||
|
<Clean command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/gtest/Makefile" VERBOSE=1 clean"/>
|
||||||
|
<DistClean command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/gtest/Makefile" VERBOSE=1 clean"/>
|
||||||
|
</MakeCommands>
|
||||||
|
</Target>
|
||||||
|
<Target title="gtest/fast">
|
||||||
|
<Option output="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/gtest/libgtestd.so" prefix_auto="0" extension_auto="0"/>
|
||||||
|
<Option working_dir="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/gtest"/>
|
||||||
|
<Option object_output="./"/>
|
||||||
|
<Option type="3"/>
|
||||||
|
<Option compiler="gcc"/>
|
||||||
|
<Compiler>
|
||||||
|
<Add option="-DGTEST_CREATE_SHARED_LIBRARY=1"/>
|
||||||
|
<Add option="-DUSE_ANDROID_LOG"/>
|
||||||
|
<Add option="-DNO_DLIB"/>
|
||||||
|
<Add option="-DBUILD_DEVICE"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../.."/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/core"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/ccsrc"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/flatbuffers/include"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/nlohmann_json_b73a91c3af99db76a4468ecba3b99509/."/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/cmake/../third_party/securec/include"/>
|
||||||
|
<Add directory="/mnt/data/software/anaconda/anaconda/include/python3.7m"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/pybind11_4ff815e53c2c9c54255c528ad480c451/include"/>
|
||||||
|
<Add directory="/home/hgq/.mslib/eigen3_951666374a92d62fcd880d2baa7db402/include/eigen3"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/protobuf/build/include"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../tests/ut/cpp"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/lite/tools"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../mindspore/lite/lite"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googletest/include"/>
|
||||||
|
<Add directory="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googletest"/>
|
||||||
|
<Add directory="/usr/include/c++/7"/>
|
||||||
|
<Add directory="/usr/include/x86_64-linux-gnu/c++/7"/>
|
||||||
|
<Add directory="/usr/include/c++/7/backward"/>
|
||||||
|
<Add directory="/usr/lib/gcc/x86_64-linux-gnu/7/include"/>
|
||||||
|
<Add directory="/usr/local/include"/>
|
||||||
|
<Add directory="/usr/lib/gcc/x86_64-linux-gnu/7/include-fixed"/>
|
||||||
|
<Add directory="/usr/include/x86_64-linux-gnu"/>
|
||||||
|
<Add directory="/usr/include"/>
|
||||||
|
</Compiler>
|
||||||
|
<MakeCommands>
|
||||||
|
<Build command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/gtest/Makefile" VERBOSE=1 gtest/fast"/>
|
||||||
|
<CompileFile command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/gtest/Makefile" VERBOSE=1 "$file""/>
|
||||||
|
<Clean command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/gtest/Makefile" VERBOSE=1 clean"/>
|
||||||
|
<DistClean command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/googletest/googlemock/gtest/Makefile" VERBOSE=1 clean"/>
|
||||||
|
</MakeCommands>
|
||||||
|
</Target>
|
||||||
|
</Build>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googlemock/src/gmock-all.cc">
|
||||||
|
<Option target="gmock"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googlemock/src/gmock_main.cc">
|
||||||
|
<Option target="gmock_main"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googletest/src/gtest-all.cc">
|
||||||
|
<Option target="gtest"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/third_party/googletest/googletest/src/gtest_main.cc">
|
||||||
|
<Option target="gtest_main"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../cmake/dependency_gtest.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\cmake\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../cmake/dependency_securec.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\cmake\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../cmake/utils.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\cmake\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../cmake/external_libs/eigen.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\cmake\external_libs\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../cmake/external_libs/json.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\cmake\external_libs\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../cmake/external_libs/pybind11.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\cmake\external_libs\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../../../../../../../home/hgq/.mslib/pybind11_4ff815e53c2c9c54255c528ad480c451/share/cmake/pybind11/FindPythonLibsNew.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\pybind11_4ff815e53c2c9c54255c528ad480c451\share\cmake\pybind11\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../../../../../../../home/hgq/.mslib/pybind11_4ff815e53c2c9c54255c528ad480c451/share/cmake/pybind11/pybind11Config.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\pybind11_4ff815e53c2c9c54255c528ad480c451\share\cmake\pybind11\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../../../../../../../home/hgq/.mslib/pybind11_4ff815e53c2c9c54255c528ad480c451/share/cmake/pybind11/pybind11ConfigVersion.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\pybind11_4ff815e53c2c9c54255c528ad480c451\share\cmake\pybind11\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../../../../../../../home/hgq/.mslib/pybind11_4ff815e53c2c9c54255c528ad480c451/share/cmake/pybind11/pybind11Targets.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\pybind11_4ff815e53c2c9c54255c528ad480c451\share\cmake\pybind11\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../../../../../../../home/hgq/.mslib/pybind11_4ff815e53c2c9c54255c528ad480c451/share/cmake/pybind11/pybind11Tools.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\pybind11_4ff815e53c2c9c54255c528ad480c451\share\cmake\pybind11\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../../../../../../../home/hgq/.mslib/eigen3_951666374a92d62fcd880d2baa7db402/share/eigen3/cmake/Eigen3Config.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\eigen3_951666374a92d62fcd880d2baa7db402\share\eigen3\cmake\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../../../../../../../home/hgq/.mslib/eigen3_951666374a92d62fcd880d2baa7db402/share/eigen3/cmake/Eigen3ConfigVersion.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\eigen3_951666374a92d62fcd880d2baa7db402\share\eigen3\cmake\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../../../../../../../home/hgq/.mslib/eigen3_951666374a92d62fcd880d2baa7db402/share/eigen3/cmake/Eigen3Targets.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\eigen3_951666374a92d62fcd880d2baa7db402\share\eigen3\cmake\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/securec/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\third_party\securec\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/securec/src/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\third_party\securec\src\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/googletest/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\third_party\googletest\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/googletest/googlemock/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\third_party\googletest\googlemock\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/googletest/googlemock/cmake/gmock.pc.in">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\third_party\googletest\googlemock\cmake\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/googletest/googlemock/cmake/gmock_main.pc.in">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\third_party\googletest\googlemock\cmake\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/googletest/googletest/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\third_party\googletest\googletest\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/googletest/googletest/cmake/Config.cmake.in">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\third_party\googletest\googletest\cmake\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/googletest/googletest/cmake/gtest.pc.in">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\third_party\googletest\googletest\cmake\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/googletest/googletest/cmake/gtest_main.pc.in">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\third_party\googletest\googletest\cmake\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/googletest/googletest/cmake/internal_utils.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\third_party\googletest\googletest\cmake\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/tools/converter/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\tools\converter\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/tools/converter/parser/caffe/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\tools\converter\parser\caffe\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/tools/converter/parser/tflite/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\tools\converter\parser\tflite\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/tools/converter/optimizer/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\tools\converter\optimizer\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/tools/converter/optimizer/fusion/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\tools\converter\optimizer\fusion\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/tools/converter/optimizer/node/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\tools\converter\optimizer\node\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/tools/converter/optimizer/graph/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\tools\converter\optimizer\graph\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/tools/converter/quantizer/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\tools\converter\quantizer\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/tools/benchmark/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\tools\benchmark\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/src/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\src\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/src/common/anf_exporter/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\src\common\anf_exporter\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/src/runtime/kernel/arm/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\src\runtime\kernel\arm\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/src/runtime/kernel/arm/opclib/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\src\runtime\kernel\arm\opclib\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/src/ops/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\src\ops\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/test/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\test\"/>
|
||||||
|
</Unit>
|
||||||
|
</Project>
|
||||||
|
</CodeBlocks_project_file>
|
|
@ -0,0 +1,112 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<CodeBlocks_project_file>
|
||||||
|
<FileVersion major="1" minor="6"/>
|
||||||
|
<Project>
|
||||||
|
<Option title="optimize"/>
|
||||||
|
<Option makefile_is_custom="1"/>
|
||||||
|
<Option compiler="gcc"/>
|
||||||
|
<Option virtualFolders="CMake Files\;CMake Files\..\;CMake Files\..\..\;CMake Files\..\..\cmake\;CMake Files\..\..\cmake\external_libs\;CMake Files\..\..\..\;CMake Files\..\..\..\..\;CMake Files\..\..\..\..\..\;CMake Files\..\..\..\..\..\..\;CMake Files\..\..\..\..\..\..\..\;CMake Files\..\..\..\..\..\..\..\..\;CMake Files\..\..\..\..\..\..\..\..\home\;CMake Files\..\..\..\..\..\..\..\..\home\hgq\;CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\;CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\pybind11_4ff815e53c2c9c54255c528ad480c451\;CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\pybind11_4ff815e53c2c9c54255c528ad480c451\share\;CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\pybind11_4ff815e53c2c9c54255c528ad480c451\share\cmake\;CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\pybind11_4ff815e53c2c9c54255c528ad480c451\share\cmake\pybind11\;CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\eigen3_951666374a92d62fcd880d2baa7db402\;CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\eigen3_951666374a92d62fcd880d2baa7db402\share\;CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\eigen3_951666374a92d62fcd880d2baa7db402\share\eigen3\;CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\eigen3_951666374a92d62fcd880d2baa7db402\share\eigen3\cmake\;CMake Files\..\..\third_party\;CMake Files\..\..\third_party\securec\;CMake Files\..\..\third_party\securec\src\;CMake Files\tools\;CMake Files\tools\converter\;CMake Files\tools\converter\parser\;CMake Files\tools\converter\parser\caffe\;CMake Files\tools\converter\parser\tflite\;CMake Files\tools\converter\optimizer\;CMake Files\tools\converter\optimizer\fusion\;CMake Files\tools\converter\optimizer\node\;CMake Files\tools\converter\optimizer\graph\;CMake Files\tools\converter\quantizer\;CMake Files\tools\benchmark\;CMake Files\src\;CMake Files\src\common\;CMake Files\src\common\anf_exporter\;CMake Files\src\runtime\;CMake Files\src\runtime\kernel\;CMake Files\src\runtime\kernel\arm\;CMake Files\src\runtime\kernel\arm\opclib\;CMake Files\src\ops\;"/>
|
||||||
|
<Build>
|
||||||
|
<Target title="all">
|
||||||
|
<Option working_dir="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/src/runtime/kernel/arm/opclib"/>
|
||||||
|
<Option type="4"/>
|
||||||
|
<MakeCommands>
|
||||||
|
<Build command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/src/runtime/kernel/arm/opclib/Makefile" VERBOSE=1 all"/>
|
||||||
|
<CompileFile command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/src/runtime/kernel/arm/opclib/Makefile" VERBOSE=1 "$file""/>
|
||||||
|
<Clean command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/src/runtime/kernel/arm/opclib/Makefile" VERBOSE=1 clean"/>
|
||||||
|
<DistClean command="/usr/bin/make -j8 -f "/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/cmake-build-minnie/src/runtime/kernel/arm/opclib/Makefile" VERBOSE=1 clean"/>
|
||||||
|
</MakeCommands>
|
||||||
|
</Target>
|
||||||
|
</Build>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../cmake/dependency_securec.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\cmake\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../cmake/utils.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\cmake\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../cmake/external_libs/eigen.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\cmake\external_libs\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../cmake/external_libs/json.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\cmake\external_libs\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../cmake/external_libs/pybind11.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\cmake\external_libs\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../../../../../../../home/hgq/.mslib/pybind11_4ff815e53c2c9c54255c528ad480c451/share/cmake/pybind11/FindPythonLibsNew.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\pybind11_4ff815e53c2c9c54255c528ad480c451\share\cmake\pybind11\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../../../../../../../home/hgq/.mslib/pybind11_4ff815e53c2c9c54255c528ad480c451/share/cmake/pybind11/pybind11Config.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\pybind11_4ff815e53c2c9c54255c528ad480c451\share\cmake\pybind11\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../../../../../../../home/hgq/.mslib/pybind11_4ff815e53c2c9c54255c528ad480c451/share/cmake/pybind11/pybind11ConfigVersion.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\pybind11_4ff815e53c2c9c54255c528ad480c451\share\cmake\pybind11\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../../../../../../../home/hgq/.mslib/pybind11_4ff815e53c2c9c54255c528ad480c451/share/cmake/pybind11/pybind11Targets.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\pybind11_4ff815e53c2c9c54255c528ad480c451\share\cmake\pybind11\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../../../../../../../home/hgq/.mslib/pybind11_4ff815e53c2c9c54255c528ad480c451/share/cmake/pybind11/pybind11Tools.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\pybind11_4ff815e53c2c9c54255c528ad480c451\share\cmake\pybind11\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../../../../../../../home/hgq/.mslib/eigen3_951666374a92d62fcd880d2baa7db402/share/eigen3/cmake/Eigen3Config.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\eigen3_951666374a92d62fcd880d2baa7db402\share\eigen3\cmake\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../../../../../../../home/hgq/.mslib/eigen3_951666374a92d62fcd880d2baa7db402/share/eigen3/cmake/Eigen3ConfigVersion.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\eigen3_951666374a92d62fcd880d2baa7db402\share\eigen3\cmake\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../../../../../../../home/hgq/.mslib/eigen3_951666374a92d62fcd880d2baa7db402/share/eigen3/cmake/Eigen3Targets.cmake">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\..\..\..\..\..\..\home\hgq\.mslib\eigen3_951666374a92d62fcd880d2baa7db402\share\eigen3\cmake\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/securec/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\third_party\securec\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/../../third_party/securec/src/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\..\..\third_party\securec\src\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/tools/converter/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\tools\converter\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/tools/converter/parser/caffe/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\tools\converter\parser\caffe\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/tools/converter/parser/tflite/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\tools\converter\parser\tflite\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/tools/converter/optimizer/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\tools\converter\optimizer\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/tools/converter/optimizer/fusion/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\tools\converter\optimizer\fusion\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/tools/converter/optimizer/node/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\tools\converter\optimizer\node\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/tools/converter/optimizer/graph/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\tools\converter\optimizer\graph\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/tools/converter/quantizer/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\tools\converter\quantizer\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/tools/benchmark/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\tools\benchmark\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/src/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\src\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/src/common/anf_exporter/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\src\common\anf_exporter\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/src/runtime/kernel/arm/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\src\runtime\kernel\arm\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/src/runtime/kernel/arm/opclib/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\src\runtime\kernel\arm\opclib\"/>
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="/mnt/data/workspace/OpenAI/Huawei/mindspore/mindspore/lite/src/ops/CMakeLists.txt">
|
||||||
|
<Option virtualFolder="CMake Files\src\ops\"/>
|
||||||
|
</Unit>
|
||||||
|
</Project>
|
||||||
|
</CodeBlocks_project_file>
|
|
@ -0,0 +1,76 @@
|
||||||
|
/**
|
||||||
|
* Copyright 2020 Huawei Technologies Co., Ltd
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef MINDSPORE_LITE_INCLUDE_CONTEXT_H_
|
||||||
|
#define MINDSPORE_LITE_INCLUDE_CONTEXT_H_
|
||||||
|
|
||||||
|
#include <string>
|
||||||
|
#include <memory>
|
||||||
|
#include "include/ms_tensor.h"
|
||||||
|
|
||||||
|
namespace mindspore::lite {
|
||||||
|
class Allocator;
|
||||||
|
enum CpuBindMode {
|
||||||
|
MID_CPU = -1, /**< bind mid cpu first */
|
||||||
|
HIGHER_CPU = 1, /**< bind higher cpu first */
|
||||||
|
NO_BIND = 0 /**< no bind */
|
||||||
|
};
|
||||||
|
|
||||||
|
typedef enum { DT_CPU, DT_GPU, DT_NPU } DeviceType;
|
||||||
|
|
||||||
|
// brief NPUContext defined by MindSpore predict
|
||||||
|
typedef struct {
|
||||||
|
int freq{3};
|
||||||
|
int fmkType{0};
|
||||||
|
int modelType{0};
|
||||||
|
int deviceType{0};
|
||||||
|
std::string modelName = "default";
|
||||||
|
} NPUContext;
|
||||||
|
|
||||||
|
// brief DeviceContext defined by MindSpore predict
|
||||||
|
typedef struct {
|
||||||
|
DeviceType type;
|
||||||
|
// DLContext primary;
|
||||||
|
NPUContext npuCtx;
|
||||||
|
} DeviceContext;
|
||||||
|
|
||||||
|
// brief Context defined by MindSpore predict
|
||||||
|
class MS_API Context {
|
||||||
|
public:
|
||||||
|
// brief Constructor of MindSpore predict context using default value for parameters
|
||||||
|
//
|
||||||
|
// return Instance of MindSpore predict context.
|
||||||
|
Context();
|
||||||
|
|
||||||
|
// brief Constructor of MindSpore predict context using input value for parameters
|
||||||
|
//
|
||||||
|
// param[in] threadNum Define the threadNum during the runtime.
|
||||||
|
// param[in] allocator Define the allocator for malloc.
|
||||||
|
// param[in] deviceCtx Define device information during the runtime.
|
||||||
|
Context(int threadNum, std::shared_ptr<Allocator> allocator, DeviceContext deviceCtx);
|
||||||
|
|
||||||
|
// brief Destructor of MindSpore predict context
|
||||||
|
virtual ~Context();
|
||||||
|
|
||||||
|
public:
|
||||||
|
DeviceContext deviceCtx;
|
||||||
|
int threadNum = 2;
|
||||||
|
std::shared_ptr<Allocator> allocator;
|
||||||
|
CpuBindMode cpuBindMode = MID_CPU;
|
||||||
|
};
|
||||||
|
} // namespace mindspore::lite
|
||||||
|
#endif // MINDSPORE_LITE_INCLUDE_CONTEXT_H_
|
||||||
|
|
|
@ -0,0 +1,55 @@
|
||||||
|
/**
|
||||||
|
* Copyright 2020 Huawei Technologies Co., Ltd
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef MINDSPORE_LITE_INCLUDE_ERRORCODE_H_
|
||||||
|
#define MINDSPORE_LITE_INCLUDE_ERRORCODE_H_
|
||||||
|
|
||||||
|
namespace mindspore {
|
||||||
|
namespace lite {
|
||||||
|
using STATUS = int;
|
||||||
|
|
||||||
|
/* Success */
|
||||||
|
constexpr int RET_OK = 0; /**< No error occurs. */
|
||||||
|
|
||||||
|
/* Common error code, range: [-1, -100]*/
|
||||||
|
constexpr int RET_ERROR = -1; /**< Common error code. */
|
||||||
|
constexpr int RET_NULL_PTR = -2; /**< NULL pointer returned.*/
|
||||||
|
constexpr int RET_PARAM_INVALID = -3; /**< Invalid parameter.*/
|
||||||
|
constexpr int RET_NO_CHANGE = -4; /**< No change. */
|
||||||
|
constexpr int RET_SUCCESS_EXIT = -5; /**< No error but exit. */
|
||||||
|
constexpr int RET_MEMORY_FAILED = -6; /**< Create memory failed. */
|
||||||
|
|
||||||
|
/* Executor error code, range: [-101,-200] */
|
||||||
|
constexpr int RET_OUT_OF_TENSOR_RANGE = -101; /**< Failed to checking range. */
|
||||||
|
constexpr int RET_INPUT_TENSOR_ERROR = -102; /**< Failed to checking input tensor. */
|
||||||
|
constexpr int RET_REENTRANT_ERROR = -103; /**< Exist executor running. */
|
||||||
|
|
||||||
|
/* Graph error code, range: [-201,-300] */
|
||||||
|
constexpr int RET_GRAPH_FILE_ERR = -201; /**< Failed to verify graph file. */
|
||||||
|
|
||||||
|
/* Node error code, range: [-301,-400] */
|
||||||
|
constexpr int RET_NOT_FIND_OP = -301; /**< Failed to find operator. */
|
||||||
|
constexpr int RET_INVALID_OP_NAME = -302; /**< Invalid operator name. */
|
||||||
|
constexpr int RET_INVALID_OP_ATTR = -303; /**< Invalid operator attr. */
|
||||||
|
constexpr int RET_OP_EXECUTE_FAILURE = -304; /**< Failed to execution operator. */
|
||||||
|
|
||||||
|
/* Tensor error code, range: [-401,-500] */
|
||||||
|
constexpr int RET_FORMAT_ERR = -401; /**< Failed to checking tensor format. */
|
||||||
|
} // namespace lite
|
||||||
|
} // namespace mindspore
|
||||||
|
|
||||||
|
#endif // MINDSPORE_LITE_INCLUDE_ERRORCODE_H_
|
||||||
|
|
|
@ -0,0 +1,52 @@
|
||||||
|
/**
|
||||||
|
* Copyright 2020 Huawei Technologies Co., Ltd
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef MINDSPORE_LITE_INCLUDE_LITE_SESSION_H
|
||||||
|
#define MINDSPORE_LITE_INCLUDE_LITE_SESSION_H
|
||||||
|
|
||||||
|
#include <memory>
|
||||||
|
#include <vector>
|
||||||
|
#include <string>
|
||||||
|
#include "include/ms_tensor.h"
|
||||||
|
#include "include/model.h"
|
||||||
|
#include "include/context.h"
|
||||||
|
|
||||||
|
namespace mindspore {
|
||||||
|
namespace session {
|
||||||
|
class MS_API LiteSession {
|
||||||
|
public:
|
||||||
|
virtual ~LiteSession() = default;
|
||||||
|
|
||||||
|
virtual void BindThread(bool ifBind) = 0;
|
||||||
|
|
||||||
|
static LiteSession *CreateSession(lite::Context *context);
|
||||||
|
|
||||||
|
virtual int CompileGraph(lite::Model *model) = 0;
|
||||||
|
|
||||||
|
virtual std::vector<tensor::MSTensor *> GetInputs() = 0;
|
||||||
|
|
||||||
|
virtual std::vector<tensor::MSTensor *> GetInputsByName(std::string name) = 0;
|
||||||
|
|
||||||
|
virtual int RunGraph() = 0;
|
||||||
|
|
||||||
|
virtual std::vector<tensor::MSTensor *> GetOutputs() = 0;
|
||||||
|
|
||||||
|
virtual std::vector<tensor::MSTensor *> GetOutputsByName(std::string name) = 0;
|
||||||
|
};
|
||||||
|
} // namespace session
|
||||||
|
} // namespace mindspore
|
||||||
|
#endif // MINDSPORE_LITE_INCLUDE_LITE_SESSION_H
|
||||||
|
|
|
@ -0,0 +1,57 @@
|
||||||
|
/**
|
||||||
|
* Copyright 2020 Huawei Technologies Co., Ltd
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef MINDSPORE_LITE_INCLUDE_MODEL_H
|
||||||
|
#define MINDSPORE_LITE_INCLUDE_MODEL_H
|
||||||
|
|
||||||
|
#include <string>
|
||||||
|
#include <vector>
|
||||||
|
#include <memory>
|
||||||
|
#include "schema/model_generated.h"
|
||||||
|
|
||||||
|
namespace mindspore {
|
||||||
|
class ModelImpl;
|
||||||
|
namespace lite {
|
||||||
|
class Primitive;
|
||||||
|
class Model {
|
||||||
|
public:
|
||||||
|
static std::shared_ptr<Model> Import(const char *model_buf, size_t size);
|
||||||
|
virtual ~Model() = default;
|
||||||
|
Model() = default;
|
||||||
|
lite::Primitive *GetOp(const std::string &name) const;
|
||||||
|
const schema::MetaGraph *GetMetaGraph() const;
|
||||||
|
std::shared_ptr<ModelImpl> GetModelImpl();
|
||||||
|
void FreeMetaGraph();
|
||||||
|
|
||||||
|
protected:
|
||||||
|
std::shared_ptr<ModelImpl> modelImpl = nullptr;
|
||||||
|
};
|
||||||
|
class ModelBuilder {
|
||||||
|
public:
|
||||||
|
struct OutEdge {
|
||||||
|
std::string nodeId;
|
||||||
|
size_t outEdgeIndex;
|
||||||
|
};
|
||||||
|
ModelBuilder() = default;
|
||||||
|
virtual ~ModelBuilder() = default;
|
||||||
|
virtual std::string AddOp(const lite::Primitive &op, const std::vector<OutEdge> &inputs) = 0;
|
||||||
|
virtual Model *Construct();
|
||||||
|
};
|
||||||
|
} // namespace lite
|
||||||
|
} // namespace mindspore
|
||||||
|
|
||||||
|
#endif // MINDSPORE_LITE_INCLUDE_MODEL_H
|
||||||
|
|
|
@ -0,0 +1,70 @@
|
||||||
|
/**
|
||||||
|
* Copyright 2020 Huawei Technologies Co., Ltd
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef MINDSPORE_INCLUDE_MS_TENSOR_H_
|
||||||
|
#define MINDSPORE_INCLUDE_MS_TENSOR_H_
|
||||||
|
|
||||||
|
#include <utility>
|
||||||
|
#include <vector>
|
||||||
|
#include <memory>
|
||||||
|
#include "ir/dtype/type_id.h"
|
||||||
|
|
||||||
|
namespace mindspore {
|
||||||
|
#define MS_API __attribute__((visibility("default")))
|
||||||
|
namespace tensor {
|
||||||
|
class MS_API MSTensor {
|
||||||
|
public:
|
||||||
|
MSTensor() = default;
|
||||||
|
// brief Create a MSTensor pointer.
|
||||||
|
//
|
||||||
|
// param data_type DataTypeId of tensor to be created.
|
||||||
|
// param shape Shape of tensor to be created.
|
||||||
|
// return MSTensor pointer.
|
||||||
|
static MSTensor *CreateTensor(TypeId data_type, const std::vector<int> &shape);
|
||||||
|
|
||||||
|
virtual ~MSTensor() = default;
|
||||||
|
|
||||||
|
virtual TypeId data_type() const = 0;
|
||||||
|
|
||||||
|
virtual TypeId set_data_type(const TypeId data_type) = 0;
|
||||||
|
|
||||||
|
virtual std::vector<int> shape() const = 0;
|
||||||
|
|
||||||
|
virtual size_t set_shape(const std::vector<int> &shape) = 0;
|
||||||
|
|
||||||
|
virtual int DimensionSize(size_t index) const = 0;
|
||||||
|
// brief Get number of element in MSTensor.
|
||||||
|
//
|
||||||
|
// return Number of element in MSTensor.
|
||||||
|
virtual int ElementsNum() const = 0;
|
||||||
|
|
||||||
|
virtual std::size_t hash() const = 0;
|
||||||
|
// brief Get byte size of data in MSTensor.
|
||||||
|
//
|
||||||
|
// return Byte size of data in MSTensor.
|
||||||
|
virtual size_t Size() const = 0;
|
||||||
|
// brief Get pointer of data in MSTensor.
|
||||||
|
//
|
||||||
|
// The data pointer can be used to both write or read data in MSTensor.
|
||||||
|
//
|
||||||
|
// return A pointer points to data in MSTensor.
|
||||||
|
virtual void *MutableData() const = 0;
|
||||||
|
};
|
||||||
|
using MultiTensor = std::vector<std::vector<std::shared_ptr<tensor::MSTensor>>>;
|
||||||
|
} // namespace tensor
|
||||||
|
} // namespace mindspore
|
||||||
|
#endif // MINDSPORE_INCLUDE_MS_TENSOR_H_
|
||||||
|
|
|
@ -0,0 +1,208 @@
|
||||||
|
/**
|
||||||
|
* Copyright 2019 Huawei Technologies Co., Ltd
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
include "ops.fbs";
|
||||||
|
|
||||||
|
namespace mindspore.schema;
|
||||||
|
|
||||||
|
enum NodeType: int {
|
||||||
|
ValueNode, // const
|
||||||
|
Parameter, // var
|
||||||
|
CNode // op
|
||||||
|
}
|
||||||
|
|
||||||
|
table QuantParam {
|
||||||
|
scale: double;
|
||||||
|
zeroPoint: int;
|
||||||
|
min: double = 0;
|
||||||
|
max: double = 0;
|
||||||
|
narrowRange: bool = true;
|
||||||
|
numBits: int = 8;
|
||||||
|
inited: bool = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
table Tensor {
|
||||||
|
nodeType: NodeType;
|
||||||
|
// data type
|
||||||
|
dataType: int;
|
||||||
|
// shape
|
||||||
|
dims: [int];
|
||||||
|
format: Format;
|
||||||
|
refCount: int;
|
||||||
|
offset: int;
|
||||||
|
data: [ubyte];
|
||||||
|
quantParams: [QuantParam];
|
||||||
|
}
|
||||||
|
|
||||||
|
union PrimitiveType {
|
||||||
|
Concat,
|
||||||
|
SoftMax,
|
||||||
|
Activation,
|
||||||
|
Conv2D,
|
||||||
|
FusedBatchNorm,
|
||||||
|
CaffeBatchNorm,
|
||||||
|
BiasAdd,
|
||||||
|
Pooling,
|
||||||
|
DepthwiseConv2D,
|
||||||
|
DeDepthwiseConv2D,
|
||||||
|
Resize,
|
||||||
|
DetectionPostProcess,
|
||||||
|
FullConnection,
|
||||||
|
Mean,
|
||||||
|
DeConv2D,
|
||||||
|
Scale,
|
||||||
|
Reshape,
|
||||||
|
Eltwise,
|
||||||
|
NetOutput,
|
||||||
|
Add,
|
||||||
|
Sub,
|
||||||
|
MatMul,
|
||||||
|
StridedSlice,
|
||||||
|
Power,
|
||||||
|
Slice,
|
||||||
|
Stack,
|
||||||
|
Mul,
|
||||||
|
RealDiv,
|
||||||
|
Pad,
|
||||||
|
Maximum,
|
||||||
|
Minimum,
|
||||||
|
CaffePReLU,
|
||||||
|
LeakyReLU,
|
||||||
|
ArgMax,
|
||||||
|
ArgMin,
|
||||||
|
Exp,
|
||||||
|
Crop,
|
||||||
|
Range,
|
||||||
|
Rsqrt,
|
||||||
|
ExpandDims,
|
||||||
|
Tile,
|
||||||
|
Cast,
|
||||||
|
Shape,
|
||||||
|
Nchw2Nhwc,
|
||||||
|
Nhwc2Nchw,
|
||||||
|
QuantDTypeCast,
|
||||||
|
Split,
|
||||||
|
Permute,
|
||||||
|
FakeQuantWithMinMaxVars,
|
||||||
|
Equal,
|
||||||
|
Less,
|
||||||
|
Greater,
|
||||||
|
NotEqual,
|
||||||
|
LessEqual,
|
||||||
|
GreaterEqual,
|
||||||
|
Min,
|
||||||
|
Floor,
|
||||||
|
Abs,
|
||||||
|
Neg,
|
||||||
|
Cos,
|
||||||
|
Sin,
|
||||||
|
Sqrt,
|
||||||
|
Square,
|
||||||
|
Constant,
|
||||||
|
Log,
|
||||||
|
Tan,
|
||||||
|
Atan,
|
||||||
|
Asin,
|
||||||
|
Clip,
|
||||||
|
Transpose,
|
||||||
|
Squeeze,
|
||||||
|
Unsqueeze,
|
||||||
|
Upsample,
|
||||||
|
Dropout,
|
||||||
|
Broadcast,
|
||||||
|
BroadcastTo,
|
||||||
|
Lrn,
|
||||||
|
Prelu,
|
||||||
|
ZerosLike,
|
||||||
|
TopK,
|
||||||
|
SpaceToDepth,
|
||||||
|
SpaceToBatch,
|
||||||
|
SparseToDense,
|
||||||
|
ReverseSequence,
|
||||||
|
Rank,
|
||||||
|
Gather,
|
||||||
|
GatherNd,
|
||||||
|
Fill,
|
||||||
|
Elu,
|
||||||
|
DepthToSpace,
|
||||||
|
BatchToSpace,
|
||||||
|
AddN,
|
||||||
|
Ceil,
|
||||||
|
EmbeddingLookup,
|
||||||
|
EmbeddingLookupSparse,
|
||||||
|
FloorDiv,
|
||||||
|
FloorMod,
|
||||||
|
L2Norm,
|
||||||
|
LocalResponseNormalization,
|
||||||
|
MatrixDiag,
|
||||||
|
Reduce,
|
||||||
|
Reverse,
|
||||||
|
Round,
|
||||||
|
Select,
|
||||||
|
Scatter,
|
||||||
|
ScatterND,
|
||||||
|
Unique,
|
||||||
|
Unstack,
|
||||||
|
LogicalAnd,
|
||||||
|
LogicalOr,
|
||||||
|
LogicalXor,
|
||||||
|
LogicalNot,
|
||||||
|
OnnxInt8Quantize,
|
||||||
|
OnnxInt8Dequantize,
|
||||||
|
FakeQuantWithMinMax,
|
||||||
|
FakeQuantWithMinMaxPerChannel,
|
||||||
|
BatchNormFold,
|
||||||
|
MulFold,
|
||||||
|
AddFold,
|
||||||
|
SquaredDifference,
|
||||||
|
Flatten,
|
||||||
|
TupleGetItem,
|
||||||
|
Div,
|
||||||
|
Where,
|
||||||
|
OneHot
|
||||||
|
}
|
||||||
|
|
||||||
|
enum QuantType: int {
|
||||||
|
QUANT_NONE,
|
||||||
|
AwareTrainning,
|
||||||
|
WeightQuant,
|
||||||
|
PostTraining
|
||||||
|
}
|
||||||
|
|
||||||
|
table Primitive {
|
||||||
|
value: PrimitiveType;
|
||||||
|
}
|
||||||
|
|
||||||
|
table CNode {
|
||||||
|
name: string;
|
||||||
|
nodeType: NodeType = CNode;
|
||||||
|
primitive: Primitive;
|
||||||
|
inputIndex: [uint];
|
||||||
|
outputIndex: [uint];
|
||||||
|
quantType: QuantType = QUANT_NONE;
|
||||||
|
}
|
||||||
|
|
||||||
|
table MetaGraph {
|
||||||
|
name: string;
|
||||||
|
fmkType: int; // 0:tf,1:caffe
|
||||||
|
inputIndex: [uint];
|
||||||
|
outputIndex: [uint];
|
||||||
|
mempoolSize: uint;
|
||||||
|
nodes: [CNode];
|
||||||
|
allTensors: [Tensor]; // weight + input + output
|
||||||
|
}
|
||||||
|
|
||||||
|
root_type MetaGraph;
|
|
@ -0,0 +1,719 @@
|
||||||
|
/**
|
||||||
|
* Copyright 2019 Huawei Technologies Co., Ltd
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace mindspore.schema;
|
||||||
|
|
||||||
|
enum ResizeMethod: byte {
|
||||||
|
UNKNOW = -1,
|
||||||
|
BILINEAR = 0,
|
||||||
|
NEAREST_NEIGHBOR = 1
|
||||||
|
}
|
||||||
|
|
||||||
|
enum Format : int {
|
||||||
|
NCHW = 0,
|
||||||
|
NHWC,
|
||||||
|
NHWC4,
|
||||||
|
HWKC,
|
||||||
|
HWCK,
|
||||||
|
KCHW,
|
||||||
|
CKHW,
|
||||||
|
KHWC,
|
||||||
|
CHWK,
|
||||||
|
NC4HW4 = 100,
|
||||||
|
NUM_OF_FORMAT
|
||||||
|
}
|
||||||
|
|
||||||
|
enum ActivationType : byte {
|
||||||
|
NO_ACTIVATION = 0,
|
||||||
|
RELU = 1,
|
||||||
|
SIGMOID = 2,
|
||||||
|
RELU6 = 3,
|
||||||
|
ELU = 4,
|
||||||
|
LEAKY_RELU = 5,
|
||||||
|
ABS = 6,
|
||||||
|
RELU1 = 7,
|
||||||
|
SOFTSIGN = 8,
|
||||||
|
SOFTPLUS = 9,
|
||||||
|
TANH = 10,
|
||||||
|
SELU = 11,
|
||||||
|
HSWISH = 12,
|
||||||
|
HSIGMOID = 13,
|
||||||
|
THRESHOLDRELU = 14,
|
||||||
|
LINEAR = 15,
|
||||||
|
UNKNOW = 16
|
||||||
|
}
|
||||||
|
|
||||||
|
enum ReduceType : byte {
|
||||||
|
REDUCE_MAX = 0,
|
||||||
|
REDUCE_MEAN = 1,
|
||||||
|
REDUCE_ALL = 2,
|
||||||
|
REDUCE_ANY = 3,
|
||||||
|
REDUCE_LOG_SUM_EXP = 4,
|
||||||
|
REDUCE_PROD = 5,
|
||||||
|
REDUCE_SUM = 6,
|
||||||
|
UNKNOW = 7
|
||||||
|
}
|
||||||
|
|
||||||
|
enum PoolMode : byte {
|
||||||
|
MAX_POOLING = 0,
|
||||||
|
MEAN_POOLING = 1,
|
||||||
|
}
|
||||||
|
|
||||||
|
enum EltwiseMode : byte {
|
||||||
|
PROD = 0,
|
||||||
|
SUM = 1,
|
||||||
|
MAXIMUM = 2,
|
||||||
|
UNKNOW = 3
|
||||||
|
}
|
||||||
|
|
||||||
|
enum PadMode : byte {
|
||||||
|
NOTSET = 0,
|
||||||
|
SAME = 1,
|
||||||
|
VALID = 2,
|
||||||
|
CAFFE = 4
|
||||||
|
}
|
||||||
|
|
||||||
|
enum RoundMode : byte {
|
||||||
|
FLOOR = 0,
|
||||||
|
CEIL = 1
|
||||||
|
}
|
||||||
|
|
||||||
|
enum PaddingMode : byte {
|
||||||
|
CONSTANT = 0,
|
||||||
|
REFLECT = 1,
|
||||||
|
SYMMETRIC = 2,
|
||||||
|
MODE_RESERVED = 3
|
||||||
|
}
|
||||||
|
|
||||||
|
table Pad {
|
||||||
|
paddingmode: PaddingMode;
|
||||||
|
paddings: [int];
|
||||||
|
}
|
||||||
|
|
||||||
|
table Maximum {
|
||||||
|
}
|
||||||
|
|
||||||
|
table Minimum {
|
||||||
|
}
|
||||||
|
|
||||||
|
table Flatten {
|
||||||
|
}
|
||||||
|
|
||||||
|
table Concat {
|
||||||
|
axis: int;
|
||||||
|
n: int;
|
||||||
|
}
|
||||||
|
|
||||||
|
table SoftMax {
|
||||||
|
axis: int;
|
||||||
|
}
|
||||||
|
|
||||||
|
table Activation {
|
||||||
|
type: ActivationType = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
table Conv2D {
|
||||||
|
format: Format = 0;
|
||||||
|
group: int;
|
||||||
|
channelIn: int;
|
||||||
|
channelOut: int;
|
||||||
|
kernelW: int;
|
||||||
|
kernelH: int;
|
||||||
|
strideW: int;
|
||||||
|
strideH: int;
|
||||||
|
padMode: PadMode;
|
||||||
|
padUp: int;
|
||||||
|
padDown: int;
|
||||||
|
padLeft: int;
|
||||||
|
padRight: int;
|
||||||
|
dilateW: int;
|
||||||
|
dilateH: int;
|
||||||
|
hasBias: bool = false;
|
||||||
|
activationType: ActivationType = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
table FusedBatchNorm {
|
||||||
|
epsilon: float = 0.00001; // eg. epsilon=0.001
|
||||||
|
momentum: float = 0.9;
|
||||||
|
spatial: int = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
table CaffeBatchNorm {
|
||||||
|
epsilon: float; // eg. epsilon=0.001
|
||||||
|
}
|
||||||
|
|
||||||
|
table Shape {
|
||||||
|
}
|
||||||
|
|
||||||
|
table Nchw2Nhwc {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
table Nhwc2Nchw {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
table FakeQuantWithMinMaxVars {
|
||||||
|
narrowRange: bool;
|
||||||
|
numBits: int;
|
||||||
|
}
|
||||||
|
|
||||||
|
table BiasAdd {
|
||||||
|
axis: [int];
|
||||||
|
}
|
||||||
|
|
||||||
|
table Pooling {
|
||||||
|
format: Format = 0;
|
||||||
|
poolingMode: PoolMode;
|
||||||
|
global: bool = false;
|
||||||
|
windowW: int;
|
||||||
|
windowH: int;
|
||||||
|
strideW: int;
|
||||||
|
strideH: int;
|
||||||
|
padMode: PadMode;
|
||||||
|
padUp: int;
|
||||||
|
padDown: int;
|
||||||
|
padLeft: int;
|
||||||
|
padRight: int;
|
||||||
|
roundMode: RoundMode;
|
||||||
|
}
|
||||||
|
|
||||||
|
table DepthwiseConv2D {
|
||||||
|
format: Format = 0;
|
||||||
|
channelIn: int;
|
||||||
|
channelMultiplier: int;
|
||||||
|
kernelW: int;
|
||||||
|
kernelH: int;
|
||||||
|
strideW: int;
|
||||||
|
strideH: int;
|
||||||
|
padMode: PadMode;
|
||||||
|
padUp: int;
|
||||||
|
padDown: int;
|
||||||
|
padLeft: int;
|
||||||
|
padRight: int;
|
||||||
|
dilateW: int;
|
||||||
|
dilateH: int;
|
||||||
|
hasBias: bool = false;
|
||||||
|
activationType: ActivationType = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
table DeDepthwiseConv2D {
|
||||||
|
format: Format = 0;
|
||||||
|
channelIn: int;
|
||||||
|
channelMultiplier: int;
|
||||||
|
kernelW: int;
|
||||||
|
kernelH: int;
|
||||||
|
strideW: int;
|
||||||
|
strideH: int;
|
||||||
|
padMode: PadMode;
|
||||||
|
padUp: int;
|
||||||
|
padDown: int;
|
||||||
|
padLeft: int;
|
||||||
|
padRight: int;
|
||||||
|
dilateW: int;
|
||||||
|
dilateH: int;
|
||||||
|
hasBias: bool = false;
|
||||||
|
activationType: ActivationType = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
table Resize {
|
||||||
|
format: Format = 0;
|
||||||
|
method: ResizeMethod;
|
||||||
|
newHeight: long;
|
||||||
|
newWidth: long;
|
||||||
|
alignCorners: bool = false;
|
||||||
|
preserveAspectRatio: bool = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
table DetectionPostProcess {
|
||||||
|
format: Format = 0;
|
||||||
|
inputSize: int;
|
||||||
|
hScale: float;
|
||||||
|
wScale: float;
|
||||||
|
xScale: float;
|
||||||
|
yScale: float;
|
||||||
|
NmsIouThreshold: float;
|
||||||
|
NmsScoreThreshold: float;
|
||||||
|
MaxDetections: long;
|
||||||
|
DetectionsPreClass: long;
|
||||||
|
MaxClassesPreDetection: long;
|
||||||
|
NumClasses: long;
|
||||||
|
UseRegularNms: bool;
|
||||||
|
}
|
||||||
|
|
||||||
|
table FullConnection {
|
||||||
|
hasBias: bool;
|
||||||
|
axis: int;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Mean(input_tensor, axis, keep_dims)
|
||||||
|
table Mean {
|
||||||
|
axis: [int];
|
||||||
|
keepDims: bool = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
table DeConv2D {
|
||||||
|
format: Format = 0;
|
||||||
|
group: int;
|
||||||
|
channelIn: int;
|
||||||
|
channelOut: int;
|
||||||
|
kernelW: int;
|
||||||
|
kernelH: int;
|
||||||
|
strideW: int;
|
||||||
|
strideH: int;
|
||||||
|
padMode: PadMode;
|
||||||
|
padUp: int;
|
||||||
|
padDown: int;
|
||||||
|
padLeft: int;
|
||||||
|
padRight: int;
|
||||||
|
dilateW: int;
|
||||||
|
dilateH: int;
|
||||||
|
hasBias: bool = false;
|
||||||
|
activationType: ActivationType = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
table Scale {
|
||||||
|
format: Format = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
table Eltwise {
|
||||||
|
mode: EltwiseMode;
|
||||||
|
}
|
||||||
|
|
||||||
|
table Add {
|
||||||
|
}
|
||||||
|
|
||||||
|
table Sub {
|
||||||
|
}
|
||||||
|
|
||||||
|
table Mul {
|
||||||
|
}
|
||||||
|
|
||||||
|
table Div {
|
||||||
|
}
|
||||||
|
|
||||||
|
table RealDiv {
|
||||||
|
}
|
||||||
|
|
||||||
|
table Rsqrt {
|
||||||
|
}
|
||||||
|
|
||||||
|
table Equal {
|
||||||
|
}
|
||||||
|
|
||||||
|
table Less {
|
||||||
|
}
|
||||||
|
|
||||||
|
table Greater {
|
||||||
|
}
|
||||||
|
|
||||||
|
table NotEqual {
|
||||||
|
}
|
||||||
|
|
||||||
|
table LessEqual {
|
||||||
|
}
|
||||||
|
|
||||||
|
table GreaterEqual {
|
||||||
|
}
|
||||||
|
|
||||||
|
table Min {
|
||||||
|
}
|
||||||
|
|
||||||
|
table Slice {
|
||||||
|
format: Format = 0;
|
||||||
|
begin: [int];
|
||||||
|
size: [int];
|
||||||
|
}
|
||||||
|
|
||||||
|
table Floor {
|
||||||
|
}
|
||||||
|
|
||||||
|
table Abs {
|
||||||
|
}
|
||||||
|
|
||||||
|
table Neg {
|
||||||
|
}
|
||||||
|
|
||||||
|
table Exp {
|
||||||
|
}
|
||||||
|
|
||||||
|
table Cos {
|
||||||
|
}
|
||||||
|
|
||||||
|
table Sin {
|
||||||
|
}
|
||||||
|
|
||||||
|
table Sqrt {
|
||||||
|
}
|
||||||
|
|
||||||
|
table Square {
|
||||||
|
}
|
||||||
|
|
||||||
|
table Ceil {
|
||||||
|
}
|
||||||
|
|
||||||
|
table Log {
|
||||||
|
}
|
||||||
|
|
||||||
|
table Tan {
|
||||||
|
}
|
||||||
|
|
||||||
|
table Atan {
|
||||||
|
}
|
||||||
|
|
||||||
|
table Asin {
|
||||||
|
}
|
||||||
|
|
||||||
|
table Reshape {
|
||||||
|
format: Format = 0;
|
||||||
|
shape: [long];
|
||||||
|
}
|
||||||
|
|
||||||
|
table Power {
|
||||||
|
power: float;
|
||||||
|
scale: float;
|
||||||
|
shift: float;
|
||||||
|
}
|
||||||
|
|
||||||
|
table ArgMax {
|
||||||
|
axis: int;
|
||||||
|
outMaxValue: bool;
|
||||||
|
topK: int = 1;
|
||||||
|
keepDims: bool;
|
||||||
|
axisType: int;
|
||||||
|
}
|
||||||
|
|
||||||
|
table ArgMin {
|
||||||
|
axis: int;
|
||||||
|
outMaxValue: bool;
|
||||||
|
topK: int = 1;
|
||||||
|
keepDims: bool;
|
||||||
|
axisType: int;
|
||||||
|
}
|
||||||
|
|
||||||
|
table NetOutput {
|
||||||
|
}
|
||||||
|
|
||||||
|
table MatMul {
|
||||||
|
transposeA : bool = false;
|
||||||
|
transposeB : bool = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
table CaffePReLU {
|
||||||
|
channelShared : bool = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
table LeakyReLU {
|
||||||
|
negativeSlope: float;
|
||||||
|
}
|
||||||
|
|
||||||
|
table StridedSlice {
|
||||||
|
beginMask: int;
|
||||||
|
endMask: int;
|
||||||
|
ellipsisMask: int;
|
||||||
|
newAxisMask: int;
|
||||||
|
shrinkAxisMask: int;
|
||||||
|
begin: [int];
|
||||||
|
end: [int];
|
||||||
|
stride: [int];
|
||||||
|
isScale: [int];
|
||||||
|
}
|
||||||
|
|
||||||
|
table Stack {
|
||||||
|
axis: int;
|
||||||
|
n: int;
|
||||||
|
isScale: [int];
|
||||||
|
}
|
||||||
|
|
||||||
|
table Range {
|
||||||
|
dType: int;
|
||||||
|
start: int;
|
||||||
|
limit: int;
|
||||||
|
delta: int;
|
||||||
|
}
|
||||||
|
|
||||||
|
table ExpandDims {
|
||||||
|
dim: int;
|
||||||
|
}
|
||||||
|
|
||||||
|
table Tile {
|
||||||
|
multiples: [int];
|
||||||
|
}
|
||||||
|
|
||||||
|
table Cast {
|
||||||
|
srcT: int;
|
||||||
|
dstT: int;
|
||||||
|
}
|
||||||
|
|
||||||
|
table QuantDTypeCast {
|
||||||
|
srcT: int;
|
||||||
|
dstT: int;
|
||||||
|
}
|
||||||
|
|
||||||
|
table Split {
|
||||||
|
numberSplit: int;
|
||||||
|
sizeSplits: [int];
|
||||||
|
splitDim: int;
|
||||||
|
}
|
||||||
|
|
||||||
|
table Crop {
|
||||||
|
axis : long;
|
||||||
|
offsets : [long];
|
||||||
|
}
|
||||||
|
|
||||||
|
table Permute {
|
||||||
|
order: [long];
|
||||||
|
}
|
||||||
|
|
||||||
|
table Clip {
|
||||||
|
max: float;
|
||||||
|
min: float;
|
||||||
|
}
|
||||||
|
|
||||||
|
table Constant {
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
table Elu {
|
||||||
|
alpha: float = 1.0;
|
||||||
|
}
|
||||||
|
|
||||||
|
table Broadcast {
|
||||||
|
}
|
||||||
|
|
||||||
|
table BroadcastTo {
|
||||||
|
dst_shape: [int];
|
||||||
|
}
|
||||||
|
|
||||||
|
table Lrn {
|
||||||
|
alpha: float = 0.0001;
|
||||||
|
beta: float = 0.75;
|
||||||
|
bias: float = 1.0;
|
||||||
|
size: int;
|
||||||
|
}
|
||||||
|
|
||||||
|
enum ReduceMode : byte {
|
||||||
|
ReduceMean = 0,
|
||||||
|
ReduceMax = 1,
|
||||||
|
ReduceMin = 2,
|
||||||
|
ReduceProd = 3,
|
||||||
|
ReduceSum = 4,
|
||||||
|
ReduceSumSquare = 5
|
||||||
|
}
|
||||||
|
|
||||||
|
table Reduce {
|
||||||
|
axes: [int];
|
||||||
|
keepDims: int;
|
||||||
|
mode: ReduceMode;
|
||||||
|
}
|
||||||
|
|
||||||
|
table Prelu {
|
||||||
|
slope: [float];
|
||||||
|
}
|
||||||
|
|
||||||
|
table Transpose {
|
||||||
|
perm: [int];
|
||||||
|
conjugate: bool = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
table Squeeze {
|
||||||
|
axis: [int];
|
||||||
|
}
|
||||||
|
|
||||||
|
table Unsqueeze {
|
||||||
|
axis: [int];
|
||||||
|
}
|
||||||
|
|
||||||
|
table Upsample {
|
||||||
|
mode: string;
|
||||||
|
scales: [float];
|
||||||
|
}
|
||||||
|
|
||||||
|
table Dropout {
|
||||||
|
ratio : float = 0.5;
|
||||||
|
}
|
||||||
|
|
||||||
|
table LocalResponseNormalization {
|
||||||
|
depth_radius: int;
|
||||||
|
bias: float;
|
||||||
|
alpha: float;
|
||||||
|
beta: float;
|
||||||
|
}
|
||||||
|
|
||||||
|
table ZerosLike {
|
||||||
|
}
|
||||||
|
|
||||||
|
table TopK {
|
||||||
|
k : int;
|
||||||
|
sorted : bool = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
table SpaceToDepth {
|
||||||
|
blockSize : int;
|
||||||
|
format: Format = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
table SpaceToBatch {
|
||||||
|
blockShape : [int];
|
||||||
|
paddings : [int];
|
||||||
|
}
|
||||||
|
|
||||||
|
table SparseToDense {
|
||||||
|
validateIndices: bool;
|
||||||
|
}
|
||||||
|
|
||||||
|
table ReverseSequence {
|
||||||
|
seqAxis: int;
|
||||||
|
batchAxis: int;
|
||||||
|
}
|
||||||
|
|
||||||
|
table Rank {
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
table Gather {
|
||||||
|
axis: int;
|
||||||
|
batchDims: int;
|
||||||
|
}
|
||||||
|
|
||||||
|
table GatherNd {
|
||||||
|
batchDims: int;
|
||||||
|
}
|
||||||
|
|
||||||
|
table Fill {
|
||||||
|
dims: [int];
|
||||||
|
}
|
||||||
|
|
||||||
|
table DepthToSpace {
|
||||||
|
blockSize: int;
|
||||||
|
format: Format = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
table BatchToSpace {
|
||||||
|
blockShape: [int];
|
||||||
|
crops: [int];
|
||||||
|
}
|
||||||
|
|
||||||
|
table AddN {
|
||||||
|
N: int;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
table EmbeddingLookup {
|
||||||
|
ids: [int];
|
||||||
|
maxNorm: float;
|
||||||
|
}
|
||||||
|
|
||||||
|
table EmbeddingLookupSparse {
|
||||||
|
spIds: [int];
|
||||||
|
spWeights: [float];
|
||||||
|
//combiner: Combiner=0;
|
||||||
|
maxNortm: float;
|
||||||
|
}
|
||||||
|
|
||||||
|
table FloorDiv {
|
||||||
|
}
|
||||||
|
|
||||||
|
table FloorMod {
|
||||||
|
}
|
||||||
|
|
||||||
|
table L2Norm {
|
||||||
|
axis: [int];
|
||||||
|
epsilon: float;
|
||||||
|
}
|
||||||
|
|
||||||
|
table LogicalAnd {
|
||||||
|
}
|
||||||
|
|
||||||
|
table LogicalOr {
|
||||||
|
}
|
||||||
|
|
||||||
|
table LogicalXor {
|
||||||
|
}
|
||||||
|
|
||||||
|
table LogicalNot {
|
||||||
|
}
|
||||||
|
|
||||||
|
table MatrixDiag {
|
||||||
|
k: int;
|
||||||
|
numRows: int;
|
||||||
|
numCols: int;
|
||||||
|
paddingValue: float;
|
||||||
|
}
|
||||||
|
|
||||||
|
table Select {
|
||||||
|
}
|
||||||
|
|
||||||
|
table TfReduce {
|
||||||
|
type: ReduceType = 7;
|
||||||
|
}
|
||||||
|
|
||||||
|
table Reverse {
|
||||||
|
axis: [int];
|
||||||
|
}
|
||||||
|
|
||||||
|
table Round {
|
||||||
|
}
|
||||||
|
|
||||||
|
table Scatter {
|
||||||
|
}
|
||||||
|
|
||||||
|
table ScatterND {
|
||||||
|
}
|
||||||
|
|
||||||
|
table Unique {
|
||||||
|
}
|
||||||
|
|
||||||
|
table Unstack {
|
||||||
|
num: int;
|
||||||
|
axis: int;
|
||||||
|
}
|
||||||
|
|
||||||
|
table OnnxInt8Quantize {
|
||||||
|
}
|
||||||
|
|
||||||
|
table OnnxInt8Dequantize {
|
||||||
|
}
|
||||||
|
|
||||||
|
table FakeQuantWithMinMax {
|
||||||
|
}
|
||||||
|
|
||||||
|
table FakeQuantWithMinMaxPerChannel {
|
||||||
|
}
|
||||||
|
|
||||||
|
table BatchNormFold {
|
||||||
|
}
|
||||||
|
|
||||||
|
table MulFold {
|
||||||
|
}
|
||||||
|
|
||||||
|
table AddFold {
|
||||||
|
}
|
||||||
|
|
||||||
|
table SquaredDifference {
|
||||||
|
}
|
||||||
|
|
||||||
|
table TupleGetItem {
|
||||||
|
}
|
||||||
|
|
||||||
|
table Where{
|
||||||
|
}
|
||||||
|
|
||||||
|
table OneHot {
|
||||||
|
axis: int;
|
||||||
|
}
|
|
@ -0,0 +1,83 @@
|
||||||
|
set(LITE_SRC
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/common/graph_util.cc
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/runtime/allocator.cc
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/runtime/runtime_api.cc
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/runtime/thread_pool.cc
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/runtime/workspace_pool.cc
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/ir/tensor.cc
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/context.cc
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/executor.cc
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/kernel_factory.cc
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/kernel_registry.cc
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/lite_kernel.cc
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/model.cc
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/populate_parameter.cc
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/scheduler.cc
|
||||||
|
)
|
||||||
|
|
||||||
|
if (SUPPORT_GPU)
|
||||||
|
list(APPEND LITE_SRC ${CMAKE_CURRENT_SOURCE_DIR}/runtime/kernel/opencl/subgraph_opencl_kernel.cc)
|
||||||
|
list(APPEND LITE_SRC ${CMAKE_CURRENT_SOURCE_DIR}/runtime/kernel/opencl/utils.cc)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if (SUPPORT_TRAIN)
|
||||||
|
set(ANF_SRC
|
||||||
|
# ${CCSRC_DIR}/common/trans.cc
|
||||||
|
# ${CCSRC_DIR}/utils/lite/base_ref_utils.cc
|
||||||
|
# ${CCSRC_DIR}/runtime/kernel/kernel_compiler/kernel_build_info.cc
|
||||||
|
# ${CCSRC_DIR}/session/lite/anf_runtime_algorithm_extends.cc
|
||||||
|
# ${CCSRC_DIR}/session/lite/session_basic_extends.cc
|
||||||
|
# ${CCSRC_DIR}/session/anf_runtime_algorithm.cc
|
||||||
|
# ${CCSRC_DIR}/session/session_basic.cc
|
||||||
|
# ${CCSRC_DIR}/session/kernel_graph.cc
|
||||||
|
# ${CCSRC_DIR}/session/session_factory.cc
|
||||||
|
# ${CCSRC_DIR}/device/kernel_info.cc
|
||||||
|
# ${CCSRC_DIR}/device/kernel_runtime.cc
|
||||||
|
# ${CCSRC_DIR}/device/lite/kernel_runtime_extends.cc
|
||||||
|
)
|
||||||
|
set(PASS_SRC)
|
||||||
|
set(LITE_SRC
|
||||||
|
${LITE_SRC}
|
||||||
|
${ANF_SRC}
|
||||||
|
${PASS_SRC}
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/common/anf_importer/anf_importer.cc
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/common/anf_importer/import_from_meta_graph.cc
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/ir/primitive_value.cc
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/train/lite_kernel_runtime.cc
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/train/train_session.cc
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/train/model_impl.cc
|
||||||
|
)
|
||||||
|
else ()
|
||||||
|
set(LITE_SRC
|
||||||
|
${LITE_SRC}
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/lite_session.cc
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/model_impl.cc
|
||||||
|
)
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
if (SUPPORT_GPU)
|
||||||
|
set(LITE_SRC
|
||||||
|
${LITE_SRC}
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/runtime/opencl/opencl_executor.cc
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/runtime/opencl/opencl_allocator.cc
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/runtime/opencl/opencl_runtime.cc
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/runtime/opencl/opencl_wrapper.cc
|
||||||
|
)
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
set(ANF_SRC
|
||||||
|
${ANF_SRC}
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/ir/meta_tensor_extends.cc
|
||||||
|
)
|
||||||
|
|
||||||
|
add_library(mindspore-lite SHARED ${LITE_SRC} ${ANF_SRC})
|
||||||
|
target_link_libraries(mindspore-lite
|
||||||
|
cpu_kernel_mid_
|
||||||
|
ops_mid_
|
||||||
|
${SECUREC_LIBRARY}
|
||||||
|
mindspore::json
|
||||||
|
)
|
||||||
|
|
||||||
|
add_subdirectory(runtime/kernel/arm)
|
||||||
|
add_subdirectory(ops)
|
||||||
|
|
|
@ -0,0 +1,7 @@
|
||||||
|
file(GLOB_RECURSE ANF_SRC_LIST RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
|
||||||
|
*.cc
|
||||||
|
)
|
||||||
|
add_library(anf_exporter_mid OBJECT
|
||||||
|
${ANF_SRC_LIST}
|
||||||
|
)
|
||||||
|
|
|
@ -0,0 +1,263 @@
|
||||||
|
/**
|
||||||
|
* This is the C++ adaptation and derivative work of Myia (https://github.com/mila-iqia/myia/).
|
||||||
|
*
|
||||||
|
* Copyright 2019 Huawei Technologies Co., Ltd
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "src/common/anf_exporter/anf_exporter.h"
|
||||||
|
#include <memory>
|
||||||
|
#include <utility>
|
||||||
|
#include <vector>
|
||||||
|
#include <string>
|
||||||
|
#include "abstract/abstract_value.h"
|
||||||
|
#include "src/common/anf_exporter/anf_populater/anf_node_populater_registry.h"
|
||||||
|
#include "src/param_value_lite.h"
|
||||||
|
#include "mindspore/core/ir/primitive.h"
|
||||||
|
#include "src/ir/primitive_t_value.h"
|
||||||
|
#include "base/core_ops.h"
|
||||||
|
|
||||||
|
namespace mindspore::lite {
|
||||||
|
schema::MetaGraphT *AnfExporter::Export(const FuncGraphPtr &funcGraph) {
|
||||||
|
auto cnodes = funcGraph->GetOrderedCnodes();
|
||||||
|
auto metaGraphT = std::make_unique<schema::MetaGraphT>();
|
||||||
|
for (const auto &cnode : cnodes) {
|
||||||
|
auto primitive = GetValueNode<PrimitivePtr>(cnode->input(0));
|
||||||
|
if (primitive != nullptr && primitive == prim::kPrimReturn) {
|
||||||
|
// set graph outputs tensors
|
||||||
|
auto inputNode = cnode->input(1);
|
||||||
|
if (!inputNode->isa<CNode>()) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
auto inputCNode = utils::cast<CNodePtr>(inputNode);
|
||||||
|
auto inputPrimitive = GetValueNode<PrimitivePtr>(inputCNode->input(0));
|
||||||
|
if (inputPrimitive == prim::kPrimMakeTuple) {
|
||||||
|
continue;
|
||||||
|
} else {
|
||||||
|
std::string inputName = inputNode->fullname_with_scope();
|
||||||
|
auto graphOutput = nodeIdMap[inputName];
|
||||||
|
metaGraphT->outputIndex.emplace_back(graphOutput);
|
||||||
|
}
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if (primitive != nullptr && primitive == prim::kPrimMakeTuple) {
|
||||||
|
for (size_t i = 1; i < cnode->inputs().size(); i++) {
|
||||||
|
auto graphOutNode = cnode->input(i);
|
||||||
|
if (!graphOutNode->isa<CNode>()) {
|
||||||
|
MS_LOG(ERROR) << "Inputs of MakeTuple should be cNode";
|
||||||
|
return nullptr;
|
||||||
|
}
|
||||||
|
std::string graphOutNodeName = graphOutNode->fullname_with_scope();
|
||||||
|
auto graphOutIndex = nodeIdMap[graphOutNodeName];
|
||||||
|
metaGraphT->outputIndex.emplace_back(graphOutIndex);
|
||||||
|
}
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
auto node = std::make_unique<schema::CNodeT>();
|
||||||
|
node->name = cnode->fullname_with_scope();
|
||||||
|
node->nodeType = schema::NodeType_CNode;
|
||||||
|
// populate primitive
|
||||||
|
if (primitive != nullptr) {
|
||||||
|
primitive = GetValueNode<PrimitivePtr>(cnode->input(0));
|
||||||
|
MS_ASSERT(primitive != nullptr);
|
||||||
|
std::string opType = primitive->name();
|
||||||
|
auto nodeParser = AnfNodePopulaterRegistry::GetInstance()->GetNodePopulater(opType);
|
||||||
|
if (nodeParser == nullptr) {
|
||||||
|
MS_LOG(ERROR) << "Find op parser failed, opType: " << opType;
|
||||||
|
return nullptr;
|
||||||
|
}
|
||||||
|
std::vector<schema::TensorT *> outputs;
|
||||||
|
nodeParser->Parse(cnode, node.get(), &outputs);
|
||||||
|
SetOpInputNode(cnode, metaGraphT.get(), node.get());
|
||||||
|
SetOpOutputNode(outputs, metaGraphT.get(), node.get());
|
||||||
|
metaGraphT->nodes.emplace_back(std::move(node));
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
auto primitiveT_value = GetValueNode<std::shared_ptr<PrimitiveTValue>>(cnode->input(0));
|
||||||
|
if (primitiveT_value == nullptr) {
|
||||||
|
MS_LOG(ERROR) << "PrimitiveT_value is nullptr";
|
||||||
|
return nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
|
auto *lite_primitive = primitiveT_value->GetPrimitiveT();
|
||||||
|
if (lite_primitive == nullptr) {
|
||||||
|
MS_LOG(ERROR) << "Primitive in primitiveT_value is nullptr";
|
||||||
|
return nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
|
node->primitive = std::unique_ptr<schema::PrimitiveT>(primitiveT_value->GetPrimitiveT());
|
||||||
|
primitiveT_value->SetPrimitiveT(nullptr);
|
||||||
|
std::vector<schema::TensorT *> outputs;
|
||||||
|
SetOpInputNode(cnode, metaGraphT.get(), node.get());
|
||||||
|
SetOpOutputNode(outputs, metaGraphT.get(), node.get());
|
||||||
|
|
||||||
|
// add quant param
|
||||||
|
node->quantType = primitiveT_value->GetQuantType();
|
||||||
|
if (node->quantType == schema::QuantType_PostTraining) {
|
||||||
|
MS_LOG(INFO) << "node: " << node->name << " add QuantParam";
|
||||||
|
// activation
|
||||||
|
auto activate_index = node->inputIndex[0];
|
||||||
|
auto tensor_input = metaGraphT->allTensors[activate_index].get();
|
||||||
|
auto input_quant_params = primitiveT_value->GetInputQuantParams();
|
||||||
|
if (input_quant_params.empty()) {
|
||||||
|
MS_LOG(WARNING) << "node: " << node->name << " input quant params is empty";
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
std::unique_ptr<schema::QuantParamT> input_quant_param =
|
||||||
|
std::make_unique<schema::QuantParamT>(input_quant_params[0]);
|
||||||
|
tensor_input->quantParams.emplace_back(std::move(input_quant_param));
|
||||||
|
// output
|
||||||
|
auto output_index = node->outputIndex[0];
|
||||||
|
auto tensor_output = metaGraphT->allTensors[output_index].get();
|
||||||
|
auto output_quant_params = primitiveT_value->GetOutputQuantParams();
|
||||||
|
if (output_quant_params.empty()) {
|
||||||
|
MS_LOG(WARNING) << "node: " << node->name << " output quant params is empty";
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
std::unique_ptr<schema::QuantParamT> output_quant_param =
|
||||||
|
std::make_unique<schema::QuantParamT>(output_quant_params[0]);
|
||||||
|
tensor_output->quantParams.emplace_back(std::move(output_quant_param));
|
||||||
|
// // TensorType
|
||||||
|
// valuePtr = primitive->GetAttr(kInputTensorDataType);
|
||||||
|
// if (valuePtr != nullptr) {
|
||||||
|
// MS_LOG(INFO) << "node: " << node->name << " input tensor data type: " << GetValue<int>(valuePtr);
|
||||||
|
// for (auto input : node->inputIndex) {
|
||||||
|
// auto tensor = subGraph->allTensors[input].get();
|
||||||
|
// tensor->dataType = kNumberTypeUInt8;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
}
|
||||||
|
|
||||||
|
metaGraphT->nodes.emplace_back(std::move(node));
|
||||||
|
}
|
||||||
|
// set graph input tensors
|
||||||
|
for (auto node : graphInputNodes) {
|
||||||
|
for (auto input : node->inputIndex) {
|
||||||
|
auto tensor = metaGraphT->allTensors[input].get();
|
||||||
|
if (tensor->data.empty()) {
|
||||||
|
tensor->nodeType = schema::NodeType_ValueNode;
|
||||||
|
// tensor->refCount = lite::MSCONST_WEIGHT_REFCOUNT;
|
||||||
|
metaGraphT->inputIndex.emplace_back(input);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return metaGraphT.release();
|
||||||
|
}
|
||||||
|
|
||||||
|
void AnfExporter::SetOpInputNode(const CNodePtr &cnode, schema::MetaGraphT *meta_graph, schema::CNodeT *fbNode) {
|
||||||
|
MS_ASSERT(nullptr != meta_graph);
|
||||||
|
MS_ASSERT(nullptr != fbNode);
|
||||||
|
if (cnode->inputs().size() <= 1) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
std::string cNodeName = cnode->fullname_with_scope();
|
||||||
|
bool isGraphInput = true;
|
||||||
|
for (int i = 1; i < static_cast<int>(cnode->inputs().size()); i++) {
|
||||||
|
auto inputNode = cnode->input(i);
|
||||||
|
if (inputNode->isa<CNode>()) {
|
||||||
|
isGraphInput = false;
|
||||||
|
std::string inputName = inputNode->fullname_with_scope();
|
||||||
|
if (nodeIdMap.find(inputName) != nodeIdMap.end()) {
|
||||||
|
fbNode->inputIndex.emplace_back(nodeIdMap[inputName]);
|
||||||
|
}
|
||||||
|
} else if (inputNode->isa<Parameter>()) {
|
||||||
|
auto paramNode = inputNode->cast<ParameterPtr>();
|
||||||
|
if (paramNode->name().empty()) {
|
||||||
|
paramNode->set_name(cNodeName + "_i:" + std::to_string(i - 1));
|
||||||
|
}
|
||||||
|
if (nodeIdMap.find(paramNode->name()) != nodeIdMap.end()) {
|
||||||
|
fbNode->inputIndex.emplace_back(nodeIdMap[paramNode->name()]);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
auto paramTensor = std::make_unique<schema::TensorT>();
|
||||||
|
auto abstractBase = paramNode->abstract();
|
||||||
|
if (abstractBase == nullptr) {
|
||||||
|
MS_LOG(ERROR) << "Abstract of parameter is nullptr, " << paramNode->name();
|
||||||
|
MS_ASSERT(false);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (!utils::isa<abstract::AbstractTensorPtr>(abstractBase)) {
|
||||||
|
MS_LOG(ERROR) << "Abstract of parameter should be anstract tensor, " << paramNode->name();
|
||||||
|
MS_ASSERT(false);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
auto abstractTensor = utils::cast<abstract::AbstractTensorPtr>(abstractBase);
|
||||||
|
auto typePtr = abstractTensor->element()->GetTypeTrack();
|
||||||
|
MS_ASSERT(typePtr != nullptr);
|
||||||
|
paramTensor->dataType = typePtr->type_id();
|
||||||
|
if (!utils::isa<abstract::ShapePtr>(abstractTensor->BuildShape())) {
|
||||||
|
MS_LOG(ERROR) << "Shape of Abstract of parameter should be ShapePtr, " << paramNode->name();
|
||||||
|
MS_ASSERT(false);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
paramTensor->dims = utils::cast<abstract::ShapePtr>(abstractTensor->BuildShape())->shape();
|
||||||
|
auto paramValue = std::dynamic_pointer_cast<ParamValueLite>(paramNode->default_param());
|
||||||
|
if (paramValue != nullptr) {
|
||||||
|
paramTensor->nodeType = schema::NodeType_ValueNode;
|
||||||
|
paramTensor->data.resize(paramValue->tensor_size());
|
||||||
|
memcpy(paramTensor->data.data(), paramValue->tensor_addr(), paramValue->tensor_size());
|
||||||
|
}
|
||||||
|
// for (auto &ite : paramValue->quant_param()) {
|
||||||
|
// auto quantPar = std::make_unique<schema::QuantParamT>();
|
||||||
|
// quantPar->scale = ite->scale;
|
||||||
|
// quantPar->zeroPoint = ite->zeroPoint;
|
||||||
|
// quantPar->min = ite->min;
|
||||||
|
// quantPar->max = ite->max;
|
||||||
|
// quantPar->narrowRange = ite->narrowRange;
|
||||||
|
// quantPar->inited = ite->inited;
|
||||||
|
// quantPar->numBits = ite->numBits;
|
||||||
|
// paramTensor->quantParams.emplace_back(std::move(quantPar));
|
||||||
|
// }
|
||||||
|
nodeIdMap[paramNode->fullname_with_scope()] = meta_graph->allTensors.size();
|
||||||
|
fbNode->inputIndex.emplace_back(meta_graph->allTensors.size());
|
||||||
|
meta_graph->allTensors.emplace_back(std::move(paramTensor));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (isGraphInput) {
|
||||||
|
graphInputNodes.emplace_back(fbNode);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void AnfExporter::SetOpOutputNode(const std::vector<schema::TensorT *> &outputTensors, schema::MetaGraphT *graph,
|
||||||
|
schema::CNodeT *cnode) {
|
||||||
|
MS_ASSERT(nullptr != graph);
|
||||||
|
MS_ASSERT(nullptr != cnode);
|
||||||
|
std::string cnodeName = cnode->name;
|
||||||
|
if (!outputTensors.empty()) {
|
||||||
|
int i = 0;
|
||||||
|
for (auto outputTensor : outputTensors) {
|
||||||
|
std::string name = cnodeName + "_o:" + std::to_string(i);
|
||||||
|
nodeIdMap[name] = graph->allTensors.size();
|
||||||
|
cnode->outputIndex.emplace_back(graph->allTensors.size());
|
||||||
|
graph->allTensors.emplace_back(outputTensor);
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
auto msTensor = new schema::TensorT();
|
||||||
|
msTensor->nodeType = schema::NodeType_Parameter;
|
||||||
|
cnode->outputIndex.emplace_back(graph->allTensors.size());
|
||||||
|
nodeIdMap[cnodeName] = graph->allTensors.size();
|
||||||
|
graph->allTensors.emplace_back(msTensor);
|
||||||
|
}
|
||||||
|
|
||||||
|
schema::MetaGraphT *Export(const FuncGraphPtr &funcGraph) {
|
||||||
|
AnfExporter anfExporter;
|
||||||
|
return anfExporter.Export(funcGraph);
|
||||||
|
}
|
||||||
|
} // namespace mindspore::lite
|
|
@ -0,0 +1,46 @@
|
||||||
|
/**
|
||||||
|
* This is the C++ adaptation and derivative work of Myia (https://github.com/mila-iqia/myia/).
|
||||||
|
*
|
||||||
|
* Copyright 2019 Huawei Technologies Co., Ltd
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef MINDSPORE_LITE_SRC_ANF_EXPORTER_ANF_EXPORTER_H_
|
||||||
|
#define MINDSPORE_LITE_SRC_ANF_EXPORTER_ANF_EXPORTER_H_
|
||||||
|
|
||||||
|
#include <map>
|
||||||
|
#include <string>
|
||||||
|
#include <vector>
|
||||||
|
#include "schema/inner/model_generated.h"
|
||||||
|
#include "ir/func_graph.h"
|
||||||
|
|
||||||
|
namespace mindspore::lite {
|
||||||
|
class AnfExporter {
|
||||||
|
public:
|
||||||
|
AnfExporter() = default;
|
||||||
|
virtual ~AnfExporter() = default;
|
||||||
|
schema::MetaGraphT *Export(const FuncGraphPtr &funcGraph);
|
||||||
|
void SetOpOutputNode(const std::vector<schema::TensorT *> &outputTensors, schema::MetaGraphT *graph,
|
||||||
|
schema::CNodeT *cnode);
|
||||||
|
void SetOpInputNode(const CNodePtr &cnode, schema::MetaGraphT *meta_graph, schema::CNodeT *fbNode);
|
||||||
|
|
||||||
|
private:
|
||||||
|
std::map<std::string, int> nodeIdMap;
|
||||||
|
std::vector<schema::CNodeT *> graphInputNodes;
|
||||||
|
};
|
||||||
|
|
||||||
|
schema::MetaGraphT *Export(const FuncGraphPtr &funcGraph);
|
||||||
|
} // namespace mindspore::lite
|
||||||
|
#endif // MINDSPORE_LITE_SRC_ANF_EXPORTER_ANF_EXPORTER_H_
|
||||||
|
|
|
@ -0,0 +1,42 @@
|
||||||
|
/**
|
||||||
|
* Copyright 2019 Huawei Technologies Co., Ltd
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
#include "src/common/anf_exporter/anf_populater/anf_activation_populater.h"
|
||||||
|
#include <vector>
|
||||||
|
#include <memory>
|
||||||
|
#include "src/common/anf_exporter/anf_populater/anf_node_populater_registry.h"
|
||||||
|
#include "ir/func_graph.h"
|
||||||
|
#include "ir/primitive.h"
|
||||||
|
|
||||||
|
namespace mindspore::lite {
|
||||||
|
int mindspore::lite::AnfActivationPopulater::Parse(mindspore::CNodePtr cnodePtr, schema::CNodeT *node,
|
||||||
|
std::vector<schema::TensorT *> *outputs) {
|
||||||
|
auto p = GetCNodePrimitive(cnodePtr);
|
||||||
|
auto attr = std::make_unique<schema::ActivationT>();
|
||||||
|
if (p->name() == "ReLU") {
|
||||||
|
attr->type = schema::ActivationType_RELU;
|
||||||
|
} else if (p->name() == "Sigmoid") {
|
||||||
|
attr->type = schema::ActivationType_SIGMOID;
|
||||||
|
}
|
||||||
|
|
||||||
|
node->nodeType = schema::NodeType_CNode;
|
||||||
|
node->primitive = std::make_unique<schema::PrimitiveT>();
|
||||||
|
node->primitive->value.type = schema::PrimitiveType_Activation;
|
||||||
|
node->primitive->value.value = attr.release();
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
AnfNodePopulaterRegistrar anfReLUParser("ReLU", new AnfActivationPopulater());
|
||||||
|
AnfNodePopulaterRegistrar anfSigmoidParser("Sigmoid", new AnfActivationPopulater());
|
||||||
|
} // namespace mindspore::lite
|
|
@ -0,0 +1,30 @@
|
||||||
|
/**
|
||||||
|
* Copyright 2019 Huawei Technologies Co., Ltd
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef MINDSPORE_ANF_ACTIVATION_PARSER_H
|
||||||
|
#define MINDSPORE_ANF_ACTIVATION_PARSER_H
|
||||||
|
#include "src/common/anf_exporter/anf_populater/anf_node_populater.h"
|
||||||
|
#include <vector>
|
||||||
|
namespace mindspore::lite {
|
||||||
|
class AnfActivationPopulater : public AnfNodePopulater {
|
||||||
|
public:
|
||||||
|
AnfActivationPopulater() = default;
|
||||||
|
~AnfActivationPopulater() override = default;
|
||||||
|
int Parse(CNodePtr cnodePtr, schema::CNodeT *node, std::vector<schema::TensorT *> *outputs) override;
|
||||||
|
};
|
||||||
|
} // namespace mindspore::lite
|
||||||
|
|
||||||
|
#endif // MINDSPORE_ANF_ACTIVATION_PARSER_H
|
|
@ -0,0 +1,37 @@
|
||||||
|
/**
|
||||||
|
* Copyright 2019 Huawei Technologies Co., Ltd
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
#include "src/common/anf_exporter/anf_populater/anf_batchnorm_populater.h"
|
||||||
|
#include <vector>
|
||||||
|
#include <memory>
|
||||||
|
#include "src/common/anf_exporter/anf_populater/anf_node_populater_registry.h"
|
||||||
|
#include "ir/func_graph.h"
|
||||||
|
#include "ir/primitive.h"
|
||||||
|
|
||||||
|
namespace mindspore::lite {
|
||||||
|
int mindspore::lite::AnfBatchnormParser::Parse(mindspore::CNodePtr cnodePtr, schema::CNodeT *node,
|
||||||
|
std::vector<schema::TensorT *> *outputs) {
|
||||||
|
auto p = GetCNodePrimitive(cnodePtr);
|
||||||
|
auto attr = std::make_unique<schema::FusedBatchNormT>();
|
||||||
|
attr->epsilon = GetValue<float>(p->GetAttr("epsilon"));
|
||||||
|
|
||||||
|
node->nodeType = schema::NodeType_CNode;
|
||||||
|
node->primitive = std::make_unique<schema::PrimitiveT>();
|
||||||
|
node->primitive->value.type = schema::PrimitiveType_FusedBatchNorm;
|
||||||
|
node->primitive->value.value = attr.release();
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
AnfNodePopulaterRegistrar anfBatchnormParser("BatchNorm", new AnfBatchnormParser());
|
||||||
|
} // namespace mindspore::lite
|
|
@ -0,0 +1,29 @@
|
||||||
|
/**
|
||||||
|
* Copyright 2019 Huawei Technologies Co., Ltd
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
#ifndef MINDSPORE_ANF_BATCHNORM_PARSER_H
|
||||||
|
#define MINDSPORE_ANF_BATCHNORM_PARSER_H
|
||||||
|
#include "src/common/anf_exporter/anf_populater/anf_node_populater.h"
|
||||||
|
#include <vector>
|
||||||
|
namespace mindspore::lite {
|
||||||
|
class AnfBatchnormParser : public AnfNodePopulater {
|
||||||
|
public:
|
||||||
|
AnfBatchnormParser() = default;
|
||||||
|
~AnfBatchnormParser() override = default;
|
||||||
|
int Parse(CNodePtr cnodePtr, schema::CNodeT *node, std::vector<schema::TensorT *> *outputs) override;
|
||||||
|
};
|
||||||
|
} // namespace mindspore::lite
|
||||||
|
|
||||||
|
#endif // MINDSPORE_ANF_BATCHNORM_PARSER_H
|
|
@ -0,0 +1,37 @@
|
||||||
|
/**
|
||||||
|
* Copyright 2019 Huawei Technologies Co., Ltd
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
#include "src/common/anf_exporter/anf_populater/anf_biasadd_populater.h"
|
||||||
|
#include <vector>
|
||||||
|
#include <memory>
|
||||||
|
#include "src/common/anf_exporter/anf_populater/anf_node_populater_registry.h"
|
||||||
|
#include "ir/func_graph.h"
|
||||||
|
#include "ir/primitive.h"
|
||||||
|
|
||||||
|
namespace mindspore::lite {
|
||||||
|
int mindspore::lite::AnfBiasAddPopulater::Parse(mindspore::CNodePtr cnodePtr, schema::CNodeT *node,
|
||||||
|
std::vector<schema::TensorT *> *outputs) {
|
||||||
|
auto attr = std::make_unique<schema::BiasAddT>();
|
||||||
|
attr->axis = {0};
|
||||||
|
|
||||||
|
node->nodeType = schema::NodeType_CNode;
|
||||||
|
node->primitive = std::make_unique<schema::PrimitiveT>();
|
||||||
|
node->primitive->value.type = schema::PrimitiveType_BiasAdd;
|
||||||
|
node->primitive->value.value = attr.release();
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
AnfNodePopulaterRegistrar anfBiasAddParser("BiasAdd", new AnfBiasAddPopulater());
|
||||||
|
} // namespace mindspore::lite
|
|
@ -0,0 +1,29 @@
|
||||||
|
/**
|
||||||
|
* Copyright 2019 Huawei Technologies Co., Ltd
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
#ifndef MINDSPORE_ANF_BIASADD_PARSER_H
|
||||||
|
#define MINDSPORE_ANF_BIASADD_PARSER_H
|
||||||
|
#include "src/common/anf_exporter/anf_populater/anf_node_populater.h"
|
||||||
|
#include <vector>
|
||||||
|
namespace mindspore::lite {
|
||||||
|
class AnfBiasAddPopulater : public AnfNodePopulater {
|
||||||
|
public:
|
||||||
|
AnfBiasAddPopulater() = default;
|
||||||
|
~AnfBiasAddPopulater() override = default;
|
||||||
|
int Parse(CNodePtr cnodePtr, schema::CNodeT *node, std::vector<schema::TensorT *> *outputs) override;
|
||||||
|
};
|
||||||
|
} // namespace mindspore::lite
|
||||||
|
|
||||||
|
#endif // MINDSPORE_ANF_BIASADD_PARSER_H
|
|
@ -0,0 +1,121 @@
|
||||||
|
/**
|
||||||
|
* This is the C++ adaptation and derivative work of Myia (https://github.com/mila-iqia/myia/).
|
||||||
|
*
|
||||||
|
* Copyright 2019 Huawei Technologies Co., Ltd
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "src/common/anf_exporter/anf_populater/anf_conv_populater.h"
|
||||||
|
#include <string>
|
||||||
|
#include <vector>
|
||||||
|
#include <memory>
|
||||||
|
#include "src/common/anf_exporter/anf_populater/anf_node_populater_registry.h"
|
||||||
|
#include "ir/func_graph.h"
|
||||||
|
#include "ir/primitive.h"
|
||||||
|
|
||||||
|
namespace mindspore::lite {
|
||||||
|
int mindspore::lite::AnfConvPopulater::Parse(mindspore::CNodePtr cnodePtr, schema::CNodeT *node,
|
||||||
|
std::vector<schema::TensorT *> *outputs) {
|
||||||
|
auto p = GetCNodePrimitive(cnodePtr);
|
||||||
|
int group = GetValue<int>(p->GetAttr("group"));
|
||||||
|
|
||||||
|
if (group > 1) {
|
||||||
|
auto attr = std::make_unique<schema::DepthwiseConv2DT>();
|
||||||
|
auto format = GetValue<std::string>(p->GetAttr("data_format"));
|
||||||
|
if (format == "NCHW") {
|
||||||
|
attr->format = schema::Format_NCHW;
|
||||||
|
} else if (format == "NHWC") {
|
||||||
|
attr->format = schema::Format_NHWC;
|
||||||
|
} else {
|
||||||
|
attr->format = schema::Format_NUM_OF_FORMAT;
|
||||||
|
}
|
||||||
|
auto pad_list = GetValue<std::vector<int>>(p->GetAttr("pad_list"));
|
||||||
|
attr->padUp = pad_list[0];
|
||||||
|
attr->padDown = pad_list[1];
|
||||||
|
attr->padLeft = pad_list[2];
|
||||||
|
attr->padRight = pad_list[3];
|
||||||
|
|
||||||
|
auto dilation = GetValue<std::vector<int>>(p->GetAttr("dilation"));
|
||||||
|
attr->dilateH = dilation[0];
|
||||||
|
attr->dilateW = dilation[1];
|
||||||
|
|
||||||
|
auto kernel_size = GetValue<std::vector<int>>(p->GetAttr("kernel_size"));
|
||||||
|
attr->kernelH = kernel_size[0];
|
||||||
|
attr->kernelW = kernel_size[1];
|
||||||
|
|
||||||
|
auto stride = GetValue<std::vector<int>>(p->GetAttr("stride"));
|
||||||
|
attr->strideH = stride[2];
|
||||||
|
attr->strideW = stride[3];
|
||||||
|
|
||||||
|
auto pad_mode = GetValue<std::string>(p->GetAttr("pad_mode"));
|
||||||
|
if (pad_mode == "valid") {
|
||||||
|
attr->padMode = schema::PadMode_VALID;
|
||||||
|
} else if (pad_mode == "same") {
|
||||||
|
attr->padMode = schema::PadMode_SAME;
|
||||||
|
} else {
|
||||||
|
attr->padMode = schema::PadMode_NOTSET;
|
||||||
|
}
|
||||||
|
|
||||||
|
node->nodeType = schema::NodeType_CNode;
|
||||||
|
node->primitive = std::make_unique<schema::PrimitiveT>();
|
||||||
|
node->primitive->value.type = schema::PrimitiveType_DepthwiseConv2D;
|
||||||
|
node->primitive->value.value = attr.release();
|
||||||
|
} else {
|
||||||
|
auto attr = std::make_unique<schema::Conv2DT>();
|
||||||
|
attr->group = group;
|
||||||
|
auto format = GetValue<std::string>(p->GetAttr("data_format"));
|
||||||
|
if (format == "NCHW") {
|
||||||
|
attr->format = schema::Format_NCHW;
|
||||||
|
} else if (format == "NHWC") {
|
||||||
|
attr->format = schema::Format_NHWC;
|
||||||
|
} else {
|
||||||
|
attr->format = schema::Format_NUM_OF_FORMAT;
|
||||||
|
}
|
||||||
|
auto pad_list = GetValue<std::vector<int>>(p->GetAttr("pad_list"));
|
||||||
|
attr->padUp = pad_list[0];
|
||||||
|
attr->padDown = pad_list[1];
|
||||||
|
attr->padLeft = pad_list[2];
|
||||||
|
attr->padRight = pad_list[3];
|
||||||
|
|
||||||
|
auto dilation = GetValue<std::vector<int>>(p->GetAttr("dilation"));
|
||||||
|
attr->dilateH = dilation[0];
|
||||||
|
attr->dilateW = dilation[1];
|
||||||
|
|
||||||
|
auto kernel_size = GetValue<std::vector<int>>(p->GetAttr("kernel_size"));
|
||||||
|
attr->kernelH = kernel_size[0];
|
||||||
|
attr->kernelW = kernel_size[1];
|
||||||
|
|
||||||
|
auto stride = GetValue<std::vector<int>>(p->GetAttr("stride"));
|
||||||
|
attr->strideH = stride[2];
|
||||||
|
attr->strideW = stride[3];
|
||||||
|
|
||||||
|
attr->channelOut = GetValue<int>(p->GetAttr("out_channel"));
|
||||||
|
|
||||||
|
auto pad_mode = GetValue<std::string>(p->GetAttr("pad_mode"));
|
||||||
|
if (pad_mode == "valid") {
|
||||||
|
attr->padMode = schema::PadMode_VALID;
|
||||||
|
} else if (pad_mode == "same") {
|
||||||
|
attr->padMode = schema::PadMode_SAME;
|
||||||
|
} else {
|
||||||
|
attr->padMode = schema::PadMode_NOTSET;
|
||||||
|
}
|
||||||
|
node->primitive = std::make_unique<schema::PrimitiveT>();
|
||||||
|
node->primitive->value.type = schema::PrimitiveType_Conv2D;
|
||||||
|
node->primitive->value.value = attr.release();
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
AnfNodePopulaterRegistrar anfConvParser("Conv2D", new AnfConvPopulater());
|
||||||
|
} // namespace mindspore::lite
|
|
@ -0,0 +1,32 @@
|
||||||
|
/**
|
||||||
|
* This is the C++ adaptation and derivative work of Myia (https://github.com/mila-iqia/myia/).
|
||||||
|
*
|
||||||
|
* Copyright 2019 Huawei Technologies Co., Ltd
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef MINDSPORE_ANF_CONV_PARSER_H
|
||||||
|
#define MINDSPORE_ANF_CONV_PARSER_H
|
||||||
|
#include "src/common/anf_exporter/anf_populater/anf_node_populater.h"
|
||||||
|
#include <vector>
|
||||||
|
namespace mindspore::lite {
|
||||||
|
class AnfConvPopulater : public AnfNodePopulater {
|
||||||
|
public:
|
||||||
|
AnfConvPopulater() = default;
|
||||||
|
~AnfConvPopulater() override = default;
|
||||||
|
int Parse(CNodePtr cnodePtr, schema::CNodeT *node, std::vector<schema::TensorT *> *outputs) override;
|
||||||
|
};
|
||||||
|
} // namespace mindspore::lite
|
||||||
|
|
||||||
|
#endif // MINDSPORE_ANF_CONV_PARSER_H
|
|
@ -0,0 +1,35 @@
|
||||||
|
/**
|
||||||
|
* Copyright 2019 Huawei Technologies Co., Ltd
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
#include "src/common/anf_exporter/anf_populater/anf_flatten_populater.h"
|
||||||
|
#include <vector>
|
||||||
|
#include <memory>
|
||||||
|
#include "src/common/anf_exporter/anf_populater/anf_node_populater_registry.h"
|
||||||
|
#include "ir/func_graph.h"
|
||||||
|
#include "ir/primitive.h"
|
||||||
|
|
||||||
|
namespace mindspore::lite {
|
||||||
|
int mindspore::lite::AnfFlattenPopulater::Parse(mindspore::CNodePtr cnodePtr, schema::CNodeT *node,
|
||||||
|
std::vector<schema::TensorT *> *outputs) {
|
||||||
|
auto attr = std::make_unique<schema::FlattenT>();
|
||||||
|
node->nodeType = schema::NodeType_CNode;
|
||||||
|
node->primitive = std::make_unique<schema::PrimitiveT>();
|
||||||
|
node->primitive->value.type = schema::PrimitiveType_Flatten;
|
||||||
|
node->primitive->value.value = attr.release();
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
AnfNodePopulaterRegistrar anfFlattenParser("Flatten", new AnfFlattenPopulater());
|
||||||
|
} // namespace mindspore::lite
|
|
@ -0,0 +1,29 @@
|
||||||
|
/**
|
||||||
|
* Copyright 2019 Huawei Technologies Co., Ltd
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
#ifndef MINDSPORE_ANF_FLATTEN_PARSER_H
|
||||||
|
#define MINDSPORE_ANF_FLATTEN_PARSER_H
|
||||||
|
#include "src/common/anf_exporter/anf_populater/anf_node_populater.h"
|
||||||
|
#include <vector>
|
||||||
|
namespace mindspore::lite {
|
||||||
|
class AnfFlattenPopulater : public AnfNodePopulater {
|
||||||
|
public:
|
||||||
|
AnfFlattenPopulater() = default;
|
||||||
|
~AnfFlattenPopulater() override = default;
|
||||||
|
int Parse(CNodePtr cnodePtr, schema::CNodeT *node, std::vector<schema::TensorT *> *outputs) override;
|
||||||
|
};
|
||||||
|
} // namespace mindspore::lite
|
||||||
|
|
||||||
|
#endif // MINDSPORE_ANF_FLATTEN_PARSER_H
|
|
@ -0,0 +1,38 @@
|
||||||
|
/**
|
||||||
|
* Copyright 2019 Huawei Technologies Co., Ltd
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
#include "src/common/anf_exporter/anf_populater/anf_matmul_populater.h"
|
||||||
|
#include <vector>
|
||||||
|
#include <memory>
|
||||||
|
#include "src/common/anf_exporter/anf_populater/anf_node_populater_registry.h"
|
||||||
|
#include "ir/func_graph.h"
|
||||||
|
#include "ir/primitive.h"
|
||||||
|
|
||||||
|
namespace mindspore::lite {
|
||||||
|
int mindspore::lite::AnfMatmulPopulater::Parse(mindspore::CNodePtr cnodePtr, schema::CNodeT *node,
|
||||||
|
std::vector<schema::TensorT *> *outputs) {
|
||||||
|
auto p = GetCNodePrimitive(cnodePtr);
|
||||||
|
auto attr = std::make_unique<schema::MatMulT>();
|
||||||
|
attr->transposeA = GetValue<bool>(p->GetAttr("transpose_a"));
|
||||||
|
attr->transposeB = GetValue<bool>(p->GetAttr("transpose_b"));
|
||||||
|
|
||||||
|
node->nodeType = schema::NodeType_CNode;
|
||||||
|
node->primitive = std::make_unique<schema::PrimitiveT>();
|
||||||
|
node->primitive->value.type = schema::PrimitiveType_MatMul;
|
||||||
|
node->primitive->value.value = attr.release();
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
AnfNodePopulaterRegistrar anfMatmulParser("Matmul", new AnfMatmulPopulater());
|
||||||
|
} // namespace mindspore::lite
|
|
@ -0,0 +1,29 @@
|
||||||
|
/**
|
||||||
|
* Copyright 2019 Huawei Technologies Co., Ltd
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
#ifndef MINDSPORE_ANF_MATMUL_PARSER_H
|
||||||
|
#define MINDSPORE_ANF_MATMUL_PARSER_H
|
||||||
|
#include "src/common/anf_exporter/anf_populater/anf_node_populater.h"
|
||||||
|
#include <vector>
|
||||||
|
namespace mindspore::lite {
|
||||||
|
class AnfMatmulPopulater : public AnfNodePopulater {
|
||||||
|
public:
|
||||||
|
AnfMatmulPopulater() = default;
|
||||||
|
~AnfMatmulPopulater() override = default;
|
||||||
|
int Parse(CNodePtr cnodePtr, schema::CNodeT *node, std::vector<schema::TensorT *> *outputs) override;
|
||||||
|
};
|
||||||
|
} // namespace mindspore::lite
|
||||||
|
|
||||||
|
#endif // MINDSPORE_ANF_MATMUL_PARSER_H
|
|
@ -0,0 +1,35 @@
|
||||||
|
/**
|
||||||
|
* Copyright 2019 Huawei Technologies Co., Ltd
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
#include "src/common/anf_exporter/anf_populater/anf_mul_populater.h"
|
||||||
|
#include <vector>
|
||||||
|
#include <memory>
|
||||||
|
#include "src/common/anf_exporter/anf_populater/anf_node_populater_registry.h"
|
||||||
|
#include "ir/func_graph.h"
|
||||||
|
#include "ir/primitive.h"
|
||||||
|
|
||||||
|
namespace mindspore::lite {
|
||||||
|
int mindspore::lite::AnfMulPopulater::Parse(mindspore::CNodePtr cnodePtr, schema::CNodeT *node,
|
||||||
|
std::vector<schema::TensorT *> *outputs) {
|
||||||
|
auto attr = std::make_unique<schema::MulT>();
|
||||||
|
|
||||||
|
node->nodeType = schema::NodeType_CNode;
|
||||||
|
node->primitive = std::make_unique<schema::PrimitiveT>();
|
||||||
|
node->primitive->value.type = schema::PrimitiveType_Mul;
|
||||||
|
node->primitive->value.value = attr.release();
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
AnfNodePopulaterRegistrar anfMulParser("Mul", new AnfMulPopulater());
|
||||||
|
} // namespace mindspore::lite
|
|
@ -0,0 +1,29 @@
|
||||||
|
/**
|
||||||
|
* Copyright 2019 Huawei Technologies Co., Ltd
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
#ifndef MINDSPORE_ANF_ACTIVATION_PARSER_H
|
||||||
|
#define MINDSPORE_ANF_ACTIVATION_PARSER_H
|
||||||
|
#include "src/common/anf_exporter/anf_populater/anf_node_populater.h"
|
||||||
|
#include <vector>
|
||||||
|
namespace mindspore::lite {
|
||||||
|
class AnfMulPopulater : public AnfNodePopulater {
|
||||||
|
public:
|
||||||
|
AnfMulPopulater() = default;
|
||||||
|
~AnfMulPopulater() override = default;
|
||||||
|
int Parse(CNodePtr cnodePtr, schema::CNodeT *node, std::vector<schema::TensorT *> *outputs) override;
|
||||||
|
};
|
||||||
|
} // namespace mindspore::lite
|
||||||
|
|
||||||
|
#endif // MINDSPORE_ANF_ACTIVATION_PARSER_H
|
|
@ -0,0 +1,19 @@
|
||||||
|
/**
|
||||||
|
* Copyright 2019 Huawei Technologies Co., Ltd
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "src/common/anf_exporter/anf_populater/anf_node_populater.h"
|
||||||
|
|
||||||
|
namespace mindspore::lite {} // namespace mindspore::lite
|
|
@ -0,0 +1,33 @@
|
||||||
|
/**
|
||||||
|
* Copyright 2019 Huawei Technologies Co., Ltd
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef MINDSPORE_ANF_NODE_PARSER_H
|
||||||
|
#define MINDSPORE_ANF_NODE_PARSER_H
|
||||||
|
|
||||||
|
#include <vector>
|
||||||
|
#include "ir/anf.h"
|
||||||
|
#include "schema/inner/model_generated.h"
|
||||||
|
namespace mindspore::lite {
|
||||||
|
class AnfNodePopulater {
|
||||||
|
public:
|
||||||
|
AnfNodePopulater() = default;
|
||||||
|
virtual ~AnfNodePopulater() = default;
|
||||||
|
virtual int Parse(CNodePtr cnodePtr, schema::CNodeT *node, std::vector<schema::TensorT *> *outputs) = 0;
|
||||||
|
};
|
||||||
|
|
||||||
|
} // namespace mindspore::lite
|
||||||
|
|
||||||
|
#endif // MINDSPORE_ANF_NODE_PARSER_H
|
|
@ -0,0 +1,48 @@
|
||||||
|
/**
|
||||||
|
* Copyright 2019 Huawei Technologies Co., Ltd
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "src/common/anf_exporter/anf_populater/anf_node_populater_registry.h"
|
||||||
|
#include <string>
|
||||||
|
#include "src/common/anf_exporter/anf_populater/anf_biasadd_populater.h"
|
||||||
|
#include "src/common/anf_exporter/anf_populater/anf_conv_populater.h"
|
||||||
|
#include "src/common/anf_exporter/anf_populater/anf_matmul_populater.h"
|
||||||
|
#include "src/common/anf_exporter/anf_populater/anf_pool_populater.h"
|
||||||
|
#include "src/common/anf_exporter/anf_populater/anf_activation_populater.h"
|
||||||
|
#include "src/common/anf_exporter/anf_populater/anf_flatten_populater.h"
|
||||||
|
namespace mindspore {
|
||||||
|
namespace lite {
|
||||||
|
AnfNodePopulaterRegistry *AnfNodePopulaterRegistry::GetInstance() {
|
||||||
|
static AnfNodePopulaterRegistry instance;
|
||||||
|
instance.SetNodePopulater("BiasAdd", new AnfBiasAddPopulater());
|
||||||
|
instance.SetNodePopulater("Conv2D", new AnfConvPopulater());
|
||||||
|
instance.SetNodePopulater("MatMul", new AnfMatmulPopulater());
|
||||||
|
instance.SetNodePopulater("MaxPool", new AnfPoolPopulater());
|
||||||
|
instance.SetNodePopulater("ReLU", new AnfActivationPopulater());
|
||||||
|
instance.SetNodePopulater("Flatten", new AnfFlattenPopulater());
|
||||||
|
return &instance;
|
||||||
|
}
|
||||||
|
AnfNodePopulater *AnfNodePopulaterRegistry::GetNodePopulater(const std::string &name) {
|
||||||
|
if (parsers.find(name) == parsers.end()) {
|
||||||
|
return nullptr;
|
||||||
|
}
|
||||||
|
return parsers[name];
|
||||||
|
}
|
||||||
|
void AnfNodePopulaterRegistry::SetNodePopulater(const std::string &name, AnfNodePopulater *parser) {
|
||||||
|
parsers[name] = parser;
|
||||||
|
}
|
||||||
|
|
||||||
|
} // namespace lite
|
||||||
|
} // namespace mindspore
|
|
@ -0,0 +1,43 @@
|
||||||
|
/**
|
||||||
|
* Copyright 2019 Huawei Technologies Co., Ltd
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef MINDSPORE_ANF_NODE_PARSER_REGISTRY_H
|
||||||
|
#define MINDSPORE_ANF_NODE_PARSER_REGISTRY_H
|
||||||
|
#include "src/common/anf_exporter/anf_populater/anf_node_populater.h"
|
||||||
|
#include <unordered_map>
|
||||||
|
#include <string>
|
||||||
|
namespace mindspore::lite {
|
||||||
|
class AnfNodePopulaterRegistry {
|
||||||
|
public:
|
||||||
|
AnfNodePopulaterRegistry() = default;
|
||||||
|
virtual ~AnfNodePopulaterRegistry() = default;
|
||||||
|
static AnfNodePopulaterRegistry *GetInstance();
|
||||||
|
AnfNodePopulater *GetNodePopulater(const std::string &name);
|
||||||
|
void SetNodePopulater(const std::string &name, AnfNodePopulater *parser);
|
||||||
|
|
||||||
|
private:
|
||||||
|
std::unordered_map<std::string, AnfNodePopulater *> parsers;
|
||||||
|
};
|
||||||
|
|
||||||
|
class AnfNodePopulaterRegistrar {
|
||||||
|
public:
|
||||||
|
AnfNodePopulaterRegistrar(const std::string &name, AnfNodePopulater *parser) {
|
||||||
|
AnfNodePopulaterRegistry::GetInstance()->SetNodePopulater(name, parser);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
} // namespace mindspore::lite
|
||||||
|
|
||||||
|
#endif // MINDSPORE_ANF_NODE_PARSER_REGISTRY_H
|
|
@ -0,0 +1,68 @@
|
||||||
|
/**
|
||||||
|
* Copyright 2019 Huawei Technologies Co., Ltd
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
#include "src/common/anf_exporter/anf_populater/anf_pool_populater.h"
|
||||||
|
#include <vector>
|
||||||
|
#include <string>
|
||||||
|
#include <memory>
|
||||||
|
#include "src/common/anf_exporter/anf_populater/anf_node_populater_registry.h"
|
||||||
|
#include "ir/func_graph.h"
|
||||||
|
#include "ir/primitive.h"
|
||||||
|
|
||||||
|
namespace mindspore::lite {
|
||||||
|
int mindspore::lite::AnfPoolPopulater::Parse(mindspore::CNodePtr cnodePtr, schema::CNodeT *node,
|
||||||
|
std::vector<schema::TensorT *> *outputs) {
|
||||||
|
auto p = GetCNodePrimitive(cnodePtr);
|
||||||
|
auto attr = std::make_unique<schema::PoolingT>();
|
||||||
|
if (p->instance_name() == "MaxPool") {
|
||||||
|
attr->poolingMode = schema::PoolMode_MAX_POOLING;
|
||||||
|
} else if (p->instance_name() == "MeanPool") {
|
||||||
|
attr->poolingMode = schema::PoolMode_MEAN_POOLING;
|
||||||
|
}
|
||||||
|
|
||||||
|
auto format = GetValue<std::string>(p->GetAttr("data_format"));
|
||||||
|
if (format == "NCHW") {
|
||||||
|
attr->format = schema::Format_NCHW;
|
||||||
|
} else if (format == "NHWC") {
|
||||||
|
attr->format = schema::Format_NHWC;
|
||||||
|
} else {
|
||||||
|
attr->format = schema::Format_NUM_OF_FORMAT;
|
||||||
|
}
|
||||||
|
|
||||||
|
auto pad_mode = GetValue<std::string>(p->GetAttr("padding"));
|
||||||
|
if (pad_mode == "VALID") {
|
||||||
|
attr->padMode = schema::PadMode_VALID;
|
||||||
|
} else if (pad_mode == "SAME") {
|
||||||
|
attr->padMode = schema::PadMode_SAME;
|
||||||
|
} else {
|
||||||
|
attr->padMode = schema::PadMode_NOTSET;
|
||||||
|
}
|
||||||
|
|
||||||
|
auto kernel_size = GetValue<std::vector<int>>(p->GetAttr("ksize"));
|
||||||
|
attr->windowH = kernel_size[2];
|
||||||
|
attr->windowW = kernel_size[3];
|
||||||
|
|
||||||
|
auto stride = GetValue<std::vector<int>>(p->GetAttr("strides"));
|
||||||
|
attr->strideH = stride[2];
|
||||||
|
attr->strideW = stride[3];
|
||||||
|
|
||||||
|
node->nodeType = schema::NodeType_CNode;
|
||||||
|
node->primitive = std::make_unique<schema::PrimitiveT>();
|
||||||
|
node->primitive->value.type = schema::PrimitiveType_Pooling;
|
||||||
|
node->primitive->value.value = attr.release();
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
AnfNodePopulaterRegistrar anfMaxPoolParser("MaxPool", new AnfPoolPopulater());
|
||||||
|
} // namespace mindspore::lite
|
|
@ -0,0 +1,29 @@
|
||||||
|
/**
|
||||||
|
* Copyright 2019 Huawei Technologies Co., Ltd
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
#ifndef MINDSPORE_ANF_POOL_PARSER_H
|
||||||
|
#define MINDSPORE_ANF_POOL_PARSER_H
|
||||||
|
#include "src/common/anf_exporter/anf_populater/anf_node_populater.h"
|
||||||
|
#include <vector>
|
||||||
|
namespace mindspore::lite {
|
||||||
|
class AnfPoolPopulater : public AnfNodePopulater {
|
||||||
|
public:
|
||||||
|
AnfPoolPopulater() = default;
|
||||||
|
~AnfPoolPopulater() override = default;
|
||||||
|
int Parse(CNodePtr cnodePtr, schema::CNodeT *node, std::vector<schema::TensorT *> *outputs) override;
|
||||||
|
};
|
||||||
|
} // namespace mindspore::lite
|
||||||
|
|
||||||
|
#endif // MINDSPORE_ANF_POOL_PARSER_H
|
|
@ -0,0 +1,40 @@
|
||||||
|
/**
|
||||||
|
* Copyright 2019 Huawei Technologies Co., Ltd
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
#include "src/common/anf_exporter/anf_populater/anf_reducemean_populater.h"
|
||||||
|
#include <vector>
|
||||||
|
#include <memory>
|
||||||
|
#include "src/common/anf_exporter/anf_populater/anf_node_populater_registry.h"
|
||||||
|
#include "ir/func_graph.h"
|
||||||
|
#include "ir/primitive.h"
|
||||||
|
|
||||||
|
namespace mindspore::lite {
|
||||||
|
int mindspore::lite::AnfReduceMeanPopulater::Parse(CNodePtr cnodePtr, schema::CNodeT *node,
|
||||||
|
std::vector<schema::TensorT *> *outputs) {
|
||||||
|
auto p = GetCNodePrimitive(cnodePtr);
|
||||||
|
auto attr = std::make_unique<schema::ReduceT>();
|
||||||
|
attr->mode = schema::ReduceMode_ReduceMean;
|
||||||
|
|
||||||
|
attr->keepDims = GetValue<bool>(p->GetAttr("keep_dims"));
|
||||||
|
// attr->axes = GetValue<std::vector<int>>(p->GetAttr("shape"));
|
||||||
|
|
||||||
|
node->nodeType = schema::NodeType_CNode;
|
||||||
|
node->primitive = std::make_unique<schema::PrimitiveT>();
|
||||||
|
node->primitive->value.type = schema::PrimitiveType_Reduce;
|
||||||
|
node->primitive->value.value = attr.release();
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
AnfNodePopulaterRegistrar anfReduceMeanParser("ReduceMean", new AnfReduceMeanPopulater());
|
||||||
|
} // namespace mindspore::lite
|
|
@ -0,0 +1,29 @@
|
||||||
|
/**
|
||||||
|
* Copyright 2019 Huawei Technologies Co., Ltd
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
#ifndef MINDSPORE_ANF_ACTIVATION_PARSER_H
|
||||||
|
#define MINDSPORE_ANF_ACTIVATION_PARSER_H
|
||||||
|
#include "src/common/anf_exporter/anf_populater/anf_node_populater.h"
|
||||||
|
#include <vector>
|
||||||
|
namespace mindspore::lite {
|
||||||
|
class AnfReduceMeanPopulater : public AnfNodePopulater {
|
||||||
|
public:
|
||||||
|
AnfReduceMeanPopulater() = default;
|
||||||
|
~AnfReduceMeanPopulater() override = default;
|
||||||
|
int Parse(CNodePtr cnodePtr, schema::CNodeT *node, std::vector<schema::TensorT *> *outputs) override;
|
||||||
|
};
|
||||||
|
} // namespace mindspore::lite
|
||||||
|
|
||||||
|
#endif // MINDSPORE_ANF_ACTIVATION_PARSER_H
|
|
@ -0,0 +1,34 @@
|
||||||
|
/**
|
||||||
|
* Copyright 2019 Huawei Technologies Co., Ltd
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
#include "src/common/anf_exporter/anf_populater/anf_tensoradd_populater.h"
|
||||||
|
#include <vector>
|
||||||
|
#include <memory>
|
||||||
|
#include "src/common/anf_exporter/anf_populater/anf_node_populater_registry.h"
|
||||||
|
#include "ir/func_graph.h"
|
||||||
|
#include "ir/primitive.h"
|
||||||
|
|
||||||
|
namespace mindspore::lite {
|
||||||
|
int mindspore::lite::AnfTensorAddPopulater::Parse(mindspore::CNodePtr cnodePtr, schema::CNodeT *node,
|
||||||
|
std::vector<schema::TensorT *> *outputs) {
|
||||||
|
auto attr = std::make_unique<schema::AddT>();
|
||||||
|
node->nodeType = schema::NodeType_CNode;
|
||||||
|
node->primitive = std::make_unique<schema::PrimitiveT>();
|
||||||
|
node->primitive->value.type = schema::PrimitiveType_Add;
|
||||||
|
node->primitive->value.value = attr.release();
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
AnfNodePopulaterRegistrar anfTensorAddParser("TensorAdd", new AnfTensorAddPopulater());
|
||||||
|
} // namespace mindspore::lite
|
|
@ -0,0 +1,29 @@
|
||||||
|
/**
|
||||||
|
* Copyright 2019 Huawei Technologies Co., Ltd
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
#ifndef MINDSPORE_ANF_ACTIVATION_PARSER_H
|
||||||
|
#define MINDSPORE_ANF_ACTIVATION_PARSER_H
|
||||||
|
#include "src/common/anf_exporter/anf_populater/anf_node_populater.h"
|
||||||
|
#include <vector>
|
||||||
|
namespace mindspore::lite {
|
||||||
|
class AnfTensorAddPopulater : public AnfNodePopulater {
|
||||||
|
public:
|
||||||
|
AnfTensorAddPopulater() = default;
|
||||||
|
~AnfTensorAddPopulater() override = default;
|
||||||
|
int Parse(CNodePtr cnodePtr, schema::CNodeT *node, std::vector<schema::TensorT *> *outputs) override;
|
||||||
|
};
|
||||||
|
} // namespace mindspore::lite
|
||||||
|
|
||||||
|
#endif // MINDSPORE_ANF_ACTIVATION_PARSER_H
|
|
@ -0,0 +1,34 @@
|
||||||
|
/**
|
||||||
|
* Copyright 2019 Huawei Technologies Co., Ltd
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
#include "src/common/anf_exporter/anf_populater/anf_tuple_getitem_populater.h"
|
||||||
|
#include <vector>
|
||||||
|
#include <memory>
|
||||||
|
#include "src/common/anf_exporter/anf_populater/anf_node_populater_registry.h"
|
||||||
|
#include "ir/func_graph.h"
|
||||||
|
#include "ir/primitive.h"
|
||||||
|
|
||||||
|
namespace mindspore::lite {
|
||||||
|
int mindspore::lite::AnfTupleGetItemPopulater::Parse(CNodePtr cnodePtr, schema::CNodeT *node,
|
||||||
|
std::vector<schema::TensorT *> *outputs) {
|
||||||
|
auto attr = std::make_unique<schema::TupleGetItemT>();
|
||||||
|
node->nodeType = schema::NodeType_CNode;
|
||||||
|
node->primitive = std::make_unique<schema::PrimitiveT>();
|
||||||
|
node->primitive->value.type = schema::PrimitiveType_TupleGetItem;
|
||||||
|
node->primitive->value.value = attr.release();
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
AnfNodePopulaterRegistrar anfTupleGetItemParser("tuple_getitem", new AnfTupleGetItemPopulater());
|
||||||
|
} // namespace mindspore::lite
|
|
@ -0,0 +1,29 @@
|
||||||
|
/**
|
||||||
|
* Copyright 2019 Huawei Technologies Co., Ltd
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
#ifndef MINDSPORE_ANF_BATCHNORM_PARSER_H
|
||||||
|
#define MINDSPORE_ANF_BATCHNORM_PARSER_H
|
||||||
|
#include "src/common/anf_exporter/anf_populater/anf_node_populater.h"
|
||||||
|
#include <vector>
|
||||||
|
namespace mindspore::lite {
|
||||||
|
class AnfTupleGetItemPopulater : public AnfNodePopulater {
|
||||||
|
public:
|
||||||
|
AnfTupleGetItemPopulater() = default;
|
||||||
|
~AnfTupleGetItemPopulater() override = default;
|
||||||
|
int Parse(CNodePtr cnodePtr, schema::CNodeT *node, std::vector<schema::TensorT *> *outputs) override;
|
||||||
|
};
|
||||||
|
} // namespace mindspore::lite
|
||||||
|
|
||||||
|
#endif // MINDSPORE_ANF_BATCHNORM_PARSER_H
|
|
@ -0,0 +1,184 @@
|
||||||
|
/**
|
||||||
|
* Copyright 2020 Huawei Technologies Co., Ltd
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <utility>
|
||||||
|
#include <vector>
|
||||||
|
#include <string>
|
||||||
|
#include <memory>
|
||||||
|
#include "src/common/anf_importer/anf_importer.h"
|
||||||
|
#include "schema/model_generated.h"
|
||||||
|
#include "ir/dtype.h"
|
||||||
|
#include "ir/primitive.h"
|
||||||
|
#include "src/param_value_lite.h"
|
||||||
|
#include "frontend/operator/ops.h"
|
||||||
|
#include "abstract/abstract_value.h"
|
||||||
|
#include "src/ir/primitive_value.h"
|
||||||
|
#include "include/errorcode.h"
|
||||||
|
|
||||||
|
namespace mindspore {
|
||||||
|
namespace lite {
|
||||||
|
#if 0
|
||||||
|
PrimitivePtr SetConv2DAttr(const schema::CNode *cNode) {
|
||||||
|
MS_EXCEPTION_IF_NULL(cNode);
|
||||||
|
auto attrs = cNode->primitive()->value_as_Conv2D();
|
||||||
|
PrimitivePtr prim;
|
||||||
|
if (attrs->group() > 1) {
|
||||||
|
prim = std::make_shared<Primitive>("DepthwiseConv2D");
|
||||||
|
prim->set_instance_name("DepthwiseConv2D");
|
||||||
|
} else {
|
||||||
|
prim = std::make_shared<Primitive>("Conv2D");
|
||||||
|
prim->set_instance_name("Conv2D");
|
||||||
|
}
|
||||||
|
|
||||||
|
prim->set_attr("group", MakeValue<int>(attrs->group()));
|
||||||
|
prim->set_attr("format", MakeValue<int>(attrs->format()));
|
||||||
|
prim->set_attr("pad_mode", MakeValue<int>(attrs->padMode()));
|
||||||
|
std::vector<int> pad_list = {attrs->padUp(), attrs->padDown(), attrs->padLeft(), attrs->padRight()};
|
||||||
|
prim->set_attr("pad_list", MakeValue<std::vector<int>>(pad_list));
|
||||||
|
std::vector<int> dilate = {attrs->dilateH(), attrs->dilateW()};
|
||||||
|
prim->set_attr("dilation", MakeValue<std::vector<int>>(dilate));
|
||||||
|
std::vector<int> kernel_size = {attrs->kernelH(), attrs->kernelW()};
|
||||||
|
prim->set_attr("kernel_size", MakeValue<std::vector<int>>(kernel_size));
|
||||||
|
std::vector<int> stride = {1, 1, attrs->strideH(), attrs->strideW()};
|
||||||
|
prim->set_attr("stride", MakeValue<std::vector<int>>(stride));
|
||||||
|
prim->set_attr("out_channel", MakeValue<int>(attrs->channelOut()));
|
||||||
|
prim->set_attr("group", MakeValue<int>(attrs->group()));
|
||||||
|
return prim;
|
||||||
|
}
|
||||||
|
|
||||||
|
PrimitivePtr SetActivationAttr(const schema::CNode *cNode) {
|
||||||
|
MS_EXCEPTION_IF_NULL(cNode);
|
||||||
|
auto attrs = cNode->primitive()->value_as_Activation();
|
||||||
|
PrimitivePtr prim;
|
||||||
|
if (attrs->type() == schema::ActivationType_RELU) {
|
||||||
|
prim = std::make_shared<Primitive>("ReLU");
|
||||||
|
prim->set_instance_name("ReLU");
|
||||||
|
}
|
||||||
|
return prim;
|
||||||
|
}
|
||||||
|
|
||||||
|
PrimitivePtr SetPoolingAttr(const schema::CNode *cNode) {
|
||||||
|
MS_EXCEPTION_IF_NULL(cNode);
|
||||||
|
auto attrs = cNode->primitive()->value_as_Pooling();
|
||||||
|
PrimitivePtr prim;
|
||||||
|
if (attrs->poolingMode() == schema::PoolMode_MAX_POOLING) {
|
||||||
|
prim = std::make_shared<Primitive>("MaxPool");
|
||||||
|
prim->set_instance_name("MaxPool");
|
||||||
|
} else if (attrs->poolingMode() == schema::PoolMode_MEAN_POOLING) {
|
||||||
|
prim = std::make_shared<Primitive>("MeanPool");
|
||||||
|
prim->set_instance_name("MeanPool");
|
||||||
|
}
|
||||||
|
|
||||||
|
prim->set_attr("format", MakeValue<int>(attrs->format()));
|
||||||
|
prim->set_attr("pad_mode", MakeValue<int>(attrs->padMode()));
|
||||||
|
prim->set_attr("ksize", MakeValue<std::vector<int>>(std::vector<int>({1, 1, attrs->windowH(), attrs->windowW()})));
|
||||||
|
prim->set_attr("strides", MakeValue<std::vector<int>>(std::vector<int>({1, 1, attrs->strideH(), attrs->strideW()})));
|
||||||
|
return prim;
|
||||||
|
}
|
||||||
|
|
||||||
|
PrimitivePtr SetFlattenAttr(const schema::CNode *cNode) {
|
||||||
|
MS_EXCEPTION_IF_NULL(cNode);
|
||||||
|
auto prim = std::make_shared<Primitive>("Flatten");
|
||||||
|
prim->set_instance_name("Flatten");
|
||||||
|
return prim;
|
||||||
|
}
|
||||||
|
|
||||||
|
PrimitivePtr SetMatmulAttr(const schema::CNode *cNode) {
|
||||||
|
MS_EXCEPTION_IF_NULL(cNode);
|
||||||
|
auto attrs = cNode->primitive()->value_as_MatMul();
|
||||||
|
auto prim = std::make_shared<Primitive>("Matmul");
|
||||||
|
prim->set_instance_name("Matmul");
|
||||||
|
prim->set_attr("transpose_a", MakeValue<int>(attrs->transposeA()));
|
||||||
|
prim->set_attr("transpose_b", MakeValue<int>(attrs->transposeB()));
|
||||||
|
return prim;
|
||||||
|
}
|
||||||
|
|
||||||
|
PrimitivePtr SetMulAttr(const schema::CNode *cNode) {
|
||||||
|
MS_EXCEPTION_IF_NULL(cNode);
|
||||||
|
// auto attrs = nodedef->attr_as_Mul();
|
||||||
|
auto prim = std::make_shared<Primitive>("Mul");
|
||||||
|
prim->set_instance_name("Mul");
|
||||||
|
return prim;
|
||||||
|
}
|
||||||
|
|
||||||
|
PrimitivePtr SetSigmoidAttr(const schema::CNode *cNode) {
|
||||||
|
MS_EXCEPTION_IF_NULL(cNode);
|
||||||
|
auto prim = std::make_shared<Primitive>("Sigmoid");
|
||||||
|
prim->set_instance_name("Sigmoid");
|
||||||
|
return prim;
|
||||||
|
}
|
||||||
|
|
||||||
|
PrimitivePtr SetReduceAttr(const schema::CNode *cNode) {
|
||||||
|
MS_EXCEPTION_IF_NULL(cNode);
|
||||||
|
auto prim = std::make_shared<Primitive>("ReduceMean");
|
||||||
|
prim->set_instance_name("ReduceMean");
|
||||||
|
return prim;
|
||||||
|
}
|
||||||
|
|
||||||
|
PrimitivePtr SetBatchNormAttr(const schema::CNode *cNode) {
|
||||||
|
MS_EXCEPTION_IF_NULL(cNode);
|
||||||
|
auto attrs = cNode->primitive_as_BatchNorm();
|
||||||
|
auto prim = std::make_shared<Primitive>("BatchNorm");
|
||||||
|
prim->set_attr("is_training", MakeValue<bool>(attrs->is_training()));
|
||||||
|
prim->set_instance_name("BatchNorm");
|
||||||
|
return prim;
|
||||||
|
}
|
||||||
|
|
||||||
|
PrimitivePtr SetBiasAddAttr(const schema::CNode *cNode) {
|
||||||
|
MS_EXCEPTION_IF_NULL(cNode);
|
||||||
|
auto prim = std::make_shared<Primitive>("BiasAdd");
|
||||||
|
prim->set_instance_name("BiasAdd");
|
||||||
|
return prim;
|
||||||
|
}
|
||||||
|
|
||||||
|
PrimitivePtr SetAddAttr(const schema::CNode *cNode) {
|
||||||
|
MS_EXCEPTION_IF_NULL(cNode);
|
||||||
|
auto prim = std::make_shared<Primitive>("Add");
|
||||||
|
prim->set_instance_name("Add");
|
||||||
|
return prim;
|
||||||
|
}
|
||||||
|
|
||||||
|
void MinnieBuildGraph::FbTest(const GraphDef *graph_def) {
|
||||||
|
auto node_def = graph_def->subgraphs()->begin()->nodes()->GetAs<OpDef>(3);
|
||||||
|
PrimitivePtr prim = ConverterOperatorAttr(node_def);
|
||||||
|
if (prim->GetAttr("format")) MS_LOG(INFO) << "find format";
|
||||||
|
if (prim->GetAttr("group")) MS_LOG(INFO) << "find group";
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
int AnfImporter::Import() {
|
||||||
|
ConverterConstTensor();
|
||||||
|
auto ret = ConverterCNode();
|
||||||
|
if (RET_OK != ret) {
|
||||||
|
MS_LOG(ERROR) << "ConverterCNode failed " << ret;
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
AddReturnCNode();
|
||||||
|
return RET_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
AnfNodePtr AnfImporter::GetNode(int tensor_id) {
|
||||||
|
auto n = nodes_.find(tensor_id);
|
||||||
|
if (n == nodes_.end()) {
|
||||||
|
return nullptr;
|
||||||
|
}
|
||||||
|
return n->second;
|
||||||
|
}
|
||||||
|
|
||||||
|
void AnfImporter::AddNode(int tensor_id, AnfNodePtr node) { nodes_[tensor_id] = std::move(node); }
|
||||||
|
} // namespace lite
|
||||||
|
} // namespace mindspore
|
||||||
|
|
|
@ -0,0 +1,54 @@
|
||||||
|
/**
|
||||||
|
* Copyright 2020 Huawei Technologies Co., Ltd
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef MINDSPORE_LITE_SRC_ANF_IMPORTER_ANF_IMPORTER_H_
|
||||||
|
#define MINDSPORE_LITE_SRC_ANF_IMPORTER_ANF_IMPORTER_H_
|
||||||
|
|
||||||
|
#include <unordered_map>
|
||||||
|
#include "ir/func_graph.h"
|
||||||
|
#include "ir/anf.h"
|
||||||
|
#include "base/base.h"
|
||||||
|
|
||||||
|
namespace mindspore::lite {
|
||||||
|
class AnfImporter {
|
||||||
|
public:
|
||||||
|
AnfImporter() = default;
|
||||||
|
|
||||||
|
virtual ~AnfImporter() = default;
|
||||||
|
|
||||||
|
virtual int Import();
|
||||||
|
|
||||||
|
virtual FuncGraphPtr GetResult() = 0;
|
||||||
|
|
||||||
|
protected:
|
||||||
|
// convert const tensor into parameter and save in nodes_
|
||||||
|
virtual void ConverterConstTensor() = 0;
|
||||||
|
// convert other node into cnode and save in nodes_
|
||||||
|
virtual int ConverterCNode() = 0;
|
||||||
|
|
||||||
|
virtual void AddReturnCNode() = 0;
|
||||||
|
|
||||||
|
AnfNodePtr GetNode(int tensor_id);
|
||||||
|
|
||||||
|
void AddNode(int tensor_id, AnfNodePtr node);
|
||||||
|
|
||||||
|
protected:
|
||||||
|
std::unordered_map<int, AnfNodePtr> nodes_;
|
||||||
|
};
|
||||||
|
} // namespace mindspore::lite
|
||||||
|
|
||||||
|
#endif // MINDSPORE_LITE_SRC_ANF_IMPORTER_ANF_IMPORTER_H_
|
||||||
|
|
|
@ -0,0 +1,122 @@
|
||||||
|
/**
|
||||||
|
* Copyright 2020 Huawei Technologies Co., Ltd
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "src/common/anf_importer/import_from_meta_graph.h"
|
||||||
|
#include <string>
|
||||||
|
#include <vector>
|
||||||
|
#include <memory>
|
||||||
|
#include "frontend/operator/ops.h"
|
||||||
|
#include "src/param_value_lite.h"
|
||||||
|
#include "utils/log_adapter.h"
|
||||||
|
#include "abstract/abstract_value.h"
|
||||||
|
#include "src/ir/primitive_value.h"
|
||||||
|
#include "include/errorcode.h"
|
||||||
|
|
||||||
|
namespace mindspore::lite {
|
||||||
|
void AnfImporterFromMetaGraph::ConverterConstTensor() {
|
||||||
|
MS_EXCEPTION_IF_NULL(model);
|
||||||
|
auto *meta_graph = model->GetMetaGraph();
|
||||||
|
MS_EXCEPTION_IF_NULL(meta_graph);
|
||||||
|
for (size_t i = 0; i < meta_graph->allTensors()->size(); i++) {
|
||||||
|
auto *tensor = meta_graph->allTensors()->GetAs<schema::Tensor>(i);
|
||||||
|
MS_EXCEPTION_IF_NULL(tensor);
|
||||||
|
if (tensor->nodeType() != schema::NodeType_ValueNode) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
MS_ASSERT(tensor->dims() != nullptr);
|
||||||
|
auto parameter = model->add_parameter();
|
||||||
|
std::vector<int> shape;
|
||||||
|
for (size_t j = 0; j < tensor->dims()->size(); ++j) {
|
||||||
|
shape.push_back(tensor->dims()->data()[j]);
|
||||||
|
}
|
||||||
|
auto type_id = static_cast<TypeId>(tensor->dataType());
|
||||||
|
auto type_ptr = TypeIdToType(type_id);
|
||||||
|
auto abstract_tensor = std::make_shared<abstract::AbstractTensor>(type_ptr, shape);
|
||||||
|
parameter->set_abstract(abstract_tensor);
|
||||||
|
|
||||||
|
ParamValueLitePtr param_value = std::make_shared<ParamValueLite>();
|
||||||
|
MS_EXCEPTION_IF_NULL(param_value);
|
||||||
|
param_value->set_tensor_shape(shape);
|
||||||
|
param_value->set_tensor_type(type_id);
|
||||||
|
if (tensor->data() != nullptr) {
|
||||||
|
auto size = tensor->data()->size();
|
||||||
|
char *tensor_data = new char[size]();
|
||||||
|
std::memcpy(tensor_data, tensor->data()->data(), size);
|
||||||
|
MS_EXCEPTION_IF_NULL(tensor_data);
|
||||||
|
param_value->set_tensor_addr(tensor_data);
|
||||||
|
param_value->set_tensor_size(size);
|
||||||
|
}
|
||||||
|
parameter->set_default_param(param_value);
|
||||||
|
AddNode(i, parameter);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
int AnfImporterFromMetaGraph::ConverterCNode() {
|
||||||
|
MS_EXCEPTION_IF_NULL(model);
|
||||||
|
auto *meta_graph = model->GetMetaGraph();
|
||||||
|
MS_EXCEPTION_IF_NULL(meta_graph);
|
||||||
|
auto cNodes = meta_graph->nodes();
|
||||||
|
for (size_t i = 0; i < cNodes->size(); i++) {
|
||||||
|
auto cNode = cNodes->GetAs<schema::CNode>(i);
|
||||||
|
MS_EXCEPTION_IF_NULL(cNode);
|
||||||
|
auto tensor_id = cNode->outputIndex()->data()[0];
|
||||||
|
if (GetNode(tensor_id)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
auto prim = std::make_shared<PrimitiveValue>(model->GetOp(cNode->name()->str()));
|
||||||
|
if (prim == nullptr) {
|
||||||
|
MS_LOG(ERROR) << "th tensorDef in subGraphDef is nullptr";
|
||||||
|
return RET_ERROR;
|
||||||
|
}
|
||||||
|
auto value_node = NewValueNode(prim);
|
||||||
|
AddNode(tensor_id, value_node);
|
||||||
|
|
||||||
|
std::vector<AnfNodePtr> op_inputs = {value_node};
|
||||||
|
MS_EXCEPTION_IF_NULL(cNode->inputIndex());
|
||||||
|
for (size_t j = 0; j < cNode->inputIndex()->size(); j++) {
|
||||||
|
auto node = GetNode(*(cNode->inputIndex()->GetAs<uint32_t>(j)));
|
||||||
|
if (nullptr == node) {
|
||||||
|
MS_LOG(ERROR) << "Can't find input node.";
|
||||||
|
return RET_ERROR;
|
||||||
|
}
|
||||||
|
// todo: CheckInputNodeType, the first node should be op;
|
||||||
|
op_inputs.push_back(node);
|
||||||
|
}
|
||||||
|
auto cnode = model->NewCNode(op_inputs);
|
||||||
|
auto node_name = std::string(cNode->name()->c_str());
|
||||||
|
cnode->set_fullname_with_scope(node_name);
|
||||||
|
AddNode(tensor_id, cnode);
|
||||||
|
}
|
||||||
|
return RET_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
void AnfImporterFromMetaGraph::AddReturnCNode() {
|
||||||
|
MS_EXCEPTION_IF_NULL(model);
|
||||||
|
auto *meta_graph = model->GetMetaGraph();
|
||||||
|
MS_EXCEPTION_IF_NULL(meta_graph);
|
||||||
|
std::vector<AnfNodePtr> op_inputs;
|
||||||
|
auto value_node = NewValueNode(prim::kPrimReturn);
|
||||||
|
op_inputs.push_back(value_node);
|
||||||
|
auto tensor_id = meta_graph->outputIndex()->data()[0];
|
||||||
|
op_inputs.push_back(GetNode(tensor_id));
|
||||||
|
auto cnode = model->NewCNode(op_inputs);
|
||||||
|
cnode->set_fullname_with_scope("return");
|
||||||
|
model->set_return(cnode);
|
||||||
|
}
|
||||||
|
FuncGraphPtr AnfImporterFromMetaGraph::GetResult() { return this->model; }
|
||||||
|
} // namespace mindspore::lite
|
||||||
|
|
|
@ -0,0 +1,47 @@
|
||||||
|
/**
|
||||||
|
* Copyright 2020 Huawei Technologies Co., Ltd
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef MINDSPORE_LITE_SRC_ANF_IMPORTER_IMPORTER_FROM_META_GRAPH_H_
|
||||||
|
#define MINDSPORE_LITE_SRC_ANF_IMPORTER_IMPORTER_FROM_META_GRAPH_H_
|
||||||
|
|
||||||
|
#include <memory>
|
||||||
|
#include "src/train/model_impl.h"
|
||||||
|
#include "schema/model_generated.h"
|
||||||
|
#include "src/common/anf_importer/anf_importer.h"
|
||||||
|
|
||||||
|
namespace mindspore::lite {
|
||||||
|
class AnfImporterFromMetaGraph : public AnfImporter {
|
||||||
|
public:
|
||||||
|
explicit AnfImporterFromMetaGraph(std::shared_ptr<ModelImpl> model) : model(model) {}
|
||||||
|
|
||||||
|
~AnfImporterFromMetaGraph() override = default;
|
||||||
|
|
||||||
|
FuncGraphPtr GetResult() override;
|
||||||
|
|
||||||
|
private:
|
||||||
|
void ConverterConstTensor() override;
|
||||||
|
|
||||||
|
int ConverterCNode() override;
|
||||||
|
|
||||||
|
void AddReturnCNode() override;
|
||||||
|
|
||||||
|
private:
|
||||||
|
std::shared_ptr<ModelImpl> model = nullptr;
|
||||||
|
};
|
||||||
|
} // namespace mindspore::lite
|
||||||
|
|
||||||
|
#endif // MINDSPORE_LITE_SRC_ANF_IMPORTER_IMPORTER_FROM_META_GRAPH_H_
|
||||||
|
|
|
@ -0,0 +1,123 @@
|
||||||
|
/**
|
||||||
|
* Copyright 2020 Huawei Technologies Co., Ltd
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <vector>
|
||||||
|
#include <memory>
|
||||||
|
#include "schema/inner/model_generated.h"
|
||||||
|
#include "frontend/operator/ops.h"
|
||||||
|
#include "src/param_value_lite.h"
|
||||||
|
#include "import_from_meta_graphT.h"
|
||||||
|
#include "utils/log_adapter.h"
|
||||||
|
#include "abstract/abstract_value.h"
|
||||||
|
#include "src/ir/primitive_value.h"
|
||||||
|
#include "src/ir/primitive_t_value.h"
|
||||||
|
#include "include/errorcode.h"
|
||||||
|
#include "src/ops/ops.h"
|
||||||
|
|
||||||
|
namespace mindspore::lite {
|
||||||
|
void AnfImporterFromMetaGraphT::ConverterConstTensor() {
|
||||||
|
MS_EXCEPTION_IF_NULL(meta_graph_);
|
||||||
|
MS_EXCEPTION_IF_NULL(func_graph_);
|
||||||
|
for (size_t i = 0; i < meta_graph_->allTensors.size(); i++) {
|
||||||
|
auto &tensor = meta_graph_->allTensors.at(i);
|
||||||
|
MS_EXCEPTION_IF_NULL(tensor);
|
||||||
|
if (tensor->nodeType != schema::NodeType_ValueNode) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
MS_ASSERT(tensor->dims() != nullptr);
|
||||||
|
auto parameter = func_graph_->add_parameter();
|
||||||
|
std::vector<int> shape;
|
||||||
|
for (int &dim : tensor->dims) {
|
||||||
|
shape.push_back(dim);
|
||||||
|
}
|
||||||
|
auto type_id = static_cast<TypeId>(tensor->dataType);
|
||||||
|
auto type_ptr = TypeIdToType(type_id);
|
||||||
|
auto abstract_tensor = std::make_shared<abstract::AbstractTensor>(type_ptr, shape);
|
||||||
|
parameter->set_abstract(abstract_tensor);
|
||||||
|
|
||||||
|
ParamValueLitePtr param_value = std::make_shared<ParamValueLite>();
|
||||||
|
MS_EXCEPTION_IF_NULL(param_value);
|
||||||
|
param_value->set_tensor_shape(shape);
|
||||||
|
param_value->set_tensor_type(type_id);
|
||||||
|
if (!tensor->data.empty()) {
|
||||||
|
auto size = tensor->data.size();
|
||||||
|
char *tensor_data = new char[size];
|
||||||
|
std::memcpy(tensor_data, tensor->data.data(), size);
|
||||||
|
MS_EXCEPTION_IF_NULL(tensor_data);
|
||||||
|
param_value->set_tensor_addr(tensor_data);
|
||||||
|
param_value->set_tensor_size(size);
|
||||||
|
}
|
||||||
|
parameter->set_default_param(param_value);
|
||||||
|
AddNode(i, parameter);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
int AnfImporterFromMetaGraphT::ConverterCNode() {
|
||||||
|
MS_EXCEPTION_IF_NULL(meta_graph_);
|
||||||
|
MS_EXCEPTION_IF_NULL(func_graph_);
|
||||||
|
for (size_t i = 0; i < meta_graph_->nodes.size(); i++) {
|
||||||
|
auto &cNode = meta_graph_->nodes.at(i);
|
||||||
|
MS_EXCEPTION_IF_NULL(cNode);
|
||||||
|
auto tensor_id = cNode->outputIndex.front();
|
||||||
|
if (nullptr != GetNode(tensor_id)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
auto primTValue = std::make_shared<PrimitiveTValue>(cNode->primitive.release());
|
||||||
|
cNode->primitive = nullptr;
|
||||||
|
auto value_node = NewValueNode(primTValue);
|
||||||
|
|
||||||
|
std::vector<AnfNodePtr> op_inputs = {value_node};
|
||||||
|
for (size_t j = 0; j < cNode->inputIndex.size(); j++) {
|
||||||
|
auto node = GetNode(cNode->inputIndex.at(j));
|
||||||
|
if (nullptr == node) {
|
||||||
|
MS_LOG(ERROR) << "Can't find input node.";
|
||||||
|
return RET_ERROR;
|
||||||
|
}
|
||||||
|
// todo: CheckInputNodeType, the first node should be op;
|
||||||
|
op_inputs.push_back(node);
|
||||||
|
}
|
||||||
|
auto cnode = func_graph_->NewCNode(op_inputs);
|
||||||
|
cnode->set_fullname_with_scope(cNode->name);
|
||||||
|
AddNode(tensor_id, cnode);
|
||||||
|
}
|
||||||
|
return RET_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
void AnfImporterFromMetaGraphT::AddReturnCNode() {
|
||||||
|
MS_EXCEPTION_IF_NULL(meta_graph_);
|
||||||
|
MS_EXCEPTION_IF_NULL(func_graph_);
|
||||||
|
std::vector<AnfNodePtr> make_tuple_inputs;
|
||||||
|
auto make_tuple_value_node = NewValueNode(prim::kPrimMakeTuple);
|
||||||
|
make_tuple_inputs.emplace_back(make_tuple_value_node);
|
||||||
|
for (auto tensor_id : meta_graph_->outputIndex) {
|
||||||
|
make_tuple_inputs.emplace_back(GetNode(tensor_id));
|
||||||
|
}
|
||||||
|
auto make_tuple_cnode = func_graph_->NewCNode(make_tuple_inputs);
|
||||||
|
make_tuple_cnode->set_fullname_with_scope("return tuple");
|
||||||
|
|
||||||
|
std::vector<AnfNodePtr> op_inputs;
|
||||||
|
auto value_node = NewValueNode(prim::kPrimReturn);
|
||||||
|
op_inputs.emplace_back(value_node);
|
||||||
|
op_inputs.emplace_back(make_tuple_cnode);
|
||||||
|
auto cnode = func_graph_->NewCNode(op_inputs);
|
||||||
|
cnode->set_fullname_with_scope("return");
|
||||||
|
func_graph_->set_return(cnode);
|
||||||
|
}
|
||||||
|
|
||||||
|
FuncGraphPtr AnfImporterFromMetaGraphT::GetResult() { return this->func_graph_; }
|
||||||
|
} // namespace mindspore::lite
|
||||||
|
|
|
@ -0,0 +1,49 @@
|
||||||
|
/**
|
||||||
|
* Copyright 2020 Huawei Technologies Co., Ltd
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef MINDSPORE_LITE_SRC_ANF_IMPORTER_IMPORTER_FROM_META_GRAPHT_H_
|
||||||
|
#define MINDSPORE_LITE_SRC_ANF_IMPORTER_IMPORTER_FROM_META_GRAPHT_H_
|
||||||
|
|
||||||
|
#include <utility>
|
||||||
|
|
||||||
|
#include "schema/inner/model_generated.h"
|
||||||
|
#include "src/common/anf_importer/anf_importer.h"
|
||||||
|
|
||||||
|
namespace mindspore::lite {
|
||||||
|
class AnfImporterFromMetaGraphT : public AnfImporter {
|
||||||
|
public:
|
||||||
|
explicit AnfImporterFromMetaGraphT(schema::MetaGraphT *meta_graph, FuncGraphPtr func_graph)
|
||||||
|
: meta_graph_(meta_graph), func_graph_(std::move(func_graph)) {}
|
||||||
|
|
||||||
|
~AnfImporterFromMetaGraphT() override = default;
|
||||||
|
|
||||||
|
FuncGraphPtr GetResult() override;
|
||||||
|
|
||||||
|
private:
|
||||||
|
void ConverterConstTensor() override;
|
||||||
|
|
||||||
|
int ConverterCNode() override;
|
||||||
|
|
||||||
|
void AddReturnCNode() override;
|
||||||
|
|
||||||
|
private:
|
||||||
|
schema::MetaGraphT *meta_graph_;
|
||||||
|
FuncGraphPtr func_graph_;
|
||||||
|
};
|
||||||
|
} // namespace mindspore::lite
|
||||||
|
|
||||||
|
#endif // MINDSPORE_LITE_SRC_ANF_IMPORTER_IMPORTER_FROM_META_GRAPHT_H_
|
||||||
|
|
|
@ -0,0 +1,717 @@
|
||||||
|
/**
|
||||||
|
* Copyright 2020 Huawei Technologies Co., Ltd
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "src/common/anf_importer/import_from_protobuf.h"
|
||||||
|
#include <fcntl.h>
|
||||||
|
#include <unistd.h>
|
||||||
|
#include <functional>
|
||||||
|
#include <map>
|
||||||
|
#include <stack>
|
||||||
|
#include <unordered_map>
|
||||||
|
#include <memory>
|
||||||
|
#include <string>
|
||||||
|
#include <vector>
|
||||||
|
#include <fstream>
|
||||||
|
#include "ir/func_graph.h"
|
||||||
|
#include "ir/anf.h"
|
||||||
|
#include "google/protobuf/io/zero_copy_stream_impl.h"
|
||||||
|
#include "src/param_value_lite.h"
|
||||||
|
#include "src/ir/tensor.h"
|
||||||
|
#include "frontend/operator/ops.h"
|
||||||
|
#include "tools/converter/parser/onnx/onnx.pb.h"
|
||||||
|
#include "utils/log_adapter.h"
|
||||||
|
#include "include/errorcode.h"
|
||||||
|
|
||||||
|
using string = std::string;
|
||||||
|
using int32 = int32_t;
|
||||||
|
using int64 = int64_t;
|
||||||
|
using uint64 = uint64_t;
|
||||||
|
|
||||||
|
namespace mindspore::lite {
|
||||||
|
|
||||||
|
static constexpr char kConstantValueNode[] = "Constant";
|
||||||
|
static constexpr char kCNodeShapeAttr[] = "shape";
|
||||||
|
static constexpr char kCNodeShape1Attr[] = "shape1";
|
||||||
|
static constexpr char kCNodeShape2Attr[] = "shape2";
|
||||||
|
|
||||||
|
enum ParseForm : int {
|
||||||
|
FORM_PARSE_TYPE = 0,
|
||||||
|
FORM_PARSE_SCALAR = 1,
|
||||||
|
FORM_PARSE_TENSOR = 2,
|
||||||
|
};
|
||||||
|
|
||||||
|
static std::map<std::string, ParseForm> kParseTypeSwitchMap{
|
||||||
|
{"type", FORM_PARSE_TYPE},
|
||||||
|
{"scalar", FORM_PARSE_SCALAR},
|
||||||
|
{"tensor", FORM_PARSE_TENSOR}};
|
||||||
|
|
||||||
|
static std::unordered_map<int, TypeId> kDefaultValueSwitchMap{
|
||||||
|
{onnx::TensorProto_DataType_BOOL, kNumberTypeBool},
|
||||||
|
{onnx::TensorProto_DataType_INT8, kNumberTypeInt8},
|
||||||
|
{onnx::TensorProto_DataType_INT16, kNumberTypeInt16},
|
||||||
|
{onnx::TensorProto_DataType_INT32, kNumberTypeInt32},
|
||||||
|
{onnx::TensorProto_DataType_INT64, kNumberTypeInt64},
|
||||||
|
{onnx::TensorProto_DataType_UINT8, kNumberTypeUInt8},
|
||||||
|
{onnx::TensorProto_DataType_UINT16, kNumberTypeUInt16},
|
||||||
|
{onnx::TensorProto_DataType_UINT32, kNumberTypeUInt32},
|
||||||
|
{onnx::TensorProto_DataType_UINT64, kNumberTypeUInt64},
|
||||||
|
{onnx::TensorProto_DataType_FLOAT16, kNumberTypeFloat16},
|
||||||
|
{onnx::TensorProto_DataType_FLOAT, kNumberTypeFloat32},
|
||||||
|
{onnx::TensorProto_DataType_DOUBLE, kNumberTypeFloat64},
|
||||||
|
{onnx::TensorProto_DataType_STRING, kObjectTypeString},
|
||||||
|
};
|
||||||
|
|
||||||
|
std::shared_ptr<ValueTuple> ParserScalarAttrValue(const std::string &attr_name,
|
||||||
|
const std::unordered_map<string, ValuePtr> &kv) {
|
||||||
|
std::string str = attr_name;
|
||||||
|
auto replace = [&](const string &orgStr, const string &newStr) {
|
||||||
|
std::string::size_type pos(0);
|
||||||
|
while ((pos = str.find(orgStr)) != std::string::npos) {
|
||||||
|
str.replace(pos, orgStr.length(), newStr);
|
||||||
|
}
|
||||||
|
return str;
|
||||||
|
};
|
||||||
|
// remove "scalar:"
|
||||||
|
str = replace("scalar:", "");
|
||||||
|
// remove "Tuple"
|
||||||
|
str = replace("Tuple", "");
|
||||||
|
// remove "List"
|
||||||
|
str = replace("List", "");
|
||||||
|
std::stack<std::string> rules;
|
||||||
|
std::stack<ValuePtr> value;
|
||||||
|
int num = 0, count = 0;
|
||||||
|
for (size_t i = 0; i < str.length(); i++) {
|
||||||
|
if (str[i] == '[') {
|
||||||
|
rules.push("[");
|
||||||
|
} else if (str[i] == ']') {
|
||||||
|
// rules
|
||||||
|
std::vector<ValuePtr> vec;
|
||||||
|
while (rules.top() != "[") {
|
||||||
|
rules.pop();
|
||||||
|
vec.push_back(value.top());
|
||||||
|
value.pop();
|
||||||
|
}
|
||||||
|
// pop "["
|
||||||
|
rules.pop();
|
||||||
|
// make tuple for names
|
||||||
|
std::string res = "dummy";
|
||||||
|
// make tuple for values
|
||||||
|
reverse(vec.begin(), vec.end());
|
||||||
|
auto vt = std::make_shared<ValueTuple>(vec);
|
||||||
|
if (rules.empty() && value.empty()) {
|
||||||
|
return vt;
|
||||||
|
}
|
||||||
|
rules.push(res);
|
||||||
|
value.push(vt);
|
||||||
|
} else if (str[i] == ',') {
|
||||||
|
continue;
|
||||||
|
} else {
|
||||||
|
count++;
|
||||||
|
if (str[i + 1] == '[' || str[i + 1] == ']' || str[i + 1] == ',') {
|
||||||
|
auto value_name = str.substr(i - count + 1, count);
|
||||||
|
value.push(kv.at(value_name));
|
||||||
|
rules.push(value_name);
|
||||||
|
count = 0;
|
||||||
|
num++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return {};
|
||||||
|
}
|
||||||
|
|
||||||
|
std::shared_ptr<abstract::AbstractTuple>
|
||||||
|
ParserAttrShape(const std::string &attr_name, const std::unordered_map<string, abstract::AbstractTensorPtr> &kv) {
|
||||||
|
std::string str = attr_name;
|
||||||
|
auto replace = [&](const string &orgStr, const string &newStr) {
|
||||||
|
std::string::size_type pos(0);
|
||||||
|
while ((pos = str.find(orgStr)) != std::string::npos) {
|
||||||
|
str.replace(pos, orgStr.length(), newStr);
|
||||||
|
}
|
||||||
|
return str;
|
||||||
|
};
|
||||||
|
// remove "scalar:"
|
||||||
|
str = replace("shape:", "");
|
||||||
|
// remove "Tuple"
|
||||||
|
str = replace("Tuple", "");
|
||||||
|
// remove "List"
|
||||||
|
str = replace("List", "");
|
||||||
|
std::stack<std::string> rules;
|
||||||
|
std::stack<abstract::AbstractBasePtr> value;
|
||||||
|
int num = 0, count = 0;
|
||||||
|
for (size_t i = 0; i < str.length(); i++) {
|
||||||
|
if (str[i] == '[') {
|
||||||
|
rules.push("[");
|
||||||
|
} else if (str[i] == ']') {
|
||||||
|
// rules
|
||||||
|
std::vector<abstract::AbstractBasePtr> vec;
|
||||||
|
while (rules.top() != "[") {
|
||||||
|
rules.pop();
|
||||||
|
vec.push_back(value.top());
|
||||||
|
value.pop();
|
||||||
|
}
|
||||||
|
// pop "["
|
||||||
|
rules.pop();
|
||||||
|
// make tuple for names
|
||||||
|
std::string res = "dummy";
|
||||||
|
// make tuple for values
|
||||||
|
reverse(vec.begin(), vec.end());
|
||||||
|
auto vt = std::make_shared<abstract::AbstractTuple>(vec);
|
||||||
|
if (rules.empty() && value.empty()) {
|
||||||
|
return vt;
|
||||||
|
}
|
||||||
|
rules.push(res);
|
||||||
|
value.push(vt);
|
||||||
|
} else if (str[i] == ',') {
|
||||||
|
continue;
|
||||||
|
} else {
|
||||||
|
count++;
|
||||||
|
if (str[i + 1] == '[' || str[i + 1] == ']' || str[i + 1] == ',') {
|
||||||
|
auto value_name = str.substr(i - count + 1, count);
|
||||||
|
value.push(kv.at(value_name));
|
||||||
|
rules.push(value_name);
|
||||||
|
count = 0;
|
||||||
|
num++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return {};
|
||||||
|
}
|
||||||
|
|
||||||
|
#define PARSE_ONNXATTR_IN_SCALAR_FORM(type, valuetype) \
|
||||||
|
ValuePtr ParseAttrInScalar_##type##_##valuetype(const onnx::TensorProto &attr_tensor) { \
|
||||||
|
if (attr_tensor.type##_data_size() == 1) { \
|
||||||
|
auto value = static_cast<valuetype>(attr_tensor.type##_data(0)); \
|
||||||
|
return MakeValue<valuetype>(value); \
|
||||||
|
} else { \
|
||||||
|
MS_LOG(ERROR) << "size of scalar tensor doesn't equal 1!"; \
|
||||||
|
} \
|
||||||
|
return{}; \
|
||||||
|
}
|
||||||
|
|
||||||
|
PARSE_ONNXATTR_IN_SCALAR_FORM(double, double)
|
||||||
|
PARSE_ONNXATTR_IN_SCALAR_FORM(float, float)
|
||||||
|
PARSE_ONNXATTR_IN_SCALAR_FORM(string, string)
|
||||||
|
PARSE_ONNXATTR_IN_SCALAR_FORM(int32, int32)
|
||||||
|
PARSE_ONNXATTR_IN_SCALAR_FORM(int32, bool)
|
||||||
|
PARSE_ONNXATTR_IN_SCALAR_FORM(int64, int64)
|
||||||
|
PARSE_ONNXATTR_IN_SCALAR_FORM(uint64, uint64)
|
||||||
|
|
||||||
|
bool AnfImporterFromProtobuf::BuildParameterForFuncGraph(const ParameterPtr &node,
|
||||||
|
const onnx::ValueInfoProto &value_proto) {
|
||||||
|
MS_EXCEPTION_IF_NULL(node);
|
||||||
|
if (!value_proto.has_type() || !value_proto.has_name()) {
|
||||||
|
MS_LOG(ERROR) << "onnx ValueInfoProto has no type or name! ";
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
node->set_name(value_proto.name());
|
||||||
|
const auto &type_proto = value_proto.type();
|
||||||
|
if (!type_proto.has_tensor_type()) {
|
||||||
|
MS_LOG(ERROR) << "onnx TypeProto has no tesor_type! ";
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
const onnx::TypeProto_Tensor &tensor_typeproto = type_proto.tensor_type();
|
||||||
|
if (!tensor_typeproto.has_elem_type() || !tensor_typeproto.has_shape()) {
|
||||||
|
MS_LOG(ERROR) << "onnx TypeProto_Tensor has no elem_type or shape! ";
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
const onnx::TensorShapeProto &tensor_shape = tensor_typeproto.shape();
|
||||||
|
std::vector<int> shape;
|
||||||
|
for (int i = 0; i < tensor_shape.dim_size(); ++i) {
|
||||||
|
shape.push_back(tensor_shape.dim(i).dim_value());
|
||||||
|
}
|
||||||
|
|
||||||
|
if (kDefaultValueSwitchMap.find(tensor_typeproto.elem_type()) == kDefaultValueSwitchMap.end()) {
|
||||||
|
MS_LOG(ERROR) << "onnx TypeProto_Tensor elem_type is not support yet!";
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
auto type_ptr = TypeIdToType(kDefaultValueSwitchMap[tensor_typeproto.elem_type()]);
|
||||||
|
auto abstract_tensor = std::make_shared<abstract::AbstractTensor>(type_ptr, shape);
|
||||||
|
node->set_abstract(abstract_tensor);
|
||||||
|
|
||||||
|
if (default_para_map_.find(value_proto.name()) != default_para_map_.end()) {
|
||||||
|
tensor::Tensor *tensor_info = new tensor::Tensor(kDefaultValueSwitchMap[tensor_typeproto.elem_type()], shape);
|
||||||
|
MS_EXCEPTION_IF_NULL(tensor_info);
|
||||||
|
tensor_info->MallocData();
|
||||||
|
const onnx::TensorProto initialize_proto = default_para_map_[value_proto.name()];
|
||||||
|
std::string initial_data = initialize_proto.raw_data();
|
||||||
|
auto *tensor_data_buf = reinterpret_cast<uint8_t *>(tensor_info->Data());
|
||||||
|
MS_EXCEPTION_IF_NULL(tensor_data_buf);
|
||||||
|
memcpy_s(tensor_data_buf, tensor_info->Size(), initial_data.data(), initial_data.size());
|
||||||
|
|
||||||
|
ParamValueLitePtr param_value = std::make_shared<ParamValueLite>();
|
||||||
|
MS_EXCEPTION_IF_NULL(param_value);
|
||||||
|
param_value->set_tensor_addr(tensor_data_buf);
|
||||||
|
param_value->set_tensor_size(tensor_info->Size());
|
||||||
|
node->set_default_param(param_value);
|
||||||
|
}
|
||||||
|
anfnode_build_map_[value_proto.name()] = node;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool AnfImporterFromProtobuf::ImportParametersForGraph(const FuncGraphPtr &outputFuncGraph,
|
||||||
|
const onnx::GraphProto &importProto) {
|
||||||
|
MS_EXCEPTION_IF_NULL(outputFuncGraph);
|
||||||
|
MS_LOG(INFO) << "Parameters had default paramerer size is: " << importProto.initializer_size();
|
||||||
|
|
||||||
|
for (int i = 0; i < importProto.initializer_size(); ++i) {
|
||||||
|
const onnx::TensorProto &initializer_proto = importProto.initializer(i);
|
||||||
|
if (!initializer_proto.has_name()) {
|
||||||
|
MS_LOG(ERROR) << "initializer vector of onnx GraphProto has no name at index: " << i;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
default_para_map_[initializer_proto.name()] = initializer_proto;
|
||||||
|
}
|
||||||
|
|
||||||
|
MS_LOG(INFO) << "all parameters size: " << importProto.input_size();
|
||||||
|
for (int i = 0; i < importProto.input_size(); ++i) {
|
||||||
|
const onnx::ValueInfoProto &input_proto = importProto.input(i);
|
||||||
|
if (!BuildParameterForFuncGraph(outputFuncGraph->add_parameter(), input_proto)) {
|
||||||
|
MS_LOG(ERROR) << "Build parameter for funcgraph fail at index: " << i;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool AnfImporterFromProtobuf::ObtainCNodeAttrInTypeForm(const PrimitivePtr &prim, const std::string &attr_name,
|
||||||
|
const onnx::TensorProto &attr_tensor) {
|
||||||
|
MS_EXCEPTION_IF_NULL(prim);
|
||||||
|
const int attr_tensor_type = attr_tensor.data_type();
|
||||||
|
if (kDefaultValueSwitchMap.find(attr_tensor_type) == kDefaultValueSwitchMap.end()) {
|
||||||
|
MS_LOG(ERROR) << "Obtain attr in type-form has not support input type:" << attr_tensor_type;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
prim->AddAttr(attr_name, TypeIdToType(kDefaultValueSwitchMap[attr_tensor_type]));
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
ValuePtr AnfImporterFromProtobuf::ObtainCNodeAttrInScalarForm(const onnx::TensorProto &attr_tensor) {
|
||||||
|
const int attr_tensor_type = attr_tensor.data_type();
|
||||||
|
switch (attr_tensor_type) {
|
||||||
|
case onnx::TensorProto_DataType_STRING: {
|
||||||
|
return ParseAttrInScalar_string_string(attr_tensor);
|
||||||
|
}
|
||||||
|
case onnx::TensorProto_DataType_INT32: {
|
||||||
|
return ParseAttrInScalar_int32_int32(attr_tensor);
|
||||||
|
}
|
||||||
|
case onnx::TensorProto_DataType_INT64: {
|
||||||
|
return ParseAttrInScalar_int64_int64(attr_tensor);
|
||||||
|
}
|
||||||
|
case onnx::TensorProto_DataType_UINT64: {
|
||||||
|
return ParseAttrInScalar_uint64_uint64(attr_tensor);
|
||||||
|
}
|
||||||
|
case onnx::TensorProto_DataType_FLOAT: {
|
||||||
|
return ParseAttrInScalar_float_float(attr_tensor);
|
||||||
|
}
|
||||||
|
case onnx::TensorProto_DataType_DOUBLE: {
|
||||||
|
return ParseAttrInScalar_double_double(attr_tensor);
|
||||||
|
}
|
||||||
|
case onnx::TensorProto_DataType_BOOL: {
|
||||||
|
return ParseAttrInScalar_int32_bool(attr_tensor);
|
||||||
|
}
|
||||||
|
default:
|
||||||
|
MS_LOG(ERROR) << "Obtain attr in scalar-form has not support input type: " << attr_tensor_type;
|
||||||
|
return {};
|
||||||
|
}
|
||||||
|
return {};
|
||||||
|
}
|
||||||
|
|
||||||
|
bool AnfImporterFromProtobuf::ObtainCNodeAttrInTensorForm(const PrimitivePtr &prim, const std::string &attr_name,
|
||||||
|
const onnx::TensorProto &attr_tensor) {
|
||||||
|
MS_EXCEPTION_IF_NULL(prim);
|
||||||
|
MS_LOG(ERROR) << "parse attr type don't support attr type is tensor";
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool AnfImporterFromProtobuf::GetAttrValueForCNode(const PrimitivePtr &prim, const onnx::AttributeProto &attr_proto) {
|
||||||
|
MS_EXCEPTION_IF_NULL(prim);
|
||||||
|
const std::string &attr_name = attr_proto.name();
|
||||||
|
if (!attr_proto.has_ref_attr_name()) {
|
||||||
|
MS_LOG(ERROR) << "CNode parse attr type has no ref_attr_name";
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
const std::string &ref_attr_name = attr_proto.ref_attr_name();
|
||||||
|
string type;
|
||||||
|
std::size_t pos(0);
|
||||||
|
if ((pos = ref_attr_name.find("scalar:")) != std::string::npos) {
|
||||||
|
type = ref_attr_name.substr(pos, string("scalar:").length() - 1);
|
||||||
|
} else if ((pos = ref_attr_name.find("type:")) != std::string::npos) {
|
||||||
|
type = ref_attr_name.substr(pos, string("type:").length() - 1);
|
||||||
|
} else if ((pos = ref_attr_name.find("tensor:")) != std::string::npos) {
|
||||||
|
type = ref_attr_name.substr(pos, string("tensor:").length() - 1);
|
||||||
|
}
|
||||||
|
std::unordered_map<std::string, ValuePtr> kv;
|
||||||
|
for (int i = 0; i < attr_proto.tensors_size(); i++) {
|
||||||
|
const onnx::TensorProto &attr_tensor = attr_proto.tensors(i);
|
||||||
|
switch (kParseTypeSwitchMap[type]) {
|
||||||
|
case FORM_PARSE_TYPE: {
|
||||||
|
return ObtainCNodeAttrInTypeForm(prim, attr_name, attr_tensor);
|
||||||
|
}
|
||||||
|
case FORM_PARSE_SCALAR: {
|
||||||
|
auto res = ObtainCNodeAttrInScalarForm(attr_tensor);
|
||||||
|
kv.insert(std::pair<string, ValuePtr>(attr_tensor.name(), res));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case FORM_PARSE_TENSOR: {
|
||||||
|
return ObtainCNodeAttrInTensorForm(prim, attr_name, attr_tensor);
|
||||||
|
}
|
||||||
|
default:
|
||||||
|
MS_LOG(ERROR) << "parse attr type don't support input of ref_attr_name";
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (kParseTypeSwitchMap[type] == FORM_PARSE_SCALAR) {
|
||||||
|
if (kv.size() == 1) {
|
||||||
|
std::unordered_map<std::string, ValuePtr>::iterator iter = kv.begin();
|
||||||
|
prim->AddAttr(attr_name, iter->second);
|
||||||
|
} else {
|
||||||
|
auto res = ParserScalarAttrValue(ref_attr_name, kv);
|
||||||
|
prim->AddAttr(attr_name, res);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool AnfImporterFromProtobuf::ObtainValueNodeInTensorForm(const std::string &value_node_name,
|
||||||
|
const onnx::TensorProto &attr_tensor) {
|
||||||
|
const int attr_tensor_type = attr_tensor.data_type();
|
||||||
|
std::vector<int> shape;
|
||||||
|
for (int i = 0; i < attr_tensor.dims_size(); ++i) {
|
||||||
|
shape.push_back(attr_tensor.dims(i));
|
||||||
|
}
|
||||||
|
tensor::TensorPtr tensor_info = std::make_shared<tensor::Tensor>(kDefaultValueSwitchMap[attr_tensor_type], shape);
|
||||||
|
tensor_info->MallocData();
|
||||||
|
const std::string &tensor_buf = attr_tensor.raw_data();
|
||||||
|
auto *tensor_data_buf = reinterpret_cast<uint8_t *>(tensor_info->Data());
|
||||||
|
memcpy_s(tensor_data_buf, tensor_info->Size(), tensor_buf.data(), tensor_buf.size());
|
||||||
|
auto new_value_node = NewValueNode(MakeValue(tensor_info));
|
||||||
|
MS_EXCEPTION_IF_NULL(new_value_node);
|
||||||
|
auto type_ptr = TypeIdToType(kDefaultValueSwitchMap[attr_tensor_type]);
|
||||||
|
auto abstract_tensor = std::make_shared<abstract::AbstractTensor>(type_ptr, shape);
|
||||||
|
new_value_node->set_abstract(abstract_tensor);
|
||||||
|
anfnode_build_map_[value_node_name] = new_value_node;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool AnfImporterFromProtobuf::ObtainValueNodeInTypeForm(const std::string &value_node_name,
|
||||||
|
const onnx::TensorProto &attr_tensor) {
|
||||||
|
const int attr_tensor_type = attr_tensor.data_type();
|
||||||
|
if (kDefaultValueSwitchMap.find(attr_tensor_type) == kDefaultValueSwitchMap.end()) {
|
||||||
|
MS_LOG(ERROR) << "Obtain ValueNode attr in type-form has not support input type: " << attr_tensor_type;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
auto new_value_node = NewValueNode(TypeIdToType(kDefaultValueSwitchMap[attr_tensor_type]));
|
||||||
|
abstract::AbstractTypePtr abs_type = std::make_shared<abstract::AbstractType>(std::make_shared<TypeType>());
|
||||||
|
new_value_node->set_abstract(abs_type);
|
||||||
|
anfnode_build_map_[value_node_name] = new_value_node;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool AnfImporterFromProtobuf::GetAttrValueForValueNode(const std::string &value_node_name,
|
||||||
|
const onnx::AttributeProto &attr_proto) {
|
||||||
|
const std::string &attr_name = attr_proto.name();
|
||||||
|
if (!attr_proto.has_ref_attr_name()) {
|
||||||
|
MS_LOG(ERROR) << "CNode parse attr type has no ref_attr_name";
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
const std::string &ref_attr_name = attr_proto.ref_attr_name();
|
||||||
|
string type;
|
||||||
|
std::size_t pos(0);
|
||||||
|
if ((pos = ref_attr_name.find("scalar:")) != std::string::npos) {
|
||||||
|
type = ref_attr_name.substr(pos, string("scalar:").length() - 1);
|
||||||
|
} else if ((pos = ref_attr_name.find("type:")) != std::string::npos) {
|
||||||
|
type = ref_attr_name.substr(pos, string("type:").length() - 1);
|
||||||
|
} else if ((pos = ref_attr_name.find("tensor:")) != std::string::npos) {
|
||||||
|
type = ref_attr_name.substr(pos, string("tensor:").length() - 1);
|
||||||
|
}
|
||||||
|
std::unordered_map<std::string, ValuePtr> kv;
|
||||||
|
for (int i = 0; i < attr_proto.tensors_size(); i++) {
|
||||||
|
const onnx::TensorProto &attr_tensor = attr_proto.tensors(i);
|
||||||
|
switch (kParseTypeSwitchMap[type]) {
|
||||||
|
case FORM_PARSE_TYPE: {
|
||||||
|
return ObtainValueNodeInTypeForm(value_node_name, attr_tensor);
|
||||||
|
}
|
||||||
|
case FORM_PARSE_SCALAR: {
|
||||||
|
auto res = ObtainCNodeAttrInScalarForm(attr_tensor);
|
||||||
|
kv.insert(std::pair<string, ValuePtr>(attr_tensor.name(), res));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case FORM_PARSE_TENSOR: {
|
||||||
|
return ObtainValueNodeInTensorForm(value_node_name, attr_tensor);
|
||||||
|
}
|
||||||
|
default:
|
||||||
|
MS_LOG(ERROR) << "parse attr type don't support input of ref_attr_name";
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
ValueNodePtr new_value_node;
|
||||||
|
if (kParseTypeSwitchMap[type] == FORM_PARSE_SCALAR) {
|
||||||
|
if (kv.size() == 1) {
|
||||||
|
std::unordered_map<std::string, ValuePtr>::iterator iter = kv.begin();
|
||||||
|
new_value_node = NewValueNode(iter->second);
|
||||||
|
new_value_node->set_abstract(iter->second->ToAbstract());
|
||||||
|
} else {
|
||||||
|
auto value_ptr = ParserScalarAttrValue(ref_attr_name, kv);
|
||||||
|
new_value_node = NewValueNode(value_ptr);
|
||||||
|
new_value_node->set_abstract(value_ptr->ToAbstract());
|
||||||
|
}
|
||||||
|
anfnode_build_map_[value_node_name] = new_value_node;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool AnfImporterFromProtobuf::BuildValueNodeForFuncGraph(const onnx::NodeProto &node_proto) {
|
||||||
|
const std::string &value_node_name = node_proto.output(0);
|
||||||
|
const onnx::AttributeProto &attr_proto = node_proto.attribute(0);
|
||||||
|
if (!attr_proto.has_ref_attr_name()) {
|
||||||
|
MS_LOG(ERROR) << "parse ValueNode don't have ref_attr_name";
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return GetAttrValueForValueNode(value_node_name, attr_proto);
|
||||||
|
}
|
||||||
|
|
||||||
|
std::unordered_map<std::string, abstract::AbstractTensorPtr>
|
||||||
|
AnfImporterFromProtobuf::GetAbstractForCNode(const onnx::AttributeProto &attr_proto) {
|
||||||
|
std::unordered_map<std::string, abstract::AbstractTensorPtr> kv;
|
||||||
|
for (int i = 0; i < attr_proto.tensors_size(); i++) {
|
||||||
|
std::vector<int> shape_vec;
|
||||||
|
const onnx::TensorProto &attr_tensor = attr_proto.tensors(i);
|
||||||
|
for (int j = 0; j < attr_tensor.dims_size(); ++j) {
|
||||||
|
shape_vec.push_back(attr_tensor.dims(j));
|
||||||
|
}
|
||||||
|
auto type_ptr = TypeIdToType(kDefaultValueSwitchMap[attr_tensor.data_type()]);
|
||||||
|
auto abstract_tensor = std::make_shared<abstract::AbstractTensor>(type_ptr, shape_vec);
|
||||||
|
kv.insert(std::pair<string, abstract::AbstractTensorPtr>(attr_tensor.name(), abstract_tensor));
|
||||||
|
}
|
||||||
|
return kv;
|
||||||
|
}
|
||||||
|
|
||||||
|
CNodePtr AnfImporterFromProtobuf::BuildCNodeForFuncGraph(const FuncGraphPtr &outputFuncGraph,
|
||||||
|
const onnx::NodeProto &node_proto) {
|
||||||
|
MS_EXCEPTION_IF_NULL(outputFuncGraph);
|
||||||
|
if (!node_proto.has_op_type()) {
|
||||||
|
MS_LOG(ERROR) << "Get CNode op_type failed!";
|
||||||
|
return nullptr;
|
||||||
|
}
|
||||||
|
const std::string &node_name = node_proto.output(0);
|
||||||
|
const std::string &fullname_with_scope = node_proto.domain();
|
||||||
|
const std::string &node_type = node_proto.op_type();
|
||||||
|
PrimitivePtr prim = std::make_shared<mindspore::Primitive>(node_type);
|
||||||
|
MS_EXCEPTION_IF_NULL(prim);
|
||||||
|
prim->set_instance_name(node_type);
|
||||||
|
std::unordered_map<std::string, abstract::AbstractTensorPtr> kv;
|
||||||
|
string shape_ref_attr_name;
|
||||||
|
for (int i = 0; i < node_proto.attribute_size(); ++i) {
|
||||||
|
const onnx::AttributeProto &attr_proto = node_proto.attribute(i);
|
||||||
|
if (attr_proto.ref_attr_name().find("shape:") != string::npos) {
|
||||||
|
shape_ref_attr_name = attr_proto.ref_attr_name();
|
||||||
|
kv = GetAbstractForCNode(attr_proto);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if (!GetAttrValueForCNode(prim, attr_proto)) {
|
||||||
|
MS_LOG(ERROR) << "Get CNode attr failed!";
|
||||||
|
return nullptr;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
std::vector<AnfNodePtr> inputs;
|
||||||
|
inputs.clear();
|
||||||
|
inputs.push_back(NewValueNode(prim));
|
||||||
|
for (int i = 0; i < node_proto.input_size(); ++i) {
|
||||||
|
const std::string &input_name = node_proto.input(i);
|
||||||
|
if (anfnode_build_map_.find(input_name) == anfnode_build_map_.end()) {
|
||||||
|
MS_LOG(ERROR) << node_name << " input " << i << input_name << "can't find in nodes have parsed";
|
||||||
|
return nullptr;
|
||||||
|
}
|
||||||
|
inputs.push_back(anfnode_build_map_[input_name]);
|
||||||
|
}
|
||||||
|
CNodePtr cnode_ptr = outputFuncGraph->NewCNode(inputs);
|
||||||
|
MS_EXCEPTION_IF_NULL(cnode_ptr);
|
||||||
|
if (0 == kv.size()) {
|
||||||
|
AbstractBasePtrList elem;
|
||||||
|
for (size_t index = 1; index < cnode_ptr->inputs().size(); ++index) {
|
||||||
|
elem.push_back(cnode_ptr->input(index)->abstract());
|
||||||
|
}
|
||||||
|
cnode_ptr->set_abstract(std::make_shared<abstract::AbstractTuple>(elem));
|
||||||
|
} else if (1 == kv.size()) {
|
||||||
|
std::unordered_map<std::string, abstract::AbstractTensorPtr>::iterator iter = kv.begin();
|
||||||
|
cnode_ptr->set_abstract(iter->second);
|
||||||
|
} else {
|
||||||
|
auto abstract = ParserAttrShape(shape_ref_attr_name, kv);
|
||||||
|
cnode_ptr->set_abstract(abstract);
|
||||||
|
}
|
||||||
|
|
||||||
|
cnode_ptr->set_fullname_with_scope(fullname_with_scope);
|
||||||
|
anfnode_build_map_[node_name] = cnode_ptr;
|
||||||
|
return cnode_ptr;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool AnfImporterFromProtobuf::BuildReturnForFuncGraph(const FuncGraphPtr &outputFuncGraph,
|
||||||
|
const onnx::GraphProto &importProto,
|
||||||
|
const CNodePtr &cnode_ptr) {
|
||||||
|
MS_EXCEPTION_IF_NULL(outputFuncGraph);
|
||||||
|
MS_EXCEPTION_IF_NULL(cnode_ptr);
|
||||||
|
std::vector<AnfNodePtr> inputs;
|
||||||
|
if (importProto.output_size() > 1) {
|
||||||
|
inputs.clear();
|
||||||
|
inputs.push_back(NewValueNode(prim::kPrimMakeTuple));
|
||||||
|
AbstractBasePtrList elem;
|
||||||
|
for (int out_size = 0; out_size < importProto.output_size(); ++out_size) {
|
||||||
|
const onnx::ValueInfoProto &output_node = importProto.output(out_size);
|
||||||
|
const std::string &out_tuple = output_node.name();
|
||||||
|
inputs.push_back(anfnode_build_map_[out_tuple]);
|
||||||
|
elem.push_back(anfnode_build_map_[out_tuple]->abstract());
|
||||||
|
}
|
||||||
|
auto maketuple_ptr = outputFuncGraph->NewCNode(inputs);
|
||||||
|
maketuple_ptr->set_abstract(std::make_shared<abstract::AbstractTuple>(elem));
|
||||||
|
inputs.clear();
|
||||||
|
inputs.push_back(NewValueNode(prim::kPrimReturn));
|
||||||
|
inputs.push_back(maketuple_ptr);
|
||||||
|
auto return_node = outputFuncGraph->NewCNode(inputs);
|
||||||
|
MS_EXCEPTION_IF_NULL(return_node);
|
||||||
|
outputFuncGraph->set_return(return_node);
|
||||||
|
MS_LOG(INFO) << "Construct funcgraph finined, all success.";
|
||||||
|
} else {
|
||||||
|
const onnx::ValueInfoProto &output_node = importProto.output(0);
|
||||||
|
const onnx::TypeProto &output_typeproto = output_node.type();
|
||||||
|
int output_type = output_typeproto.tensor_type().elem_type();
|
||||||
|
std::vector<int> output_shape;
|
||||||
|
for (int i = 0; i < output_typeproto.tensor_type().shape().dim_size(); ++i) {
|
||||||
|
output_shape.push_back(output_typeproto.tensor_type().shape().dim(i).dim_value());
|
||||||
|
}
|
||||||
|
auto type_ptr = TypeIdToType(kDefaultValueSwitchMap[output_type]);
|
||||||
|
auto abstract_tensor = std::make_shared<abstract::AbstractTensor>(type_ptr, output_shape);
|
||||||
|
|
||||||
|
inputs.clear();
|
||||||
|
inputs.push_back(NewValueNode(prim::kPrimReturn));
|
||||||
|
inputs.push_back(cnode_ptr);
|
||||||
|
auto return_node = outputFuncGraph->NewCNode(inputs);
|
||||||
|
MS_EXCEPTION_IF_NULL(return_node);
|
||||||
|
return_node->set_abstract(abstract_tensor);
|
||||||
|
outputFuncGraph->set_return(return_node);
|
||||||
|
MS_LOG(INFO) << "Construct funcgraph finined, all success!";
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool AnfImporterFromProtobuf::ImportNodesForGraph(const FuncGraphPtr &outputFuncGraph,
|
||||||
|
const onnx::GraphProto &importProto) {
|
||||||
|
MS_EXCEPTION_IF_NULL(outputFuncGraph);
|
||||||
|
MS_LOG(INFO) << "The CNdoe size : " << importProto.node_size();
|
||||||
|
CNodePtr cnode_ptr = nullptr;
|
||||||
|
for (int i = 0; i < importProto.node_size(); ++i) {
|
||||||
|
const onnx::NodeProto &node_proto = importProto.node(i);
|
||||||
|
const std::string &node_type = node_proto.op_type();
|
||||||
|
if (node_type == kConstantValueNode) {
|
||||||
|
if (!BuildValueNodeForFuncGraph(node_proto)) {
|
||||||
|
MS_LOG(ERROR) << "Build ValueNode for funcgraph fail at index: : " << i;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
cnode_ptr = BuildCNodeForFuncGraph(outputFuncGraph, node_proto);
|
||||||
|
if (cnode_ptr == nullptr) {
|
||||||
|
MS_LOG(ERROR) << "Build CNode for funcgraph fail at index: : " << i;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
BuildReturnForFuncGraph(outputFuncGraph, importProto, cnode_ptr);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool AnfImporterFromProtobuf::BuildFuncGraph(const FuncGraphPtr &outputFuncGraph, const onnx::GraphProto &importProto) {
|
||||||
|
MS_EXCEPTION_IF_NULL(outputFuncGraph);
|
||||||
|
GraphDebugInfoPtr debug_info_ptr = outputFuncGraph->debug_info();
|
||||||
|
MS_EXCEPTION_IF_NULL(debug_info_ptr);
|
||||||
|
if (importProto.has_name()) {
|
||||||
|
debug_info_ptr->set_name(importProto.name());
|
||||||
|
} else {
|
||||||
|
MS_LOG(ERROR) << "FuncGraph under converting has not name!";
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!ImportParametersForGraph(outputFuncGraph, importProto)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return ImportNodesForGraph(outputFuncGraph, importProto);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool AnfImporterFromProtobuf::ParseModelConfigureInfo(const onnx::ModelProto &model_proto) {
|
||||||
|
if (!model_proto.has_producer_name()) {
|
||||||
|
MS_LOG(ERROR) << "Parse model producer name from pb file failed!";
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
producer_name_ = model_proto.producer_name();
|
||||||
|
|
||||||
|
if (!model_proto.has_model_version()) {
|
||||||
|
MS_LOG(ERROR) << "Parse model producer version from pb file failed!";
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
model_version_ = model_proto.model_version();
|
||||||
|
|
||||||
|
if (!model_proto.has_ir_version()) {
|
||||||
|
MS_LOG(ERROR) << "Parse model version from pb file failed!";
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
ir_version_ = model_proto.ir_version();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
int AnfImporterFromProtobuf::Import() {
|
||||||
|
FuncGraphPtr dstGraph = std::make_shared<mindspore::FuncGraph>();
|
||||||
|
MS_EXCEPTION_IF_NULL(dstGraph);
|
||||||
|
if (!ParseModelConfigureInfo(*onnx_model_)) {
|
||||||
|
MS_LOG(ERROR) << "Parse configuration info for pb file failed!";
|
||||||
|
}
|
||||||
|
const onnx::GraphProto &graphBuild = onnx_model_->graph();
|
||||||
|
if (!BuildFuncGraph(dstGraph, graphBuild)) {
|
||||||
|
MS_LOG(ERROR) << "Build funcgraph failed!";
|
||||||
|
return RET_ERROR;
|
||||||
|
}
|
||||||
|
func_graph_ = dstGraph;
|
||||||
|
MS_LOG(INFO) << "Parse pb to build FuncGraph Success!";
|
||||||
|
return RET_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
onnx::ModelProto *AnfImporterFromProtobuf::ReadOnnxFromBinary(const std::string &model_path) {
|
||||||
|
std::unique_ptr<char> onnx_file(new(std::nothrow) char[PATH_MAX]{0});
|
||||||
|
if (realpath(model_path.c_str(), onnx_file.get()) == nullptr) {
|
||||||
|
MS_LOG(ERROR) << "open file failed.";
|
||||||
|
return nullptr;
|
||||||
|
}
|
||||||
|
int fd = open(onnx_file.get(), O_RDONLY);
|
||||||
|
google::protobuf::io::FileInputStream input(fd);
|
||||||
|
google::protobuf::io::CodedInputStream code_input(&input);
|
||||||
|
code_input.SetTotalBytesLimit(INT_MAX, 536870912);
|
||||||
|
auto onnx_model = new onnx::ModelProto;
|
||||||
|
bool ret = onnx_model->ParseFromCodedStream(&code_input);
|
||||||
|
if (!ret) {
|
||||||
|
MS_LOG(ERROR) << "load onnx file failed";
|
||||||
|
delete onnx_model;
|
||||||
|
return nullptr;
|
||||||
|
}
|
||||||
|
(void) close(fd);
|
||||||
|
MS_LOG(INFO) << "enter ReadProtoFromBinary success!" << std::endl;
|
||||||
|
return onnx_model;
|
||||||
|
}
|
||||||
|
|
||||||
|
FuncGraphPtr AnfImporterFromProtobuf::GetResult() { return this->func_graph_; }
|
||||||
|
} // namespace mindspore::lite
|
||||||
|
|
|
@ -0,0 +1,92 @@
|
||||||
|
/**
|
||||||
|
* Copyright 2020 Huawei Technologies Co., Ltd
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef MINDSPORE_LITE_SRC_ANF_IMPORTER_IMPORTER_FROM_PROTOBUF_H_
|
||||||
|
#define MINDSPORE_LITE_SRC_ANF_IMPORTER_IMPORTER_FROM_PROTOBUF_H_
|
||||||
|
|
||||||
|
#include <string>
|
||||||
|
#include <map>
|
||||||
|
#include <unordered_map>
|
||||||
|
#include <utility>
|
||||||
|
|
||||||
|
#include "tools/converter/parser/onnx/onnx.pb.h"
|
||||||
|
#include "src/common/anf_importer/anf_importer.h"
|
||||||
|
#include "abstract/abstract_value.h"
|
||||||
|
|
||||||
|
namespace mindspore::lite {
|
||||||
|
class AnfImporterFromProtobuf : public AnfImporter {
|
||||||
|
public:
|
||||||
|
explicit AnfImporterFromProtobuf(onnx::ModelProto *onnx_model, FuncGraphPtr func_graph)
|
||||||
|
: onnx_model_(onnx_model), func_graph_(std::move(func_graph)) {}
|
||||||
|
|
||||||
|
~AnfImporterFromProtobuf() override = default;
|
||||||
|
|
||||||
|
static onnx::ModelProto *ReadOnnxFromBinary(const std::string &model_path);
|
||||||
|
|
||||||
|
FuncGraphPtr GetResult() override;
|
||||||
|
|
||||||
|
int Import() override;
|
||||||
|
|
||||||
|
private:
|
||||||
|
void ConverterConstTensor() override {};
|
||||||
|
int ConverterCNode() override {};
|
||||||
|
void AddReturnCNode() override {};
|
||||||
|
bool ParseModelConfigureInfo(const onnx::ModelProto &model_proto);
|
||||||
|
bool BuildFuncGraph(const FuncGraphPtr &outputFuncGraph,
|
||||||
|
const onnx::GraphProto &importProto);
|
||||||
|
bool ImportParametersForGraph(const FuncGraphPtr &outputFuncGraph,
|
||||||
|
const onnx::GraphProto &importProto);
|
||||||
|
bool ImportNodesForGraph(const FuncGraphPtr &outputFuncGraph,
|
||||||
|
const onnx::GraphProto &importProto);
|
||||||
|
bool BuildParameterForFuncGraph(const ParameterPtr &node,
|
||||||
|
const onnx::ValueInfoProto &value_proto);
|
||||||
|
CNodePtr BuildCNodeForFuncGraph(const FuncGraphPtr &outputFuncGraph,
|
||||||
|
const onnx::NodeProto &node_proto);
|
||||||
|
bool BuildReturnForFuncGraph(const FuncGraphPtr &outputFuncGraph,
|
||||||
|
const onnx::GraphProto &importProto,
|
||||||
|
const CNodePtr &cnode_ptr);
|
||||||
|
bool GetAttrValueForCNode(const PrimitivePtr &prim,
|
||||||
|
const onnx::AttributeProto &attr_proto);
|
||||||
|
bool ObtainCNodeAttrInTypeForm(const PrimitivePtr &prim,
|
||||||
|
const std::string &attr_name,
|
||||||
|
const onnx::TensorProto &attr_tensor);
|
||||||
|
ValuePtr ObtainCNodeAttrInScalarForm(const onnx::TensorProto &attr_tensor);
|
||||||
|
bool ObtainCNodeAttrInTensorForm(const PrimitivePtr &prim,
|
||||||
|
const std::string &attr_name,
|
||||||
|
const onnx::TensorProto &attr_tensor);
|
||||||
|
bool BuildValueNodeForFuncGraph(const onnx::NodeProto &node_proto);
|
||||||
|
bool ObtainValueNodeInTensorForm(const std::string &value_node_name,
|
||||||
|
const onnx::TensorProto &attr_tensor);
|
||||||
|
bool GetAttrValueForValueNode(const std::string &value_node_name,
|
||||||
|
const onnx::AttributeProto &attr_tensor);
|
||||||
|
bool ObtainValueNodeInTypeForm(const std::string &value_node_name,
|
||||||
|
const onnx::TensorProto &attr_tensor);
|
||||||
|
std::unordered_map<std::string, abstract::AbstractTensorPtr>
|
||||||
|
GetAbstractForCNode(const onnx::AttributeProto &attr_proto);
|
||||||
|
|
||||||
|
private:
|
||||||
|
std::string producer_name_;
|
||||||
|
int model_version_{};
|
||||||
|
int ir_version_{};
|
||||||
|
std::unordered_map<std::string, AnfNodePtr> anfnode_build_map_;
|
||||||
|
std::map<std::string, onnx::TensorProto> default_para_map_;
|
||||||
|
onnx::ModelProto *onnx_model_;
|
||||||
|
FuncGraphPtr func_graph_;
|
||||||
|
};
|
||||||
|
} // namespace mindspore::lite
|
||||||
|
|
||||||
|
#endif // MINDSPORE_LITE_SRC_ANF_IMPORTER_IMPORTER_FROM_PROTOBUF_H_
|
||||||
|
|
|
@ -0,0 +1,64 @@
|
||||||
|
/**
|
||||||
|
* Copyright 2020 Huawei Technologies Co., Ltd
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef MINDSPORE_LITE_COMMON_COMMON_H_
|
||||||
|
#define MINDSPORE_LITE_COMMON_COMMON_H_
|
||||||
|
|
||||||
|
#include <string>
|
||||||
|
#include "schema/model_generated.h"
|
||||||
|
|
||||||
|
namespace mindspore {
|
||||||
|
namespace lite {
|
||||||
|
enum NCHW_SHAPE { NCHW_N = 0, NCHW_C = 1, NCHW_H = 2, NCHW_W = 3 };
|
||||||
|
enum NHWC_SHAPE { NHWC_N = 0, NHWC_H = 1, NHWC_W = 2, NHWC_C = 3 };
|
||||||
|
enum HWCK_SHAPE { HWCK_H = 0, HWCK_W = 1, HWCK_C = 2, HWCK_K = 3 };
|
||||||
|
enum HWKC_SHAPE { HWKC_H = 0, HWKC_W = 1, HWKC_K = 2, HWKC_C = 3 };
|
||||||
|
enum KCHW_SHAPE { KCHW_K = 0, KCHW_C = 1, KCHW_H = 2, KCHW_W = 3 };
|
||||||
|
enum CKHW_SHAPE { CKHW_C = 0, CKHW_K = 1, CKHW_H = 2, CKHW_W = 3 };
|
||||||
|
enum CHWK_SHAPE { CHWK_C = 0, CHWK_H = 1, CHWK_W = 2, CHWK_K = 3 };
|
||||||
|
enum KHWC_SHAPE { KHWC_K = 0, KHWC_H = 1, KHWC_W = 2, KHWC_C = 3 };
|
||||||
|
enum CHW_SHAPE { CHW_C = 0, CHW_H = 1, CHW_W = 2 };
|
||||||
|
enum HWC_SHAPE { HWC_H = 0, HWC_W = 1, HWC_C = 2 };
|
||||||
|
static constexpr int kNCHWDimNumber = 4;
|
||||||
|
static constexpr int kNHWCDimNumber = 4;
|
||||||
|
|
||||||
|
static constexpr int TENSOR_MAX_REFCOUNT = 999;
|
||||||
|
|
||||||
|
static const char *DELIM_COLON = ":";
|
||||||
|
static const char *DELIM_COMMA = ",";
|
||||||
|
static const char *DELIM_SLASH = "/";
|
||||||
|
static const char *DELIM_DOUBLE_BACKSLASH = "\\";
|
||||||
|
|
||||||
|
// quantization relative
|
||||||
|
static const char QUANTIZED_UINT8[] = "QUANTIZED_UINT8";
|
||||||
|
static const char QUANTIZED_INT8[] = "QUANTIZED_INT8";
|
||||||
|
static const char QUANTIZED_INT16[] = "QUANTIZED_INT16";
|
||||||
|
static const char QUANTIZED_UINT16[] = "QUANTIZED_UINT16";
|
||||||
|
static const char QUANTIZED_FLOAT16[] = "FLOAT16";
|
||||||
|
static const char QUANTIZED_FLOAT32[] = "FLOAT32";
|
||||||
|
static const char QUANTIZATION_TYPE_DYNAMIC[] = "DYNAMIC";
|
||||||
|
static const char QUANTIZATION_TYPE_STATIC[] = "STATIC";
|
||||||
|
static const char CALIB_NORM[] = "NORM";
|
||||||
|
|
||||||
|
// dims
|
||||||
|
static const int32_t DIM_DEFAULT_SIZE = 4;
|
||||||
|
|
||||||
|
static const schema::Format DEFAULT_FORMAT = schema::Format_NCHW;
|
||||||
|
} // namespace lite
|
||||||
|
} // namespace mindspore
|
||||||
|
|
||||||
|
#endif // MINDSPORE_LITE_COMMON_COMMON_H_
|
||||||
|
|
|
@ -0,0 +1,168 @@
|
||||||
|
/**
|
||||||
|
* Copyright 2020 Huawei Technologies Co., Ltd
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <fcntl.h>
|
||||||
|
#include <climits>
|
||||||
|
#include <cmath>
|
||||||
|
#include "src/common/file_utils.h"
|
||||||
|
#include "securec/include/securec.h"
|
||||||
|
|
||||||
|
namespace mindspore {
|
||||||
|
namespace lite {
|
||||||
|
#define MAX_FILENAME_LEN 1024
|
||||||
|
char *ReadFile(const char *file, size_t *size) {
|
||||||
|
if (file == nullptr) {
|
||||||
|
MS_LOG(ERROR) << "file is nullptr";
|
||||||
|
return nullptr;
|
||||||
|
}
|
||||||
|
MS_ASSERT(size != nullptr);
|
||||||
|
std::string realPath = RealPath(file);
|
||||||
|
std::ifstream ifs(realPath);
|
||||||
|
if (!ifs.good()) {
|
||||||
|
MS_LOG(ERROR) << "file: " << realPath << " is not exist";
|
||||||
|
return nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!ifs.is_open()) {
|
||||||
|
MS_LOG(ERROR) << "file: " << realPath << " open failed";
|
||||||
|
return nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
|
ifs.seekg(0, std::ios::end);
|
||||||
|
*size = ifs.tellg();
|
||||||
|
std::unique_ptr<char> buf(new (std::nothrow) char[*size]);
|
||||||
|
if (buf == nullptr) {
|
||||||
|
MS_LOG(ERROR) << "malloc buf failed, file: " << realPath;
|
||||||
|
ifs.close();
|
||||||
|
return nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
|
ifs.seekg(0, std::ios::beg);
|
||||||
|
ifs.read(buf.get(), *size);
|
||||||
|
ifs.close();
|
||||||
|
|
||||||
|
return buf.release();
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string RealPath(const char *path) {
|
||||||
|
if (path == nullptr) {
|
||||||
|
MS_LOG(ERROR) << "path is nullptr";
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
if ((strlen(path)) >= PATH_MAX) {
|
||||||
|
MS_LOG(ERROR) << "path is too long";
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
std::shared_ptr<char> resolvedPath(new (std::nothrow) char[PATH_MAX]{0});
|
||||||
|
if (resolvedPath == nullptr) {
|
||||||
|
MS_LOG(ERROR) << "new resolvedPath failed";
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
std::string realPath = realpath(path, resolvedPath.get());
|
||||||
|
if (realPath.empty()) {
|
||||||
|
MS_LOG(ERROR) << "Proto file path is not valid";
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
std::string res = resolvedPath.get();
|
||||||
|
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
|
||||||
|
int WriteToBin(const std::string &file_path, void *data, size_t size) {
|
||||||
|
std::ofstream out_file;
|
||||||
|
|
||||||
|
out_file.open(file_path.c_str(), std::ios::binary);
|
||||||
|
if (!out_file.good()) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!out_file.is_open()) {
|
||||||
|
out_file.close();
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
out_file.write(reinterpret_cast<char *>(data), size);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int CompareOutputData(float *output_data, float *correct_data, int data_size) {
|
||||||
|
float error = 0;
|
||||||
|
for (size_t i = 0; i < data_size; i++) {
|
||||||
|
float abs = fabs(output_data[i] - correct_data[i]);
|
||||||
|
if (abs > 0.00001) {
|
||||||
|
error += abs;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
error /= data_size;
|
||||||
|
if (error > 0.0001) {
|
||||||
|
printf("has accuracy error!\n");
|
||||||
|
printf("%f\n", error);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
void CompareOutput(float *output_data, std::string file_path) {
|
||||||
|
size_t output_size;
|
||||||
|
auto ground_truth = reinterpret_cast<float *>(mindspore::lite::ReadFile(file_path.c_str(), &output_size));
|
||||||
|
size_t output_num = output_size / sizeof(float);
|
||||||
|
printf("output num : %zu\n", output_num);
|
||||||
|
CompareOutputData(output_data, ground_truth, output_num);
|
||||||
|
}
|
||||||
|
|
||||||
|
// std::string GetAndroidPackageName() {
|
||||||
|
// static std::string packageName;
|
||||||
|
//
|
||||||
|
// if (!packageName.empty()) {
|
||||||
|
// return packageName;
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// char cmdline[MAX_FILENAME_LEN] = {0};
|
||||||
|
// int fd = open("/proc/self/cmdline", O_RDONLY);
|
||||||
|
//
|
||||||
|
// if (fd >= 0) {
|
||||||
|
// char ch;
|
||||||
|
// int i = 0;
|
||||||
|
// while (read(fd, &ch, sizeof(ch)) > 0 && !isspace(ch)) {
|
||||||
|
// if (':' == ch) {
|
||||||
|
// break;
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// if (('/' == ch) || ('\\' == ch)) {
|
||||||
|
// (void)memset(cmdline, 0, sizeof(cmdline));
|
||||||
|
// i = 0;
|
||||||
|
// } else {
|
||||||
|
// cmdline[i] = ch;
|
||||||
|
// i++;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// close(fd);
|
||||||
|
// }
|
||||||
|
// packageName = std::string(cmdline);
|
||||||
|
// return packageName;
|
||||||
|
//}
|
||||||
|
|
||||||
|
// std::string GetAndroidPackagePath() {
|
||||||
|
// std::string packageName = GetAndroidPackageName();
|
||||||
|
// if (packageName.empty()) {
|
||||||
|
// return "./";
|
||||||
|
// }
|
||||||
|
// return "/data/data/" + packageName + '/';
|
||||||
|
//}
|
||||||
|
|
||||||
|
} // namespace lite
|
||||||
|
} // namespace mindspore
|
||||||
|
|
|
@ -0,0 +1,58 @@
|
||||||
|
/**
|
||||||
|
* Copyright 2020 Huawei Technologies Co., Ltd
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef MINDSPORE_LITE_COMMON_FILE_UTILS_H_
|
||||||
|
#define MINDSPORE_LITE_COMMON_FILE_UTILS_H_
|
||||||
|
|
||||||
|
#include <cstdio>
|
||||||
|
#include <cstdlib>
|
||||||
|
#include <ctime>
|
||||||
|
#include <string>
|
||||||
|
#include <iostream>
|
||||||
|
#include <memory>
|
||||||
|
#include <fstream>
|
||||||
|
#include "src/common/utils.h"
|
||||||
|
#include "utils/log_adapter.h"
|
||||||
|
|
||||||
|
namespace mindspore {
|
||||||
|
namespace lite {
|
||||||
|
char *ReadFile(const char *file, size_t *size);
|
||||||
|
|
||||||
|
std::string RealPath(const char *path);
|
||||||
|
|
||||||
|
template <typename T>
|
||||||
|
void WriteToTxt(const std::string& file_path, void *data, size_t element_size) {
|
||||||
|
std::ofstream out_file;
|
||||||
|
out_file.open(file_path, std::ios::out);
|
||||||
|
auto real_data = reinterpret_cast<T *>(data);
|
||||||
|
for (size_t i = 0; i < element_size; i++) {
|
||||||
|
out_file << real_data[i] << " ";
|
||||||
|
}
|
||||||
|
out_file.close();
|
||||||
|
}
|
||||||
|
|
||||||
|
int WriteToBin(const std::string& file_path, void *data, size_t size);
|
||||||
|
|
||||||
|
int CompareOutputData(float *output_data, float *correct_data, int data_size);
|
||||||
|
void CompareOutput(float *output_data, std::string file_path);
|
||||||
|
|
||||||
|
std::string GetAndroidPackageName();
|
||||||
|
std::string GetAndroidPackagePath();
|
||||||
|
} // namespace lite
|
||||||
|
} // namespace mindspore
|
||||||
|
|
||||||
|
#endif // MINDSPORE_LITE_COMMON_FILE_UTILS_H_
|
||||||
|
|
|
@ -0,0 +1,77 @@
|
||||||
|
/**
|
||||||
|
* Copyright 2020 Huawei Technologies Co., Ltd
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <fstream>
|
||||||
|
#include <sstream>
|
||||||
|
#include <utility>
|
||||||
|
#include "src/common/graph_util.h"
|
||||||
|
#include "src/common/utils.h"
|
||||||
|
#include "utils/log_adapter.h"
|
||||||
|
#include "include/errorcode.h"
|
||||||
|
|
||||||
|
namespace mindspore {
|
||||||
|
namespace lite {
|
||||||
|
std::vector<size_t> GetGraphInputNodes(const schema::MetaGraph *meta_graph) {
|
||||||
|
MS_ASSERT(nullptr != meta_graph);
|
||||||
|
std::vector<size_t> ret;
|
||||||
|
for (size_t i = 0; i < meta_graph->inputIndex()->size(); i++) {
|
||||||
|
auto input_index = meta_graph->inputIndex()->GetAs<uint32_t>(i);
|
||||||
|
for (size_t j = 0; j < meta_graph->nodes()->size(); j++) {
|
||||||
|
auto *cNode = meta_graph->nodes()->GetAs<schema::CNode>(j);
|
||||||
|
MS_ASSERT(nullptr != cNode);
|
||||||
|
for (size_t k = 0; k < cNode->inputIndex()->size(); k++) {
|
||||||
|
if (cNode->inputIndex()->GetAs<uint32_t>(k) == input_index) {
|
||||||
|
ret.emplace_back(j);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return std::move(ret);
|
||||||
|
}
|
||||||
|
|
||||||
|
std::vector<size_t> GetGraphOutputNodes(const schema::MetaGraph *meta_graph) {
|
||||||
|
MS_ASSERT(nullptr != meta_graph);
|
||||||
|
std::vector<size_t> ret;
|
||||||
|
for (size_t i = 0; i < meta_graph->outputIndex()->size(); i++) {
|
||||||
|
auto output_index = meta_graph->outputIndex()->GetAs<uint32_t>(i);
|
||||||
|
for (size_t j = 0; j < meta_graph->nodes()->size(); j++) {
|
||||||
|
auto *cNode = meta_graph->nodes()->GetAs<schema::CNode>(j);
|
||||||
|
MS_ASSERT(nullptr != cNode);
|
||||||
|
for (size_t k = 0; k < cNode->outputIndex()->size(); k++) {
|
||||||
|
if (cNode->outputIndex()->GetAs<uint32_t>(k) == output_index) {
|
||||||
|
ret.emplace_back(j);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return std::move(ret);
|
||||||
|
}
|
||||||
|
|
||||||
|
// NODE_ID OpNode::ID() { return id; }
|
||||||
|
//
|
||||||
|
// void OpNode::AddInEdge(NODE_ID nodeId) { inEdges.insert(nodeId); }
|
||||||
|
//
|
||||||
|
// void OpNode::AddOutEdge(NODE_ID nodeId) { outEdges.insert(nodeId); }
|
||||||
|
//
|
||||||
|
// std::unordered_set<NODE_ID> OpNode::GetAllInEdges() { return inEdges; }
|
||||||
|
//
|
||||||
|
// std::unordered_set<NODE_ID> OpNode::GetAllOutEdges() { return outEdges; }
|
||||||
|
|
||||||
|
} // namespace lite
|
||||||
|
} // namespace mindspore
|
||||||
|
|
|
@ -0,0 +1,250 @@
|
||||||
|
/**
|
||||||
|
* Copyright 2020 Huawei Technologies Co., Ltd
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef MINDSPORE_LITE_COMMON_GRAPH_UTIL_H_
|
||||||
|
#define MINDSPORE_LITE_COMMON_GRAPH_UTIL_H_
|
||||||
|
|
||||||
|
#include <string>
|
||||||
|
#include <unordered_map>
|
||||||
|
#include <unordered_set>
|
||||||
|
#include <vector>
|
||||||
|
#include <memory>
|
||||||
|
#include "schema/model_generated.h"
|
||||||
|
#include "utils//log_adapter.h"
|
||||||
|
#include "include/errorcode.h"
|
||||||
|
|
||||||
|
namespace mindspore {
|
||||||
|
namespace lite {
|
||||||
|
using NODE_ID = std::string;
|
||||||
|
|
||||||
|
std::vector<size_t> GetGraphInputNodes(const schema::MetaGraph *meta_graph);
|
||||||
|
|
||||||
|
std::vector<size_t> GetGraphOutputNodes(const schema::MetaGraph *meta_graph);
|
||||||
|
|
||||||
|
class OpNode {
|
||||||
|
public:
|
||||||
|
explicit OpNode(const NODE_ID &nodeId) : id(nodeId) {}
|
||||||
|
NODE_ID ID() { return id; };
|
||||||
|
void AddInEdge(NODE_ID nodeId) { inEdges.insert(nodeId); }
|
||||||
|
void AddOutEdge(NODE_ID nodeId) { outEdges.insert(nodeId); }
|
||||||
|
std::unordered_set<NODE_ID> GetAllInEdges() { return inEdges; }
|
||||||
|
std::unordered_set<NODE_ID> GetAllOutEdges() { return outEdges; }
|
||||||
|
|
||||||
|
protected:
|
||||||
|
NODE_ID id;
|
||||||
|
std::unordered_set<NODE_ID> inEdges;
|
||||||
|
std::unordered_set<NODE_ID> outEdges;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
template <typename NODE_T>
|
||||||
|
class OpGraph {
|
||||||
|
public:
|
||||||
|
OpGraph() {}
|
||||||
|
|
||||||
|
~OpGraph();
|
||||||
|
|
||||||
|
int Build(const schema::MetaGraph *subGraphDef);
|
||||||
|
NODE_T *GetNode(NODE_ID nodeId);
|
||||||
|
NODE_T *AddNode(NODE_ID nodeId);
|
||||||
|
std::unordered_set<NODE_T *> GetInputNode();
|
||||||
|
std::unordered_set<NODE_T *> GetOutputNode();
|
||||||
|
|
||||||
|
void AddNodes(std::vector<NODE_T *> addNodes);
|
||||||
|
void DeleteNodes(std::vector<NODE_T *> deleteNodes);
|
||||||
|
|
||||||
|
void AddEdge(NODE_ID nodeId);
|
||||||
|
int AddEdge(NODE_ID srcId, NODE_ID dstId);
|
||||||
|
int AddEdge(const schema::CNode *srcNodeDef, const flatbuffers::Vector<flatbuffers::Offset<schema::CNode>> *opDefs);
|
||||||
|
std::unordered_map<NODE_T *, std::unordered_set<NODE_T *>> GetDepends();
|
||||||
|
|
||||||
|
protected:
|
||||||
|
std::unordered_map<NODE_ID, NODE_T *> nodes;
|
||||||
|
};
|
||||||
|
|
||||||
|
template <typename NODE_T>
|
||||||
|
int OpGraph<NODE_T>::Build(const schema::MetaGraph *subGraphDef) {
|
||||||
|
if (subGraphDef == nullptr) {
|
||||||
|
// MS_LOGE("subGraphDef is nullptr");
|
||||||
|
return RET_ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
auto opDefs = subGraphDef->nodes();
|
||||||
|
|
||||||
|
uint32_t opCount = opDefs->size();
|
||||||
|
for (uint32_t i = 0; i < opCount; i++) {
|
||||||
|
auto opDef = opDefs->GetAs<schema::CNode>(i);
|
||||||
|
auto node = AddNode(std::string(opDef->name()->c_str()));
|
||||||
|
if (node == nullptr) {
|
||||||
|
// MS_LOGE("add srcNode failed,name %s", opDef->name()->c_str());
|
||||||
|
return RET_ERROR;
|
||||||
|
}
|
||||||
|
auto ret = AddEdge(opDef, opDefs);
|
||||||
|
if (ret != RET_OK) {
|
||||||
|
// MS_LOGE("%s add edge failed. ret:%d", opDef->name()->c_str(), ret);
|
||||||
|
return RET_ERROR;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return RET_OK;
|
||||||
|
}
|
||||||
|
template <typename NODE_T>
|
||||||
|
int OpGraph<NODE_T>::AddEdge(const schema::CNode *srcNodeDef,
|
||||||
|
const flatbuffers::Vector<flatbuffers::Offset<schema::CNode>> *nodeDefs) {
|
||||||
|
MS_ASSERT(srcNodeDef != nullptr);
|
||||||
|
MS_ASSERT(nodeDefs != nullptr);
|
||||||
|
NODE_ID srcId = std::string(srcNodeDef->name()->c_str());
|
||||||
|
uint32_t opCount = nodeDefs->size();
|
||||||
|
// for single op condition
|
||||||
|
AddNode(srcId);
|
||||||
|
for (auto index : *(srcNodeDef->outputIndex())) {
|
||||||
|
for (uint32_t i = 0; i < opCount; i++) {
|
||||||
|
auto dstNodeDef = nodeDefs->GetAs<schema::CNode>(i);
|
||||||
|
bool find = false;
|
||||||
|
auto inputIndex = dstNodeDef->inputIndex();
|
||||||
|
if (std::any_of(inputIndex->begin(), inputIndex->end(), [&index](int i) { return i == index; })) {
|
||||||
|
find = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!find) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
NODE_ID dstId = std::string(dstNodeDef->name()->c_str());
|
||||||
|
auto ret = AddEdge(srcId, dstId);
|
||||||
|
if (ret != RET_OK) {
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return RET_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
template <typename NODE_T>
|
||||||
|
int OpGraph<NODE_T>::AddEdge(NODE_ID srcId, NODE_ID dstId) {
|
||||||
|
auto srcNode = AddNode(srcId);
|
||||||
|
if (srcNode == nullptr) {
|
||||||
|
// MS_LOGE("add srcNode failed");
|
||||||
|
return RET_ERROR;
|
||||||
|
}
|
||||||
|
auto dstNode = AddNode(dstId);
|
||||||
|
if (dstNode == nullptr) {
|
||||||
|
// MS_LOGE("add dstNode failed");
|
||||||
|
return RET_ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
|
srcNode->AddOutEdge(dstNode);
|
||||||
|
|
||||||
|
dstNode->AddInEdge(srcNode);
|
||||||
|
return RET_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
template <typename NODE_T>
|
||||||
|
NODE_T *OpGraph<NODE_T>::GetNode(NODE_ID nodeId) {
|
||||||
|
auto node = nodes.find(nodeId);
|
||||||
|
if (node == nodes.end()) {
|
||||||
|
return nullptr;
|
||||||
|
}
|
||||||
|
return node->second;
|
||||||
|
}
|
||||||
|
|
||||||
|
template <typename NODE_T>
|
||||||
|
NODE_T *OpGraph<NODE_T>::AddNode(NODE_ID nodeId) {
|
||||||
|
auto node = GetNode(nodeId);
|
||||||
|
if (node != nullptr) {
|
||||||
|
return node;
|
||||||
|
}
|
||||||
|
node = new (std::nothrow) NODE_T(nodeId);
|
||||||
|
if (node == nullptr) {
|
||||||
|
// MS_LOGE("new node failed");
|
||||||
|
return nullptr;
|
||||||
|
}
|
||||||
|
nodes[nodeId] = node;
|
||||||
|
return node;
|
||||||
|
}
|
||||||
|
|
||||||
|
template <typename NODE_T>
|
||||||
|
void OpGraph<NODE_T>::AddNodes(std::vector<NODE_T *> addNodes) {
|
||||||
|
for (auto node : addNodes) {
|
||||||
|
if (node == nullptr) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
nodes[node->ID()] = node;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
template <typename NODE_T>
|
||||||
|
void OpGraph<NODE_T>::DeleteNodes(std::vector<NODE_T *> deleteNodes) {
|
||||||
|
for (auto deletenode : deleteNodes) {
|
||||||
|
if (deletenode == nullptr) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
auto node = GetNode(deletenode->ID());
|
||||||
|
if (node == nullptr) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
nodes.erase(deletenode->ID());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
template <typename NODE_T>
|
||||||
|
std::unordered_set<NODE_T *> OpGraph<NODE_T>::GetInputNode() {
|
||||||
|
std::unordered_set<NODE_T *> inputNodes;
|
||||||
|
for (const auto &iter : nodes) {
|
||||||
|
auto node = iter.second;
|
||||||
|
if (node->GetAllInEdges().empty()) {
|
||||||
|
inputNodes.insert(node);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return inputNodes;
|
||||||
|
}
|
||||||
|
|
||||||
|
template <typename NODE_T>
|
||||||
|
std::unordered_set<NODE_T *> OpGraph<NODE_T>::GetOutputNode() {
|
||||||
|
std::unordered_set<NODE_T *> outputNodes;
|
||||||
|
for (const auto &iter : nodes) {
|
||||||
|
auto node = iter.second;
|
||||||
|
if (node->GetAllOutEdges().empty()) {
|
||||||
|
outputNodes.insert(node);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return outputNodes;
|
||||||
|
}
|
||||||
|
|
||||||
|
template <typename NODE_T>
|
||||||
|
std::unordered_map<NODE_T *, std::unordered_set<NODE_T *>> OpGraph<NODE_T>::GetDepends() {
|
||||||
|
std::unordered_map<NODE_T *, std::unordered_set<NODE_T *>> depends;
|
||||||
|
for (auto nodeIter : nodes) {
|
||||||
|
depends[nodeIter.second] = nodeIter.second->GetAllInEdges();
|
||||||
|
}
|
||||||
|
return depends;
|
||||||
|
}
|
||||||
|
|
||||||
|
template <typename NODE_T>
|
||||||
|
OpGraph<NODE_T>::~OpGraph() {
|
||||||
|
for (auto iter : nodes) {
|
||||||
|
delete iter.second;
|
||||||
|
}
|
||||||
|
nodes.clear();
|
||||||
|
}
|
||||||
|
|
||||||
|
} // namespace lite
|
||||||
|
} // namespace mindspore
|
||||||
|
|
||||||
|
#endif // MINDSPORE_LITE_COMMON_GRAPH_UTIL_H_
|
||||||
|
|
|
@ -0,0 +1,151 @@
|
||||||
|
/**
|
||||||
|
* Copyright 2020 Huawei Technologies Co., Ltd
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "ir/graph_utils.h"
|
||||||
|
|
||||||
|
#include <unordered_map>
|
||||||
|
#include <unordered_set>
|
||||||
|
#include <utility>
|
||||||
|
#include <stack>
|
||||||
|
#include <vector>
|
||||||
|
#include <list>
|
||||||
|
#include <string>
|
||||||
|
#include <fstream>
|
||||||
|
|
||||||
|
#include "ir/visitor.h"
|
||||||
|
#include "ir/func_graph.h"
|
||||||
|
#include "debug/label.h"
|
||||||
|
#include "utils/log_adapter.h"
|
||||||
|
#include "src/common/utils.h"
|
||||||
|
|
||||||
|
namespace mindspore {
|
||||||
|
namespace {
|
||||||
|
class DeepFirstSearcher {
|
||||||
|
public:
|
||||||
|
explicit DeepFirstSearcher(const IncludeFunc &include) : include_(include) {}
|
||||||
|
~DeepFirstSearcher() = default;
|
||||||
|
|
||||||
|
std::vector<AnfNodePtr> Search(const AnfNodePtr &root) {
|
||||||
|
if (root == nullptr) {
|
||||||
|
return res_;
|
||||||
|
}
|
||||||
|
seen_ = NewSeenGeneration();
|
||||||
|
Visit(root);
|
||||||
|
return res_;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Visit(const AnfNodePtr &node) {
|
||||||
|
if (node == nullptr) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (node->seen_ == seen_) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
node->seen_ = seen_;
|
||||||
|
|
||||||
|
auto incl = include_(node);
|
||||||
|
if (incl == EXCLUDE) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (filter_ == nullptr || !filter_(node)) {
|
||||||
|
res_.push_back(node);
|
||||||
|
}
|
||||||
|
if (incl == FOLLOW) {
|
||||||
|
if (node->isa<CNode>()) {
|
||||||
|
auto cnode = node->cast<CNodePtr>();
|
||||||
|
auto &inputs = cnode->inputs();
|
||||||
|
for (auto iter = inputs.rbegin(); iter != inputs.rend(); ++iter) {
|
||||||
|
Visit(*iter);
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private:
|
||||||
|
size_t seen_{0};
|
||||||
|
IncludeFunc include_;
|
||||||
|
FilterFunc filter_;
|
||||||
|
std::vector<AnfNodePtr> res_{};
|
||||||
|
};
|
||||||
|
|
||||||
|
class DeepScopedGraphSearcher : public DeepFirstSearcher {
|
||||||
|
public:
|
||||||
|
explicit DeepScopedGraphSearcher(const IncludeFunc &include) : DeepFirstSearcher(include) {}
|
||||||
|
~DeepScopedGraphSearcher() = default;
|
||||||
|
|
||||||
|
void Visit(const CNodePtr &cnode) { return; }
|
||||||
|
|
||||||
|
void Visit(const ValueNodePtr &vnode) {
|
||||||
|
if (!IsValueNode<FuncGraph>(vnode)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
auto graph = GetValueNode<FuncGraphPtr>(vnode);
|
||||||
|
AnfNodePtr ret = graph->get_return();
|
||||||
|
if (ret != nullptr) {
|
||||||
|
DeepFirstSearcher::Visit(ret);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void Visit(const ParameterPtr ¶m) {
|
||||||
|
if (param->func_graph() == nullptr) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
AnfNodePtr ret = param->func_graph()->get_return();
|
||||||
|
if (ret != nullptr) {
|
||||||
|
DeepFirstSearcher::Visit(ret);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
class DeepUsedGraphSearcher : public DeepFirstSearcher {
|
||||||
|
public:
|
||||||
|
explicit DeepUsedGraphSearcher(const IncludeFunc &include) : DeepFirstSearcher(include) {}
|
||||||
|
~DeepUsedGraphSearcher() = default;
|
||||||
|
|
||||||
|
void Visit(const CNodePtr &cnode) { return; }
|
||||||
|
|
||||||
|
void Visit(const ValueNodePtr &vnode) { return; }
|
||||||
|
};
|
||||||
|
|
||||||
|
class DeepLinkedGraphSearcher : public DeepFirstSearcher {
|
||||||
|
public:
|
||||||
|
explicit DeepLinkedGraphSearcher(const IncludeFunc &include) : DeepFirstSearcher(include) {}
|
||||||
|
~DeepLinkedGraphSearcher() = default;
|
||||||
|
|
||||||
|
void Visit(const CNodePtr &cnode) { return; }
|
||||||
|
|
||||||
|
void Visit(const ValueNodePtr &) {}
|
||||||
|
};
|
||||||
|
} // namespace
|
||||||
|
|
||||||
|
std::vector<AnfNodePtr> DeepScopedGraphSearch(const AnfNodePtr &root, const IncludeFunc &include) {
|
||||||
|
return DeepScopedGraphSearcher(include).Search(root);
|
||||||
|
}
|
||||||
|
|
||||||
|
std::vector<AnfNodePtr> DeepUsedGraphSearch(const AnfNodePtr &root, const IncludeFunc &include) {
|
||||||
|
return DeepUsedGraphSearcher(include).Search(root);
|
||||||
|
}
|
||||||
|
|
||||||
|
std::vector<AnfNodePtr> DeepLinkedGraphSearch(const AnfNodePtr &root, const IncludeFunc &include) {
|
||||||
|
return DeepLinkedGraphSearcher(include).Search(root);
|
||||||
|
}
|
||||||
|
|
||||||
|
} // namespace mindspore
|
||||||
|
|
|
@ -0,0 +1,32 @@
|
||||||
|
/**
|
||||||
|
* Copyright 2020 Huawei Technologies Co., Ltd
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef MINDSPORE_LITE_COMMON_OP_UTILS_H_
|
||||||
|
#define MINDSPORE_LITE_COMMON_OP_UTILS_H_
|
||||||
|
|
||||||
|
#include <functional>
|
||||||
|
#include <string>
|
||||||
|
#include "schema/model_generated.h"
|
||||||
|
|
||||||
|
namespace mindspore {
|
||||||
|
namespace lite {
|
||||||
|
inline schema::PrimitiveType GetOpType(const schema::CNode &opDef) { return opDef.primitive()->value_type(); }
|
||||||
|
inline std::string GetOpTypeName(const schema::CNode &opDef) { return schema::EnumNamePrimitiveType(GetOpType(opDef)); }
|
||||||
|
} // namespace lite
|
||||||
|
} // namespace mindspore
|
||||||
|
|
||||||
|
#endif // MINDSPORE_LITE_COMMON_OP_UTILS_H_
|
||||||
|
|
|
@ -0,0 +1,262 @@
|
||||||
|
/**
|
||||||
|
* Copyright 2020 Huawei Technologies Co., Ltd
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifdef __ANDROID__
|
||||||
|
#include <sys/auxv.h>
|
||||||
|
#endif
|
||||||
|
#include "src/common/utils.h"
|
||||||
|
|
||||||
|
namespace mindspore {
|
||||||
|
namespace lite {
|
||||||
|
std::vector<std::string> StringSplit(std::string str, const std::string& pattern) {
|
||||||
|
std::vector<std::string> result;
|
||||||
|
if (str.empty()) {
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
std::string::size_type pos;
|
||||||
|
str += pattern;
|
||||||
|
auto size = str.size();
|
||||||
|
|
||||||
|
for (size_t i = 0; i < size; i++) {
|
||||||
|
pos = str.find(pattern, i);
|
||||||
|
if (pos < size) {
|
||||||
|
std::string s = str.substr(i, pos - i);
|
||||||
|
result.push_back(s);
|
||||||
|
i = pos + pattern.size() - 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
uint64_t GetTimeUs() {
|
||||||
|
struct timespec ts = {0, 0};
|
||||||
|
if (clock_gettime(CLOCK_MONOTONIC, &ts) != 0) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
// USECS_IN_SEC *NSECS_IN_USEC;
|
||||||
|
uint64_t retval = static_cast<uint64_t>((ts.tv_sec * USEC) + (ts.tv_nsec / MSEC));
|
||||||
|
return retval;
|
||||||
|
}
|
||||||
|
|
||||||
|
static const unsigned int FP32_BIT_SIZE = 32;
|
||||||
|
static const unsigned int FP32_EXPONENT_BIAS = 127;
|
||||||
|
static const unsigned int FP32_SIGNIFICAND = 23;
|
||||||
|
|
||||||
|
static const unsigned int FP32_EXPONENT_MAX = 255;
|
||||||
|
|
||||||
|
static const unsigned int FP16_BIT_SIZE = 16;
|
||||||
|
static const unsigned int FP16_EXPONENT_BIAS = 15;
|
||||||
|
static const unsigned int FP16_SIGNIFICAND = 10;
|
||||||
|
|
||||||
|
static const int FP16_EXPONENT_MAX = 30;
|
||||||
|
static const int FP16_EXPONENT_MIN = -10;
|
||||||
|
|
||||||
|
// fp16.c
|
||||||
|
float ShortToFloat32(int16_t srcValue) {
|
||||||
|
uint16_t expHalf16 = srcValue & 0x7C00;
|
||||||
|
int exp1 = static_cast<int>(expHalf16);
|
||||||
|
uint16_t mantissa16 = srcValue & 0x03FF;
|
||||||
|
int mantissa1 = static_cast<int>(mantissa16);
|
||||||
|
int sign = static_cast<int>(srcValue & 0x8000);
|
||||||
|
sign = sign << FP16_BIT_SIZE;
|
||||||
|
|
||||||
|
// nan or inf
|
||||||
|
if (expHalf16 == 0x7C00) {
|
||||||
|
// nan
|
||||||
|
if (mantissa16 > 0) {
|
||||||
|
int res = (0x7FC00000 | sign);
|
||||||
|
int *iRes = &res;
|
||||||
|
auto fres = static_cast<float>(*iRes);
|
||||||
|
return fres;
|
||||||
|
}
|
||||||
|
// inf
|
||||||
|
int res = (0x7F800000 | sign);
|
||||||
|
int *iRes = &res;
|
||||||
|
auto fres = static_cast<float>(*iRes);
|
||||||
|
return fres;
|
||||||
|
}
|
||||||
|
if (expHalf16 != 0) {
|
||||||
|
exp1 += ((FP32_EXPONENT_BIAS - FP16_EXPONENT_BIAS) << FP16_SIGNIFICAND); // exponents converted to float32 bias
|
||||||
|
int res = (exp1 | mantissa1);
|
||||||
|
res = res << (FP32_SIGNIFICAND - FP16_SIGNIFICAND);
|
||||||
|
res = (res | sign);
|
||||||
|
int *iRes = &res;
|
||||||
|
auto fres = static_cast<float>(*iRes);
|
||||||
|
return fres;
|
||||||
|
}
|
||||||
|
|
||||||
|
int xmm1 = exp1 > (1 << FP16_SIGNIFICAND) ? exp1 : (1 << FP16_SIGNIFICAND);
|
||||||
|
xmm1 = (xmm1 << (FP32_SIGNIFICAND - FP16_SIGNIFICAND));
|
||||||
|
xmm1 += ((FP32_EXPONENT_BIAS - FP16_EXPONENT_BIAS - FP16_SIGNIFICAND)
|
||||||
|
<< FP32_SIGNIFICAND); // add the bias difference to xmm1
|
||||||
|
xmm1 = xmm1 | sign; // Combine with the sign mask
|
||||||
|
|
||||||
|
auto res = static_cast<float>(mantissa1); // Convert mantissa to float
|
||||||
|
int *ixmm1 = nullptr;
|
||||||
|
ixmm1 = &xmm1;
|
||||||
|
res *= static_cast<float>(*ixmm1);
|
||||||
|
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
|
||||||
|
// __gnu_f2h_ieee
|
||||||
|
int16_t Float32ToShort(float srcValue) {
|
||||||
|
float *psrcValue = nullptr;
|
||||||
|
psrcValue = &srcValue;
|
||||||
|
auto srcValueBit = static_cast<unsigned int>(*psrcValue);
|
||||||
|
int sign = srcValueBit >> (FP32_BIT_SIZE - 1);
|
||||||
|
int mantissa = srcValueBit & 0x007FFFFF;
|
||||||
|
// exponent
|
||||||
|
int exp = ((srcValueBit & 0x7F800000) >> FP32_SIGNIFICAND) + FP16_EXPONENT_BIAS - FP32_EXPONENT_BIAS;
|
||||||
|
int16_t res;
|
||||||
|
if (exp > 0 && exp < FP16_EXPONENT_MAX) {
|
||||||
|
// use rte rounding mode, round the significand, combine sign, exponent and significand into a short.
|
||||||
|
res = (sign << (FP16_BIT_SIZE - 1)) | (exp << FP16_SIGNIFICAND) |
|
||||||
|
((mantissa + 0x00001000) >> (FP32_SIGNIFICAND - FP16_SIGNIFICAND));
|
||||||
|
} else if (srcValueBit == 0) {
|
||||||
|
res = 0;
|
||||||
|
} else {
|
||||||
|
if (exp <= 0) {
|
||||||
|
if (exp < FP16_EXPONENT_MIN) {
|
||||||
|
// value is less than min half float point
|
||||||
|
res = 0;
|
||||||
|
} else {
|
||||||
|
// normalized single, magnitude is less than min normal half float point.
|
||||||
|
mantissa = (mantissa | 0x00800000) >> (1 - exp);
|
||||||
|
// round to nearest
|
||||||
|
if ((mantissa & 0x00001000) > 0) {
|
||||||
|
mantissa = mantissa + 0x00002000;
|
||||||
|
}
|
||||||
|
// combine sign & mantissa (exp is zero to get denormalized number)
|
||||||
|
res = (sign << FP16_EXPONENT_BIAS) | (mantissa >> (FP32_SIGNIFICAND - FP16_SIGNIFICAND));
|
||||||
|
}
|
||||||
|
} else if (exp == (FP32_EXPONENT_MAX - FP32_EXPONENT_BIAS + FP16_EXPONENT_BIAS)) {
|
||||||
|
if (mantissa == 0) {
|
||||||
|
// input float is infinity, return infinity half
|
||||||
|
res = (sign << FP16_EXPONENT_BIAS) | 0x7C00;
|
||||||
|
} else {
|
||||||
|
// input float is NaN, return half NaN
|
||||||
|
res = (sign << FP16_EXPONENT_BIAS) | 0x7C00 | (mantissa >> (FP32_SIGNIFICAND - FP16_SIGNIFICAND));
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// exp > 0, normalized single, round to nearest
|
||||||
|
if ((mantissa & 0x00001000) > 0) {
|
||||||
|
mantissa = mantissa + 0x00002000;
|
||||||
|
if ((mantissa & 0x00800000) > 0) {
|
||||||
|
mantissa = 0;
|
||||||
|
exp = exp + 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (exp > FP16_EXPONENT_MAX) {
|
||||||
|
// exponent overflow - return infinity half
|
||||||
|
res = (sign << FP16_EXPONENT_BIAS) | 0x7C00;
|
||||||
|
} else {
|
||||||
|
// combine sign, exp and mantissa into normalized half
|
||||||
|
res = (sign << FP16_EXPONENT_BIAS) | (exp << FP16_SIGNIFICAND) |
|
||||||
|
(mantissa >> (FP32_SIGNIFICAND - FP16_SIGNIFICAND));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
std::string Remove(const std::string &from, const std::string &subStr, Mode mode) {
|
||||||
|
std::string result = from;
|
||||||
|
if (mode == PREFIX) {
|
||||||
|
if (from.substr(0, subStr.length()) == subStr) {
|
||||||
|
result = from.substr(subStr.size());
|
||||||
|
}
|
||||||
|
} else if (mode == SUFFIX) {
|
||||||
|
if (from.rfind(subStr) == from.size() - subStr.size()) {
|
||||||
|
result = from.substr(0, from.size() - subStr.size());
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
size_t index;
|
||||||
|
while ((index = result.find(subStr)) != std::string::npos) {
|
||||||
|
result = result.erase(index, subStr.size());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
std::vector<std::string> StrSplit(const std::string &str, const std::string &pattern) {
|
||||||
|
std::string::size_type pos;
|
||||||
|
std::vector<std::string> result;
|
||||||
|
std::string tmpStr(str + pattern);
|
||||||
|
std::string::size_type size = tmpStr.size();
|
||||||
|
|
||||||
|
for (std::string::size_type i = 0; i < size; i++) {
|
||||||
|
pos = tmpStr.find(pattern, i);
|
||||||
|
if (pos < size) {
|
||||||
|
std::string s = tmpStr.substr(i, pos - i);
|
||||||
|
result.push_back(s);
|
||||||
|
i = pos + pattern.size() - 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
std::vector<std::string> Tokenize(const std::string &src, const std::string &delimiters,
|
||||||
|
const Option<size_t> &maxTokenNum) {
|
||||||
|
if (maxTokenNum.IsSome() && maxTokenNum.Get() == 0) {
|
||||||
|
return {};
|
||||||
|
}
|
||||||
|
|
||||||
|
std::vector<std::string> tokens;
|
||||||
|
size_t offset = 0;
|
||||||
|
|
||||||
|
while (true) {
|
||||||
|
size_t nonDelimiter = src.find_first_not_of(delimiters, offset);
|
||||||
|
if (nonDelimiter == std::string::npos) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
size_t delimiter = src.find_first_of(delimiters, nonDelimiter);
|
||||||
|
if (delimiter == std::string::npos || (maxTokenNum.IsSome() && tokens.size() == maxTokenNum.Get() - 1)) {
|
||||||
|
tokens.push_back(src.substr(nonDelimiter));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
tokens.push_back(src.substr(nonDelimiter, delimiter - nonDelimiter));
|
||||||
|
offset = delimiter;
|
||||||
|
}
|
||||||
|
return tokens;
|
||||||
|
}
|
||||||
|
|
||||||
|
void ShortToFloat32(const int16_t *srcdata, float *dstdata, size_t elementSize) {
|
||||||
|
MS_ASSERT(srcdata != nullptr);
|
||||||
|
MS_ASSERT(dstdata != nullptr);
|
||||||
|
for (size_t i = 0; i < elementSize; i++) {
|
||||||
|
dstdata[i] = ShortToFloat32(srcdata[i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void Float32ToShort(const float *srcdata, int16_t *dstdata, size_t elementSize) {
|
||||||
|
MS_ASSERT(srcdata != nullptr);
|
||||||
|
MS_ASSERT(dstdata != nullptr);
|
||||||
|
for (size_t i = 0; i < elementSize; i++) {
|
||||||
|
dstdata[i] = Float32ToShort(srcdata[i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#if defined(__ANDROID__)
|
||||||
|
uint32_t getHwCap(int hwcap_type) {
|
||||||
|
uint32_t ret = getauxval(hwcap_type);
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
} // namespace lite
|
||||||
|
} // namespace mindspore
|
||||||
|
|
|
@ -0,0 +1,193 @@
|
||||||
|
/**
|
||||||
|
* Copyright 2020 Huawei Technologies Co., Ltd
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef MINDSPORE_LITE_COMMON_UTILS_H_
|
||||||
|
#define MINDSPORE_LITE_COMMON_UTILS_H_
|
||||||
|
|
||||||
|
#include <stdint.h>
|
||||||
|
#include <ctime>
|
||||||
|
#include <cstdint>
|
||||||
|
#include <vector>
|
||||||
|
#include <set>
|
||||||
|
#include <string>
|
||||||
|
#include <utility>
|
||||||
|
#include "utils/log_adapter.h"
|
||||||
|
#include "tools/common/option.h"
|
||||||
|
#include "include/errorcode.h"
|
||||||
|
|
||||||
|
namespace mindspore {
|
||||||
|
namespace lite {
|
||||||
|
const int USEC = 1000000;
|
||||||
|
const int MSEC = 1000;
|
||||||
|
std::vector<std::string> StringSplit(std::string str, const std::string& pattern);
|
||||||
|
|
||||||
|
uint64_t GetTimeUs(void);
|
||||||
|
|
||||||
|
int16_t Float32ToShort(float srcValue);
|
||||||
|
|
||||||
|
float ShortToFloat32(int16_t srcValue);
|
||||||
|
|
||||||
|
void ShortToFloat32(const int16_t *srcdata, float *dstdata, size_t elementSize);
|
||||||
|
|
||||||
|
void Float32ToShort(const float *srcdata, int16_t *dstdata, size_t elementSize);
|
||||||
|
|
||||||
|
#if defined(__arm__) || defined(__aarch64__)
|
||||||
|
uint32_t getHwCap(int hwcap_type);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
template <typename T>
|
||||||
|
bool IsContain(const std::vector<T> &vec, T element) {
|
||||||
|
for (auto iter = vec.begin(); iter != vec.end(); iter++) {
|
||||||
|
if (*iter == element) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
template <typename T>
|
||||||
|
bool VectorErase(std::vector<T> *vec, T element) {
|
||||||
|
bool ret = false;
|
||||||
|
for (auto iter = vec->begin(); iter != vec->end();) {
|
||||||
|
if (*iter == element) {
|
||||||
|
iter = vec->erase(iter);
|
||||||
|
ret = true;
|
||||||
|
} else {
|
||||||
|
iter++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
template <typename T>
|
||||||
|
bool VectorReplace(std::vector<T> *vec, T srcElement, T dstElement) {
|
||||||
|
bool ret = false;
|
||||||
|
for (auto iter = vec->begin(); iter != vec->end(); iter++) {
|
||||||
|
if (*iter == srcElement) {
|
||||||
|
if (!IsContain(*vec, dstElement)) {
|
||||||
|
*iter = std::move(dstElement);
|
||||||
|
} else {
|
||||||
|
vec->erase(iter);
|
||||||
|
}
|
||||||
|
ret = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
const char WHITESPACE[] = "\t\n\v\f\r ";
|
||||||
|
const char STR_TRUE[] = "true";
|
||||||
|
const char STR_FALSE[] = "false";
|
||||||
|
|
||||||
|
template <typename T>
|
||||||
|
Option<std::string> ToString(T t) {
|
||||||
|
std::ostringstream out;
|
||||||
|
out << t;
|
||||||
|
if (!out.good()) {
|
||||||
|
return Option<std::string>(None());
|
||||||
|
}
|
||||||
|
|
||||||
|
return Option<std::string>(out.str());
|
||||||
|
}
|
||||||
|
|
||||||
|
template <>
|
||||||
|
inline Option<std::string> ToString(bool value) {
|
||||||
|
return value ? Option<std::string>(STR_TRUE) : Option<std::string>(STR_FALSE);
|
||||||
|
}
|
||||||
|
|
||||||
|
// get the file name from a given path
|
||||||
|
// for example: "/usr/bin", we will get "bin"
|
||||||
|
inline std::string GetFileName(const std::string &path) {
|
||||||
|
char delim = '/';
|
||||||
|
|
||||||
|
size_t i = path.rfind(delim, path.length());
|
||||||
|
if (i != std::string::npos) {
|
||||||
|
return (path.substr(i + 1, path.length() - i));
|
||||||
|
}
|
||||||
|
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
|
||||||
|
// trim the white space character in a string
|
||||||
|
// see also: macro WHITESPACE defined above
|
||||||
|
inline void Trim(std::string *input) {
|
||||||
|
if (input == nullptr) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (input->empty()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
input->erase(0, input->find_first_not_of(WHITESPACE));
|
||||||
|
input->erase(input->find_last_not_of(WHITESPACE) + 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
// to judge whether a string is starting with prefix
|
||||||
|
// for example: "hello world" is starting with "hello"
|
||||||
|
inline bool StartsWithPrefix(const std::string &source, const std::string &prefix) {
|
||||||
|
if (source.length() < prefix.length()) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return (source.compare(0, prefix.length(), prefix) == 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
// split string
|
||||||
|
std::vector<std::string> StrSplit(const std::string &str, const std::string &pattern);
|
||||||
|
|
||||||
|
// tokenize string
|
||||||
|
std::vector<std::string> Tokenize(const std::string &src, const std::string &delimiters,
|
||||||
|
const Option<size_t> &maxTokenNum = Option<size_t>(None()));
|
||||||
|
|
||||||
|
enum Mode { PREFIX, SUFFIX, ANY };
|
||||||
|
|
||||||
|
// remove redundant charactor
|
||||||
|
std::string Remove(const std::string &from, const std::string &subStr, Mode mode = ANY);
|
||||||
|
|
||||||
|
template <typename T>
|
||||||
|
inline Option<T> GenericParseValue(const std::string &value) {
|
||||||
|
T ret;
|
||||||
|
std::istringstream input(value);
|
||||||
|
input >> ret;
|
||||||
|
|
||||||
|
if (input && input.eof()) {
|
||||||
|
return Option<T>(ret);
|
||||||
|
}
|
||||||
|
|
||||||
|
return Option<T>(None());
|
||||||
|
}
|
||||||
|
|
||||||
|
template <>
|
||||||
|
inline Option<std::string> GenericParseValue(const std::string &value) {
|
||||||
|
return Option<std::string>(value);
|
||||||
|
}
|
||||||
|
|
||||||
|
template <>
|
||||||
|
inline Option<bool> GenericParseValue(const std::string &value) {
|
||||||
|
if (value == "true") {
|
||||||
|
return Option<bool>(true);
|
||||||
|
} else if (value == "false") {
|
||||||
|
return Option<bool>(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
return Option<bool>(None());
|
||||||
|
}
|
||||||
|
} // namespace lite
|
||||||
|
} // namespace mindspore
|
||||||
|
|
||||||
|
#endif // MINDSPORE_LITE_COMMON_UTILS_H_
|
||||||
|
|
|
@ -0,0 +1,31 @@
|
||||||
|
/**
|
||||||
|
* Copyright 2020 Huawei Technologies Co., Ltd
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "include/context.h"
|
||||||
|
#include "src/runtime/allocator.h"
|
||||||
|
|
||||||
|
namespace mindspore::lite {
|
||||||
|
Context::Context() { allocator = Allocator::Create(); }
|
||||||
|
|
||||||
|
Context::~Context() = default;
|
||||||
|
|
||||||
|
Context::Context(int threadNum, std::shared_ptr<Allocator> allocator, DeviceContext deviceCtx) {
|
||||||
|
this->allocator = std::move(allocator);
|
||||||
|
this->threadNum = threadNum;
|
||||||
|
this->deviceCtx = std::move(deviceCtx);
|
||||||
|
}
|
||||||
|
} // namespace mindspore::lite
|
||||||
|
|
|
@ -0,0 +1,124 @@
|
||||||
|
/**
|
||||||
|
* Copyright 2020 Huawei Technologies Co., Ltd
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "mindspore/lite/src/executor.h"
|
||||||
|
#include "src/runtime/kernel/arm/opclib/pack.h"
|
||||||
|
#include "include/errorcode.h"
|
||||||
|
|
||||||
|
namespace mindspore::lite {
|
||||||
|
int Executor::Run(std::vector<tensor::Tensor *> &inputs, std::vector<tensor::Tensor *> &outputs,
|
||||||
|
std::vector<kernel::LiteKernel *> &kernels, Allocator *allocator,
|
||||||
|
const kernel::KernelCallBack &before, const kernel::KernelCallBack &after) {
|
||||||
|
MS_ASSERT(nullptr != allocator);
|
||||||
|
for (auto &inTensor : inputs) {
|
||||||
|
if (inTensor == nullptr) {
|
||||||
|
MS_LOG(ERROR) << "Graph input tensor is nullptr";
|
||||||
|
return RET_ERROR;
|
||||||
|
}
|
||||||
|
if (inTensor->GetFormat() != schema::Format_NHWC) {
|
||||||
|
MS_LOG(ERROR) << "Model input tensor should be NHWC";
|
||||||
|
return RET_ERROR;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
kernel::LiteKernelUtil::InitTensorRefCount(kernels);
|
||||||
|
for (auto *kernel : kernels) {
|
||||||
|
MS_ASSERT(nullptr != kernel);
|
||||||
|
auto &outputs = kernel->GetOutputs();
|
||||||
|
for (auto *output : outputs) {
|
||||||
|
MS_ASSERT(nullptr != output);
|
||||||
|
output->MallocData(allocator);
|
||||||
|
}
|
||||||
|
kernel::CallBackParam callbackParam;
|
||||||
|
callbackParam.name_callback_aram = kernel->Name();
|
||||||
|
|
||||||
|
if (before != nullptr) {
|
||||||
|
if (!before(kernel->GetInputs(), kernel->GetOutputs(), callbackParam)) {
|
||||||
|
MS_LOG(ERROR) << "run kernel before_callback failed, name: " << kernel->Name();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
auto ret = kernel->Run();
|
||||||
|
if (0 != ret) {
|
||||||
|
MS_LOG(ERROR) << "run kernel failed, name: " << kernel->Name();
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (after != nullptr) {
|
||||||
|
if (!after(kernel->GetInputs(), kernel->GetOutputs(), callbackParam)) {
|
||||||
|
MS_LOG(ERROR) << "run kernel after_callback failed, name: " << kernel->Name();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for (auto input_kernel : kernel->GetInKernels()) {
|
||||||
|
MS_EXCEPTION_IF_NULL(input_kernel);
|
||||||
|
ret = input_kernel->DecOutTensorRefCount(allocator);
|
||||||
|
if (0 != ret) {
|
||||||
|
MS_LOG(WARNING) << "DecOutTensorRefCount for kernel" << kernel->Name() << " failed";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return RET_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
int Executor::TransformTensorLayout(tensor::Tensor *tensor, schema::Format dst_format, Allocator *allocator) {
|
||||||
|
MS_ASSERT(nullptr != tensor);
|
||||||
|
MS_ASSERT(nullptr != allocator);
|
||||||
|
MS_ASSERT(4 == tensor->shape().size());
|
||||||
|
auto data_type = tensor->data_type();
|
||||||
|
switch (data_type) {
|
||||||
|
case kNumberTypeInt8:
|
||||||
|
return TransformTensorLayoutUint8(tensor, dst_format, allocator);
|
||||||
|
case kNumberTypeFloat32:
|
||||||
|
return TransformTensorLayoutFp32(tensor, dst_format, allocator);
|
||||||
|
}
|
||||||
|
return RET_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
int Executor::TransformTensorLayoutFp32(tensor::Tensor *tensor, schema::Format dst_format, Allocator *allocator) {
|
||||||
|
MS_ASSERT(nullptr != tensor);
|
||||||
|
MS_ASSERT(nullptr != allocator);
|
||||||
|
MS_ASSERT(4 == tensor->shape().size());
|
||||||
|
auto src_format = tensor->GetFormat();
|
||||||
|
if (src_format == schema::Format_NC4HW4 && dst_format == schema::Format_NHWC) {
|
||||||
|
auto *src_data = tensor->Data();
|
||||||
|
auto *dst_data = allocator->Malloc(tensor->Size());
|
||||||
|
if (dst_data == nullptr) {
|
||||||
|
MS_LOG(ERROR) << "Malloc data failed";
|
||||||
|
return RET_ERROR;
|
||||||
|
}
|
||||||
|
PackNC4HW4ToNHWCFp32(src_data, dst_data, tensor->Batch(), tensor->Height() * tensor->Width(), tensor->Channel());
|
||||||
|
tensor->SetData(dst_data);
|
||||||
|
tensor->SetFormat(dst_format);
|
||||||
|
allocator->Free(src_data);
|
||||||
|
return RET_OK;
|
||||||
|
} else {
|
||||||
|
MS_LOG(ERROR) << "Unsupport layout transform: " << schema::EnumNameFormat(tensor->GetFormat()) << " to "
|
||||||
|
<< schema::EnumNameFormat(dst_format) << " in float32";
|
||||||
|
return RET_ERROR;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
int Executor::TransformTensorLayoutUint8(tensor::Tensor *tensor, schema::Format dst_format, Allocator *allocator) {
|
||||||
|
MS_ASSERT(nullptr != tensor);
|
||||||
|
MS_ASSERT(nullptr != allocator);
|
||||||
|
MS_ASSERT(4 == tensor->shape().size());
|
||||||
|
// auto src_format = tensor->GetFormat();
|
||||||
|
// todo
|
||||||
|
MS_LOG(ERROR) << "Unsupport layout transform: " << schema::EnumNameFormat(tensor->GetFormat()) << " to "
|
||||||
|
<< schema::EnumNameFormat(dst_format) << " in uint8";
|
||||||
|
return RET_ERROR;
|
||||||
|
}
|
||||||
|
} // namespace mindspore::lite
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,48 @@
|
||||||
|
/**
|
||||||
|
* Copyright 2020 Huawei Technologies Co., Ltd
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef MINDSPORE_LITE_SRC_EXECUTOR_H_
|
||||||
|
#define MINDSPORE_LITE_SRC_EXECUTOR_H_
|
||||||
|
|
||||||
|
#include <vector>
|
||||||
|
#include "src/runtime/allocator.h"
|
||||||
|
#include "src/lite_kernel.h"
|
||||||
|
|
||||||
|
namespace mindspore::lite {
|
||||||
|
class Executor {
|
||||||
|
public:
|
||||||
|
Executor() = default;
|
||||||
|
|
||||||
|
int Prepare(std::vector<kernel::LiteKernel *> &kernels) { return 0; }
|
||||||
|
|
||||||
|
int Run(std::vector<tensor::Tensor *> &inputs, std::vector<tensor::Tensor *> &outputs,
|
||||||
|
std::vector<kernel::LiteKernel *> &kernels, Allocator *allocator = nullptr,
|
||||||
|
const kernel::KernelCallBack &before = nullptr, const kernel::KernelCallBack &after = nullptr);
|
||||||
|
|
||||||
|
protected:
|
||||||
|
int TransformTensorLayoutFp32(tensor::Tensor *tensor, schema::Format dst_format, Allocator *allocator = nullptr);
|
||||||
|
|
||||||
|
int TransformTensorLayoutUint8(tensor::Tensor *tensor, schema::Format dst_format, Allocator *allocator = nullptr);
|
||||||
|
|
||||||
|
int TransformTensorLayout(tensor::Tensor *tensor, schema::Format dst_format, Allocator *allocator = nullptr);
|
||||||
|
|
||||||
|
protected:
|
||||||
|
Context *context = nullptr;
|
||||||
|
};
|
||||||
|
|
||||||
|
} // namespace mindspore::lite
|
||||||
|
#endif
|
||||||
|
|
|
@ -0,0 +1,68 @@
|
||||||
|
/**
|
||||||
|
* Copyright 2020 Huawei Technologies Co., Ltd
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
#include "src/gllo/common/node_pass.h"
|
||||||
|
|
||||||
|
#include <unordered_set>
|
||||||
|
#include <deque>
|
||||||
|
#include <algorithm>
|
||||||
|
|
||||||
|
#include "ir/anf.h"
|
||||||
|
#include "ir/func_graph.h"
|
||||||
|
#include "ir/manager.h"
|
||||||
|
|
||||||
|
namespace mindspore {
|
||||||
|
namespace opt {
|
||||||
|
bool NodePass::Run(const FuncGraphPtr &func_graph) {
|
||||||
|
MS_EXCEPTION_IF_NULL(func_graph);
|
||||||
|
FuncGraphManagerPtr manager = func_graph->manager();
|
||||||
|
MS_EXCEPTION_IF_NULL(manager);
|
||||||
|
manager->AddFuncGraph(func_graph);
|
||||||
|
|
||||||
|
std::unordered_set<AnfNodePtr> seen_node;
|
||||||
|
std::deque<AnfNodePtr> todo{func_graph->output()};
|
||||||
|
bool changes = false;
|
||||||
|
while (!todo.empty()) {
|
||||||
|
AnfNodePtr node = todo.front();
|
||||||
|
todo.pop_front();
|
||||||
|
if (seen_node.count(node) > 0 || !manager->all_nodes().contains(node)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
(void)seen_node.insert(node);
|
||||||
|
AnfNodePtr new_node = Run(func_graph, node);
|
||||||
|
bool change = (new_node != nullptr);
|
||||||
|
if (new_node != nullptr && new_node != node) {
|
||||||
|
(void)manager->Replace(node, new_node);
|
||||||
|
(void)seen_node.erase(node);
|
||||||
|
} else if (new_node == nullptr) {
|
||||||
|
new_node = node;
|
||||||
|
}
|
||||||
|
if (new_node && IsValueNode<FuncGraph>(new_node)) {
|
||||||
|
auto const_func_graph = GetValueNode<FuncGraphPtr>(new_node);
|
||||||
|
MS_EXCEPTION_IF_NULL(const_func_graph);
|
||||||
|
todo.push_back(const_func_graph->output());
|
||||||
|
} else if (new_node && new_node->isa<CNode>()) {
|
||||||
|
auto cnode = new_node->cast<CNodePtr>();
|
||||||
|
MS_EXCEPTION_IF_NULL(cnode);
|
||||||
|
auto inputs = cnode->inputs();
|
||||||
|
(void)todo.insert(todo.end(), inputs.begin(), inputs.end());
|
||||||
|
}
|
||||||
|
changes = changes || change;
|
||||||
|
}
|
||||||
|
return changes;
|
||||||
|
}
|
||||||
|
} // namespace opt
|
||||||
|
} // namespace mindspore
|
||||||
|
|
|
@ -0,0 +1,36 @@
|
||||||
|
/**
|
||||||
|
* Copyright 2020 Huawei Technologies Co., Ltd
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
#ifndef MINDSPORE_LITE_SRC_PASS_COMMON_NODE_PASS_H_
|
||||||
|
#define MINDSPORE_LITE_SRC_PASS_COMMON_NODE_PASS_H_
|
||||||
|
#include <string>
|
||||||
|
#include <memory>
|
||||||
|
|
||||||
|
#include "src/gllo/common/pass.h"
|
||||||
|
|
||||||
|
namespace mindspore {
|
||||||
|
namespace opt {
|
||||||
|
// @brief ANF Node level optimization base pass
|
||||||
|
class NodePass : public Pass {
|
||||||
|
public:
|
||||||
|
explicit NodePass(const std::string &name) : Pass(name) {}
|
||||||
|
~NodePass() override = default;
|
||||||
|
bool Run(const FuncGraphPtr &func_graph) final;
|
||||||
|
virtual AnfNodePtr Run(const FuncGraphPtr &func_graph, const AnfNodePtr &node) = 0;
|
||||||
|
};
|
||||||
|
using NodePassPtr = std::shared_ptr<NodePass>;
|
||||||
|
} // namespace opt
|
||||||
|
} // namespace mindspore
|
||||||
|
#endif // MINDSPORE_LITE_SRC_PASS_COMMON_NODE_PASS_H_
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue