#!/bin/bash # Copyright 2019-2021 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. # ============================================================================ set -e BASEPATH=$(cd "$(dirname $0)"; pwd) export CUDA_PATH="" export BUILD_PATH="${BASEPATH}/build/" source ./scripts/build/usage.sh source ./scripts/build/default_options.sh source ./scripts/build/option_proc_debug.sh source ./scripts/build/option_proc_mindspore.sh source ./scripts/build/option_proc_lite.sh source ./scripts/build/process_options.sh source ./scripts/build/parse_device.sh source ./scripts/build/build_mindspore.sh # check value of input is 'on' or 'off' # usage: check_on_off arg_value arg_name check_on_off() { if [[ "X$1" != "Xon" && "X$1" != "Xoff" ]]; then echo "Invalid value $1 for option -$2" usage exit 1 fi } update_submodule() { git submodule update --init graphengine cd "${BASEPATH}/graphengine" git submodule update --init metadef cd "${BASEPATH}" if [[ "X$ENABLE_AKG" = "Xon" ]] && [[ "X$ENABLE_D" = "Xon" || "X$ENABLE_GPU" = "Xon" ]]; then git submodule update --init --recursive akg fi } build_exit() { echo "$@" >&2 stty echo exit 1 } make_clean() { echo "enable make clean" cd "${BUILD_PATH}/mindspore" cmake --build . --target clean } echo "---------------- MindSpore: build start ----------------" init_default_options process_options "$@" parse_device if [[ "X$COMPILE_LITE" = "Xon" ]]; then export COMPILE_MINDDATA_LITE export ENABLE_VERBOSE export LITE_PLATFORM export LITE_ENABLE_AAR export MSLITE_MINDDATA_IMPLEMENT=off export MSLITE_ENABLE_TRAIN=off source mindspore/lite/build_lite.sh else mkdir -pv "${BUILD_PATH}/package/mindspore/lib" update_submodule build_mindspore if [[ "X$ENABLE_MAKE_CLEAN" = "Xon" ]]; then make_clean fi if [[ "X$ENABLE_ACL" == "Xon" ]] && [[ "X$ENABLE_D" == "Xoff" ]]; then echo "acl mode, skipping deploy phase" rm -rf ${BASEPATH}/output/_CPack_Packages/ else cp -rf ${BUILD_PATH}/package/mindspore/lib ${BASEPATH}/mindspore cp -rf ${BUILD_PATH}/package/mindspore/*.so ${BASEPATH}/mindspore fi fi echo "---------------- MindSpore: build end ----------------"