|
- #!/bin/bash
- # 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.
- # ============================================================================
-
- set -e
-
- BASEPATH=$(cd "$(dirname $0)"; pwd)
- echo "${BASEPATH}"
- cd "${BASEPATH}"
- BUILD_PATH="${BASEPATH}/build"
- PACKAGE_PATH="${BUILD_PATH}/package"
- OUTPUT_PATH="${BASEPATH}/output"
-
- mk_new_dir() {
- local create_dir="$1" # the target to make
-
- if [[ -d "${create_dir}" ]];then
- rm -rf "${create_dir}"
- fi
-
- mkdir -pv "${create_dir}"
- }
-
- to_lower () {
- echo "$1" | tr '[:upper:]' '[:lower:]'
- }
-
- COMMIT_ID=$(git log --format='[sha1]:%h,[branch]:%d' -1 | sed 's/ //g')
- export COMMIT_ID
-
- PYTHON=$(which python3)
- PYTHON_VERSION=$("${PYTHON}" -V 2>&1 | awk '{print $2}' | cut -d. -f-2)
- if [[ $(uname) == "Linux" ]]; then
- if [[ "${PYTHON_VERSION}" == "3.7" ]]; then
- PY_TAGS="cp37-cp37m"
- elif [[ "${PYTHON_VERSION}" == "3.6" ]]; then
- PY_TAGS="cp36-cp36m"
- else
- echo "Could not find 'Python 3.6' or 'Python 3.7'"
- exit 1
- fi
- PLATFORM_TAG=$(to_lower "$(uname)_$(uname -m)")
- elif [[ $(uname) == "Darwin" ]]; then
- if [[ "${PYTHON_VERSION}" == "3.7" || "${PYTHON_VERSION}" == "3.6" ]]; then
- PY_TAGS="py3-none"
- else
- echo "Could not find 'Python 3.6' or 'Python 3.7'"
- exit 1
- fi
- PLATFORM_TAG="any"
- fi
- echo "=========${BASEPATH}==================="
- mk_new_dir "${OUTPUT_PATH}"
-
- #copy necessary file to pack_path
- cp ${BASEPATH}/mindspore/*.py "${PACKAGE_PATH}/mindspore"
- cp -rf "${BUILD_PATH}/../mindspore/nn" "${PACKAGE_PATH}/mindspore"
- cp -rf "${BUILD_PATH}/../mindspore/_extends" "${PACKAGE_PATH}/mindspore"
- cp -rf "${BUILD_PATH}/../mindspore/parallel" "${PACKAGE_PATH}/mindspore"
- cp -rf "${BUILD_PATH}/../mindspore/mindrecord" "${PACKAGE_PATH}/mindspore"
- cp -rf "${BUILD_PATH}/../mindspore/train" "${PACKAGE_PATH}/mindspore"
- cp -rf "${BUILD_PATH}/../mindspore/model_zoo" "${PACKAGE_PATH}/mindspore"
- cp -rf "${BUILD_PATH}/../mindspore/common" "${PACKAGE_PATH}/mindspore"
- cp -rf "${BUILD_PATH}/../mindspore/ops" "${PACKAGE_PATH}/mindspore"
- cp -rf "${BUILD_PATH}/../mindspore/communication" "${PACKAGE_PATH}/mindspore"
-
- if [[ "X$2" = "Xgpu" ]]; then
- echo "package akg when gpu enable."
- cp -rf "${BASEPATH}/mindspore/akg" "${PACKAGE_PATH}"
- if [[ -d "${BUILD_PATH}/mindspore/incubator-tvm" ]]; then
- cp -rf "${BUILD_PATH}/mindspore/incubator-tvm/topi/python/topi" "${PACKAGE_PATH}/akg"
- cp -rf "${BUILD_PATH}/mindspore/incubator-tvm/python/tvm" "${PACKAGE_PATH}/akg"
- fi
- fi
-
- # move dataset
- if [[ -d "${BASEPATH}/mindspore/dataset" ]]; then
- cp -rf "${BASEPATH}/mindspore/dataset" "${PACKAGE_PATH}/mindspore"
- fi
-
- cd "${PACKAGE_PATH}"
- if [ -n "$1" ];then
- export BACKEND_POLICY=$1
- else
- export BACKEND_POLICY="ms"
- fi
- ${PYTHON} "${BASEPATH}/setup_package.py" bdist_wheel
-
- chmod -R 700 ${PACKAGE_PATH}/mindspore/
- chmod -R 700 ${PACKAGE_PATH}/mindspore.egg-info/
-
- # rename package
- PACKAGE_FULL_NAME=$(find "${PACKAGE_PATH}" -iname "*.whl")
- PACKAGE_BASE_NAME=$(echo ${PACKAGE_FULL_NAME} | awk -F / '{print $NF}' | awk -F - '{print $1"-"$2}')
-
- PACKAGE_NEW_NAME="${PACKAGE_BASE_NAME}-${PY_TAGS}-${PLATFORM_TAG}.whl"
- cp -rf "${PACKAGE_PATH}/dist"/*.whl "${PACKAGE_PATH}/${PACKAGE_NEW_NAME}"
- cp -f "${PACKAGE_PATH}/${PACKAGE_NEW_NAME}" "${OUTPUT_PATH}"
-
- cd "${BASEPATH}"
-
- echo "------Successfully created mindspore package------"
|