From 718462150360a513fe25228a6ddfe624e6954c91 Mon Sep 17 00:00:00 2001 From: sunsuodong Date: Tue, 25 Jan 2022 17:06:48 -0800 Subject: [PATCH] sync 1.6 code Signed-off-by: sunsuodong --- README_CN.md => README_ZH.md | 0 scripts/OWNERS | 3 + scripts/check_clang_format.sh | 130 +++++++++++++++ scripts/check_tid.sh | 38 +++++ scripts/conda/OWNERS | 6 + scripts/conda/README.md | 15 ++ scripts/conda/mindspore-ascend/1.3.0/build.sh | 31 ++++ .../conda/mindspore-ascend/1.3.0/meta.yaml | 30 ++++ scripts/conda/mindspore-ascend/1.5.0/build.sh | 33 ++++ .../conda/mindspore-ascend/1.5.0/meta.yaml | 40 +++++ .../conda/mindspore-ascend/1.5.0rc1/build.sh | 33 ++++ .../conda/mindspore-ascend/1.5.0rc1/meta.yaml | 40 +++++ scripts/conda/mindspore-cpu/1.3.0/bld.bat | 13 ++ scripts/conda/mindspore-cpu/1.3.0/build.sh | 31 ++++ scripts/conda/mindspore-cpu/1.3.0/meta.yaml | 30 ++++ scripts/conda/mindspore-cpu/1.5.0/bld.bat | 13 ++ scripts/conda/mindspore-cpu/1.5.0/build.sh | 42 +++++ scripts/conda/mindspore-cpu/1.5.0/meta.yaml | 30 ++++ scripts/conda/mindspore-cpu/1.5.0rc1/bld.bat | 13 ++ scripts/conda/mindspore-cpu/1.5.0rc1/build.sh | 42 +++++ .../conda/mindspore-cpu/1.5.0rc1/meta.yaml | 30 ++++ scripts/conda/mindspore-gpu/1.3.0/build.sh | 14 ++ scripts/conda/mindspore-gpu/1.3.0/meta.yaml | 30 ++++ .../1.5.0/py37/cuda10.1/build.sh | 15 ++ .../1.5.0/py37/cuda10.1/meta.yaml | 32 ++++ .../1.5.0/py37/cuda11.1/build.sh | 15 ++ .../1.5.0/py37/cuda11.1/meta.yaml | 32 ++++ .../1.5.0/py39/cuda10.1/build.sh | 15 ++ .../1.5.0/py39/cuda10.1/meta.yaml | 32 ++++ .../1.5.0/py39/cuda11.1/build.sh | 15 ++ .../1.5.0/py39/cuda11.1/meta.yaml | 32 ++++ .../1.5.0rc1/py37/cuda10.1/build.sh | 15 ++ .../1.5.0rc1/py37/cuda10.1/meta.yaml | 32 ++++ .../1.5.0rc1/py37/cuda11.1/build.sh | 15 ++ .../1.5.0rc1/py37/cuda11.1/meta.yaml | 32 ++++ .../1.5.0rc1/py39/cuda10.1/build.sh | 15 ++ .../1.5.0rc1/py39/cuda10.1/meta.yaml | 32 ++++ .../1.5.0rc1/py39/cuda11.1/build.sh | 15 ++ .../1.5.0rc1/py39/cuda11.1/meta.yaml | 32 ++++ scripts/docker/OWNERS | 6 + scripts/docker/README.md | 16 ++ .../mindspore-cpu/0.1.0-alpha/Dockerfile | 67 ++++++++ .../mindspore-cpu/0.2.0-alpha/Dockerfile | 67 ++++++++ .../mindspore-cpu/0.3.0-alpha/Dockerfile | 67 ++++++++ .../mindspore-cpu/0.5.0-beta/Dockerfile | 67 ++++++++ .../mindspore-cpu/0.6.0-beta/Dockerfile | 67 ++++++++ .../mindspore-cpu/0.7.0-beta/Dockerfile | 67 ++++++++ scripts/docker/mindspore-cpu/1.0.0/Dockerfile | 67 ++++++++ scripts/docker/mindspore-cpu/1.1.0/Dockerfile | 71 ++++++++ scripts/docker/mindspore-cpu/1.2.0/Dockerfile | 71 ++++++++ scripts/docker/mindspore-cpu/1.2.1/Dockerfile | 71 ++++++++ scripts/docker/mindspore-cpu/1.3.0/Dockerfile | 74 +++++++++ scripts/docker/mindspore-cpu/1.5.0/Dockerfile | 78 +++++++++ .../docker/mindspore-cpu/1.5.0rc1/Dockerfile | 78 +++++++++ scripts/docker/mindspore-cpu/1.6.0/Dockerfile | 78 +++++++++ scripts/docker/mindspore-cpu/devel/Dockerfile | 95 +++++++++++ .../docker/mindspore-cpu/runtime/Dockerfile | 72 ++++++++ .../mindspore-gpu/0.1.0-alpha/Dockerfile | 83 ++++++++++ .../mindspore-gpu/0.2.0-alpha/Dockerfile | 83 ++++++++++ .../mindspore-gpu/0.3.0-alpha/Dockerfile | 83 ++++++++++ .../mindspore-gpu/0.5.0-beta/Dockerfile | 83 ++++++++++ .../mindspore-gpu/0.6.0-beta/Dockerfile | 83 ++++++++++ .../mindspore-gpu/0.7.0-beta/Dockerfile | 81 +++++++++ scripts/docker/mindspore-gpu/1.0.0/Dockerfile | 81 +++++++++ scripts/docker/mindspore-gpu/1.1.0/Dockerfile | 85 ++++++++++ scripts/docker/mindspore-gpu/1.2.0/Dockerfile | 88 ++++++++++ scripts/docker/mindspore-gpu/1.2.1/Dockerfile | 88 ++++++++++ scripts/docker/mindspore-gpu/1.3.0/Dockerfile | 91 ++++++++++ .../mindspore-gpu/1.3.0/cuda10.1/Dockerfile | 90 ++++++++++ .../mindspore-gpu/1.5.0/cuda10.1/Dockerfile | 91 ++++++++++ .../mindspore-gpu/1.5.0/cuda11.1/Dockerfile | 91 ++++++++++ .../1.5.0rc1/cuda10.1/Dockerfile | 91 ++++++++++ .../1.5.0rc1/cuda11.1/Dockerfile | 91 ++++++++++ .../mindspore-gpu/1.6.0/cuda10.1/Dockerfile | 91 ++++++++++ .../mindspore-gpu/1.6.0/cuda11.1/Dockerfile | 91 ++++++++++ scripts/docker/mindspore-gpu/devel/Dockerfile | 111 +++++++++++++ .../docker/mindspore-gpu/runtime/Dockerfile | 86 ++++++++++ scripts/dot2svg.sh | 30 ++++ scripts/format_source_code.sh | 105 ++++++++++++ scripts/get_bert_shape_from_pytest.sh | 43 +++++ scripts/get_op_use_count.sh | 17 ++ scripts/get_shape_from_ir.sh | 33 ++++ scripts/install/euleros-ascend-conda.sh | 42 +++++ scripts/install/euleros-ascend-pip.sh | 52 ++++++ scripts/install/purge-cuda.sh | 8 + scripts/install/ubuntu-conda.sh | 67 ++++++++ scripts/install/ubuntu-gpu-conda.sh | 78 +++++++++ scripts/install/ubuntu-gpu-pip.sh | 134 +++++++++++++++ scripts/install/ubuntu-pip.sh | 44 +++++ scripts/lite_release_package.sh | 91 ++++++++++ scripts/map_dump_file_to_code/README_CN.md | 99 +++++++++++ .../map_dump_file_to_code/images/op_image.png | Bin 0 -> 13823 bytes .../images/replace_symbol.png | Bin 0 -> 7334 bytes .../map_dump_file_to_code/map_file_to_code.py | 156 ++++++++++++++++++ scripts/run_perf_test.sh | 41 +++++ scripts/setdotlabelwidth | 102 ++++++++++++ scripts/update_onnx_weight.py | 70 ++++++++ 97 files changed, 5216 insertions(+) rename README_CN.md => README_ZH.md (100%) create mode 100644 scripts/OWNERS create mode 100755 scripts/check_clang_format.sh create mode 100755 scripts/check_tid.sh create mode 100644 scripts/conda/OWNERS create mode 100644 scripts/conda/README.md create mode 100644 scripts/conda/mindspore-ascend/1.3.0/build.sh create mode 100644 scripts/conda/mindspore-ascend/1.3.0/meta.yaml create mode 100644 scripts/conda/mindspore-ascend/1.5.0/build.sh create mode 100644 scripts/conda/mindspore-ascend/1.5.0/meta.yaml create mode 100644 scripts/conda/mindspore-ascend/1.5.0rc1/build.sh create mode 100644 scripts/conda/mindspore-ascend/1.5.0rc1/meta.yaml create mode 100644 scripts/conda/mindspore-cpu/1.3.0/bld.bat create mode 100644 scripts/conda/mindspore-cpu/1.3.0/build.sh create mode 100644 scripts/conda/mindspore-cpu/1.3.0/meta.yaml create mode 100644 scripts/conda/mindspore-cpu/1.5.0/bld.bat create mode 100644 scripts/conda/mindspore-cpu/1.5.0/build.sh create mode 100644 scripts/conda/mindspore-cpu/1.5.0/meta.yaml create mode 100644 scripts/conda/mindspore-cpu/1.5.0rc1/bld.bat create mode 100644 scripts/conda/mindspore-cpu/1.5.0rc1/build.sh create mode 100644 scripts/conda/mindspore-cpu/1.5.0rc1/meta.yaml create mode 100644 scripts/conda/mindspore-gpu/1.3.0/build.sh create mode 100644 scripts/conda/mindspore-gpu/1.3.0/meta.yaml create mode 100644 scripts/conda/mindspore-gpu/1.5.0/py37/cuda10.1/build.sh create mode 100644 scripts/conda/mindspore-gpu/1.5.0/py37/cuda10.1/meta.yaml create mode 100644 scripts/conda/mindspore-gpu/1.5.0/py37/cuda11.1/build.sh create mode 100644 scripts/conda/mindspore-gpu/1.5.0/py37/cuda11.1/meta.yaml create mode 100644 scripts/conda/mindspore-gpu/1.5.0/py39/cuda10.1/build.sh create mode 100644 scripts/conda/mindspore-gpu/1.5.0/py39/cuda10.1/meta.yaml create mode 100644 scripts/conda/mindspore-gpu/1.5.0/py39/cuda11.1/build.sh create mode 100644 scripts/conda/mindspore-gpu/1.5.0/py39/cuda11.1/meta.yaml create mode 100644 scripts/conda/mindspore-gpu/1.5.0rc1/py37/cuda10.1/build.sh create mode 100644 scripts/conda/mindspore-gpu/1.5.0rc1/py37/cuda10.1/meta.yaml create mode 100644 scripts/conda/mindspore-gpu/1.5.0rc1/py37/cuda11.1/build.sh create mode 100644 scripts/conda/mindspore-gpu/1.5.0rc1/py37/cuda11.1/meta.yaml create mode 100644 scripts/conda/mindspore-gpu/1.5.0rc1/py39/cuda10.1/build.sh create mode 100644 scripts/conda/mindspore-gpu/1.5.0rc1/py39/cuda10.1/meta.yaml create mode 100644 scripts/conda/mindspore-gpu/1.5.0rc1/py39/cuda11.1/build.sh create mode 100644 scripts/conda/mindspore-gpu/1.5.0rc1/py39/cuda11.1/meta.yaml create mode 100644 scripts/docker/OWNERS create mode 100644 scripts/docker/README.md create mode 100644 scripts/docker/mindspore-cpu/0.1.0-alpha/Dockerfile create mode 100644 scripts/docker/mindspore-cpu/0.2.0-alpha/Dockerfile create mode 100644 scripts/docker/mindspore-cpu/0.3.0-alpha/Dockerfile create mode 100644 scripts/docker/mindspore-cpu/0.5.0-beta/Dockerfile create mode 100644 scripts/docker/mindspore-cpu/0.6.0-beta/Dockerfile create mode 100644 scripts/docker/mindspore-cpu/0.7.0-beta/Dockerfile create mode 100644 scripts/docker/mindspore-cpu/1.0.0/Dockerfile create mode 100644 scripts/docker/mindspore-cpu/1.1.0/Dockerfile create mode 100644 scripts/docker/mindspore-cpu/1.2.0/Dockerfile create mode 100644 scripts/docker/mindspore-cpu/1.2.1/Dockerfile create mode 100644 scripts/docker/mindspore-cpu/1.3.0/Dockerfile create mode 100644 scripts/docker/mindspore-cpu/1.5.0/Dockerfile create mode 100644 scripts/docker/mindspore-cpu/1.5.0rc1/Dockerfile create mode 100644 scripts/docker/mindspore-cpu/1.6.0/Dockerfile create mode 100644 scripts/docker/mindspore-cpu/devel/Dockerfile create mode 100644 scripts/docker/mindspore-cpu/runtime/Dockerfile create mode 100644 scripts/docker/mindspore-gpu/0.1.0-alpha/Dockerfile create mode 100644 scripts/docker/mindspore-gpu/0.2.0-alpha/Dockerfile create mode 100644 scripts/docker/mindspore-gpu/0.3.0-alpha/Dockerfile create mode 100644 scripts/docker/mindspore-gpu/0.5.0-beta/Dockerfile create mode 100644 scripts/docker/mindspore-gpu/0.6.0-beta/Dockerfile create mode 100644 scripts/docker/mindspore-gpu/0.7.0-beta/Dockerfile create mode 100644 scripts/docker/mindspore-gpu/1.0.0/Dockerfile create mode 100644 scripts/docker/mindspore-gpu/1.1.0/Dockerfile create mode 100644 scripts/docker/mindspore-gpu/1.2.0/Dockerfile create mode 100644 scripts/docker/mindspore-gpu/1.2.1/Dockerfile create mode 100644 scripts/docker/mindspore-gpu/1.3.0/Dockerfile create mode 100644 scripts/docker/mindspore-gpu/1.3.0/cuda10.1/Dockerfile create mode 100644 scripts/docker/mindspore-gpu/1.5.0/cuda10.1/Dockerfile create mode 100644 scripts/docker/mindspore-gpu/1.5.0/cuda11.1/Dockerfile create mode 100644 scripts/docker/mindspore-gpu/1.5.0rc1/cuda10.1/Dockerfile create mode 100644 scripts/docker/mindspore-gpu/1.5.0rc1/cuda11.1/Dockerfile create mode 100644 scripts/docker/mindspore-gpu/1.6.0/cuda10.1/Dockerfile create mode 100644 scripts/docker/mindspore-gpu/1.6.0/cuda11.1/Dockerfile create mode 100644 scripts/docker/mindspore-gpu/devel/Dockerfile create mode 100644 scripts/docker/mindspore-gpu/runtime/Dockerfile create mode 100755 scripts/dot2svg.sh create mode 100755 scripts/format_source_code.sh create mode 100755 scripts/get_bert_shape_from_pytest.sh create mode 100755 scripts/get_op_use_count.sh create mode 100755 scripts/get_shape_from_ir.sh create mode 100644 scripts/install/euleros-ascend-conda.sh create mode 100644 scripts/install/euleros-ascend-pip.sh create mode 100644 scripts/install/purge-cuda.sh create mode 100644 scripts/install/ubuntu-conda.sh create mode 100644 scripts/install/ubuntu-gpu-conda.sh create mode 100644 scripts/install/ubuntu-gpu-pip.sh create mode 100644 scripts/install/ubuntu-pip.sh create mode 100644 scripts/lite_release_package.sh create mode 100644 scripts/map_dump_file_to_code/README_CN.md create mode 100644 scripts/map_dump_file_to_code/images/op_image.png create mode 100644 scripts/map_dump_file_to_code/images/replace_symbol.png create mode 100644 scripts/map_dump_file_to_code/map_file_to_code.py create mode 100755 scripts/run_perf_test.sh create mode 100755 scripts/setdotlabelwidth create mode 100755 scripts/update_onnx_weight.py diff --git a/README_CN.md b/README_ZH.md similarity index 100% rename from README_CN.md rename to README_ZH.md diff --git a/scripts/OWNERS b/scripts/OWNERS new file mode 100644 index 0000000000..4302181bbf --- /dev/null +++ b/scripts/OWNERS @@ -0,0 +1,3 @@ +approvers: +- zhoufeng54 +- jjfeing diff --git a/scripts/check_clang_format.sh b/scripts/check_clang_format.sh new file mode 100755 index 0000000000..3e3e64cecb --- /dev/null +++ b/scripts/check_clang_format.sh @@ -0,0 +1,130 @@ +#!/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 + +CLANG_FORMAT=$(which clang-format) || (echo "Please install 'clang-format' tool first"; exit 1) + +version=$("${CLANG_FORMAT}" --version | sed -n "s/.*\ \([0-9]*\)\.[0-9]*\.[0-9]*.*/\1/p") +if [[ "${version}" -lt "8" ]]; then + echo "clang-format's version must be at least 8.0.0" + exit 1 +fi + +CURRENT_PATH=$(pwd) +SCRIPTS_PATH=$(dirname "$0") + +echo "CURRENT_PATH=$CURRENT_PATH" +echo "SCRIPTS_PATH=$SCRIPTS_PATH" + +# print usage message +function usage() +{ + echo "Check whether the specified source files were well formatted" + echo "Usage:" + echo "bash $0 [-a] [-c] [-l] [-h]" + echo "e.g. $0 -a" + echo "" + echo "Options:" + echo " -a Check code format of all files, default case" + echo " -c Check code format of the files changed compared to last commit" + echo " -l Check code format of the files changed in last commit" + echo " -h Print usage" +} + +# check and set options +function checkopts() +{ + # init variable + mode="all" # default check all files + + # Process the options + while getopts 'aclh' opt + do + case "${opt}" in + a) + mode="all" + ;; + c) + mode="changed" + ;; + l) + mode="lastcommit" + ;; + h) + usage + exit 0 + ;; + *) + echo "Unknown option ${opt}!" + usage + exit 1 + esac + done +} + +# init variable +# check options +checkopts "$@" + +# switch to project root path, which contains clang-format config file '.clang-format' +cd "${SCRIPTS_PATH}/.." || exit 1 + +CHECK_LIST_FILE='__checked_files_list__' + +if [ "X${mode}" == "Xall" ]; then + find mindspore/{ccsrc,core,lite} -type f -name "*" | grep "\.h$\|\.cc$\|\.c$" > "${CHECK_LIST_FILE}" || true +elif [ "X${mode}" == "Xchanged" ]; then + # --diff-filter=ACMRTUXB will ignore deleted files in commit + git diff --diff-filter=ACMRTUXB --name-only | grep "mindspore/ccsrc\|mindspore/core\|mindspore/lite" | grep "\.h$\|\.cc$\|\.c$" > "${CHECK_LIST_FILE}" || true +else # "X${mode}" == "Xlastcommit" + git diff --diff-filter=ACMRTUXB --name-only HEAD~ HEAD | grep "mindspore/ccsrc\|mindspore/core\|mindspore/lite" | grep "\.h$\|\.cc$\|\.c$" > "${CHECK_LIST_FILE}" || true +fi + +CHECK_RESULT_FILE=__code_format_check_result__ +echo "0" > "$CHECK_RESULT_FILE" + +set +e + +# check format of files modified in the latest commit +while read line; do + if [ ! -e ${line} ]; then + continue + fi + BASE_NAME=$(basename "${line}") + TEMP_FILE="__TEMP__${BASE_NAME}" + cp "${line}" "${TEMP_FILE}" + ${CLANG_FORMAT} -i "${TEMP_FILE}" + diff "${TEMP_FILE}" "${line}" + ret=$? + rm "${TEMP_FILE}" + if [[ "${ret}" -ne 0 ]]; then + echo "File ${line} is not formatted, please format it." + echo "1" > "${CHECK_RESULT_FILE}" + break + fi +done < "${CHECK_LIST_FILE}" + +set -e + +result=$(cat "${CHECK_RESULT_FILE}") +rm "${CHECK_RESULT_FILE}" +rm "${CHECK_LIST_FILE}" +cd "${CURRENT_PATH}" || exit 1 +if [[ "X${result}" == "X0" ]]; then + echo "Check PASS: specified files are well formatted!" +fi +exit "${result}" diff --git a/scripts/check_tid.sh b/scripts/check_tid.sh new file mode 100755 index 0000000000..cfdad069c4 --- /dev/null +++ b/scripts/check_tid.sh @@ -0,0 +1,38 @@ +#!/bin/bash + +SCRIPT_DIR=$(dirname "$0") +MS_DIR=$(realpath ${SCRIPT_DIR}/..) +BUILD_DIR=${MS_DIR}/build +HASH_EXE=${BUILD_DIR}/gentid +HASH_SRC=${BUILD_DIR}/gentid.cc + +mkdir -p ${BUILD_DIR} +echo "#include " > ${HASH_SRC} +echo "#include \"${MS_DIR}/mindspore/core/utils/hashing.h\"" >> ${HASH_SRC} +echo "int main(int argc, char *argv[0]) { std::cout << mindspore::ConstStringHash(argv[1]) << std::endl; }" >> ${HASH_SRC} +g++ -std=c++17 -o ${HASH_EXE} ${HASH_SRC} + +BASE_TID=$(${HASH_EXE} Base) +declare -A TIDMAP=( [${BASE_TID}]=Base ) + +grep -r MS_DECLARE_PARENT --include=*.h --include=*.cc ${MS_DIR} | while read line +do +#echo $line +if [[ "$line" =~ .*\((.*)\,(.*)\).* ]] +then +CLASS_NAME=${BASH_REMATCH[2]}_${BASH_REMATCH[1]} +TID=$(${HASH_EXE} ${CLASS_NAME}) +if [ ${TIDMAP[${TID}]+_} ]; then + echo $line + echo Same tid $TID is used by $CLASS_NAME and ${TIDMAP[${TID}]}. + exit 1 +fi +TIDMAP[${TID}]=${CLASS_NAME} +echo ${TID} ${CLASS_NAME} +fi +done +if [ $? != 0 ];then + echo 'Check tid failed!' + exit 1 +fi +echo 'All tids are unique, check tid ok.' diff --git a/scripts/conda/OWNERS b/scripts/conda/OWNERS new file mode 100644 index 0000000000..bbace27346 --- /dev/null +++ b/scripts/conda/OWNERS @@ -0,0 +1,6 @@ +approvers: +- zhoufeng54 +- jjfeing +- kisnwang +reviewers: +- HW_KK \ No newline at end of file diff --git a/scripts/conda/README.md b/scripts/conda/README.md new file mode 100644 index 0000000000..1d2459ca17 --- /dev/null +++ b/scripts/conda/README.md @@ -0,0 +1,15 @@ +## MindSpore Conda build file Repository + +This folder hosts all files relating to building conda packages, to download existing conda packages, simply typing +conda install -c mindspore mindspore-{platform} +in conda environments, whereby {platform} refers to hardware platform supported by MindSpore, including CPU, GPU and Ascend + +### MindSpore conda install command + +| Hardware Platform | Version | Download Command | +| :---------------- | :------ | :------------ | +| Ascend | `x.y.z` | conda install -c mindspore mindspore-ascend=x.y.z | +| CPU | `x.y.z` | conda install -c mindspore mindspore-cpu=x.y.z | +| GPU | `x.y.z` | conda install -c mindspore mindspore-gpu=x.y.z | + +> **NOTICE:** The `x.y.z` version shown above should be replaced with the real version number. diff --git a/scripts/conda/mindspore-ascend/1.3.0/build.sh b/scripts/conda/mindspore-ascend/1.3.0/build.sh new file mode 100644 index 0000000000..f9b08d1a2f --- /dev/null +++ b/scripts/conda/mindspore-ascend/1.3.0/build.sh @@ -0,0 +1,31 @@ +#!/bin/bash + +# install MindSpore-Ascend using pip +if [ "$(uname)" == Linux ]; then + if [ "$(arch)" == aarch64 ]; then + echo "running on aarch64 linux system." + if [ "$PY_VER" == "3.7" ]; then + echo "building conda package for python3.7" + pip install https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.3.0/MindSpore/ascend/aarch64/mindspore_ascend-1.3.0-cp37-cp37m-linux_aarch64.whl --trusted-host ms-release.obs.cn-north-4.myhuaweicloud.com -i https://pypi.tuna.tsinghua.edu.cn/simple + elif [ "$PY_VER" == "3.9" ]; then + echo "building conda package for python3.9" + else + echo "ERROR: you are trying to build MindSpore conda package on a unsupported python environment, try python 3.7 or 3.9" + exit 1 + fi + elif [ "$(arch)" == x86_64 ]; then + echo "running on x86_64 linux system." + if [ "$PY_VER" == "3.7" ]; then + echo "building conda package for python3.7" + pip install https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.3.0/MindSpore/ascend/x86_64/mindspore_ascend-1.3.0-cp37-cp37m-linux_x86_64.whl --trusted-host ms-release.obs.cn-north-4.myhuaweicloud.com -i https://pypi.tuna.tsinghua.edu.cn/simple + elif [ "$PY_VER" == "3.9" ]; then + echo "building conda package for python3.9" + else + echo "ERROR: you are trying to build MindSpore conda package on a unsupported python environment, try python 3.7 or 3.9" + exit 1 + fi + else + echo "ERROR: unknown linux architecture, try building MindSpore conda package on a supported architecture." + exit 1 + fi +fi \ No newline at end of file diff --git a/scripts/conda/mindspore-ascend/1.3.0/meta.yaml b/scripts/conda/mindspore-ascend/1.3.0/meta.yaml new file mode 100644 index 0000000000..d81e56a44b --- /dev/null +++ b/scripts/conda/mindspore-ascend/1.3.0/meta.yaml @@ -0,0 +1,30 @@ +package: + name: mindspore-ascend + version: "1.3.0" + +build: + number: 0 + +requirements: + build: + - python + - pip + run: + - python + - numpy >=1.17.0 + - protobuf >=3.13.0 + - asttokens >=1.1.13 + - pillow >=6.2.0 + - scipy >=1.5.2 + - cffi >=1.12.3 + - wheel >=0.32.0 + - decorator >=4.4.0 + - setuptools >=40.8.0 + - astunparse >=1.6.3 + - packaging >=20.0 + - psutil >=5.7.0 + +about: + home: https://www.mindspore.cn/ + license: Apache 2.0 + summary: MindSpore is a new open source deep learning training/inference framework that could be used for mobile, edge and cloud scenarios. diff --git a/scripts/conda/mindspore-ascend/1.5.0/build.sh b/scripts/conda/mindspore-ascend/1.5.0/build.sh new file mode 100644 index 0000000000..b6fbb44c41 --- /dev/null +++ b/scripts/conda/mindspore-ascend/1.5.0/build.sh @@ -0,0 +1,33 @@ +#!/bin/bash + +# install MindSpore-Ascend using pip +if [ "$(uname)" == Linux ]; then + if [ "$(arch)" == aarch64 ]; then + echo "running on aarch64 linux system." + if [ "$PY_VER" == "3.7" ]; then + echo "building conda package for python3.7" + pip install https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.5.0/MindSpore/ascend/aarch64/mindspore_ascend-1.5.0-cp37-cp37m-linux_aarch64.whl --trusted-host ms-release.obs.cn-north-4.myhuaweicloud.com -i https://pypi.tuna.tsinghua.edu.cn/simple + elif [ "$PY_VER" == "3.9" ]; then + echo "building conda package for python3.9" + pip install https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.5.0/MindSpore/ascend/aarch64/mindspore_ascend-1.5.0-cp39-cp39-linux_aarch64.whl --trusted-host ms-release.obs.cn-north-4.myhuaweicloud.com -i https://pypi.tuna.tsinghua.edu.cn/simple + else + echo "ERROR: you are trying to build MindSpore conda package on a unsupported python environment, try python 3.7 or 3.9" + exit 1 + fi + elif [ "$(arch)" == x86_64 ]; then + echo "running on x86_64 linux system." + if [ "$PY_VER" == "3.7" ]; then + echo "building conda package for python3.7" + pip install https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.5.0/MindSpore/ascend/x86_64/mindspore_ascend-1.5.0-cp37-cp37m-linux_x86_64.whl --trusted-host ms-release.obs.cn-north-4.myhuaweicloud.com -i https://pypi.tuna.tsinghua.edu.cn/simple + elif [ "$PY_VER" == "3.9" ]; then + echo "building conda package for python3.9" + pip install https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.5.0/MindSpore/ascend/x86_64/mindspore_ascend-1.5.0-cp39-cp39-linux_x86_64.whl --trusted-host ms-release.obs.cn-north-4.myhuaweicloud.com -i https://pypi.tuna.tsinghua.edu.cn/simple + else + echo "ERROR: you are trying to build MindSpore conda package on a unsupported python environment, try python 3.7 or 3.9" + exit 1 + fi + else + echo "ERROR: unknown linux architecture, try building MindSpore conda package on a supported architecture." + exit 1 + fi +fi diff --git a/scripts/conda/mindspore-ascend/1.5.0/meta.yaml b/scripts/conda/mindspore-ascend/1.5.0/meta.yaml new file mode 100644 index 0000000000..b521048e31 --- /dev/null +++ b/scripts/conda/mindspore-ascend/1.5.0/meta.yaml @@ -0,0 +1,40 @@ +package: + name: mindspore-ascend + version: "1.5.0" + +build: + number: 0 + rpaths: + - /usr/local/Ascend/nnae/latest/fwkacllib/lib64 + - /usr/local/Ascend/ascend-toolkit/latest/fwkacllib/lib64 + - /usr/local/Ascend/fwkacllib/lib64 + - /usr/local/Ascend/nnae/latest/fwkacllib/lib64/plugin/opskernel + - /usr/local/Ascend/ascend-toolkit/latest/fwkacllib/lib64/plugin/opskernel + - /usr/local/Ascend/fwkacllib/lib64/plugin/opskernel + - /usr/local/Ascend/opp/op_impl/built-in/ai_core/tbe/op_tiling + - /usr/local/Ascend/nnae/latest/opp/op_impl/built-in/ai_core/tbe/op_tiling + - /usr/local/Ascend/ascend-toolkit/latest/opp/op_impl/built-in/ai_core/tbe/op_tiling + +requirements: + build: + - python + - pip + run: + - python + - numpy >=1.17.0 + - protobuf >=3.13.0 + - asttokens >=1.1.13 + - pillow >=6.2.0 + - scipy >=1.5.2 + - cffi >=1.12.3 + - wheel >=0.32.0 + - decorator >=4.4.0 + - setuptools >=40.8.0 + - astunparse >=1.6.3 + - packaging >=20.0 + - psutil >=5.7.0 + +about: + home: https://www.mindspore.cn/ + license: Apache 2.0 + summary: MindSpore is a new open source deep learning training/inference framework that could be used for mobile, edge and cloud scenarios. diff --git a/scripts/conda/mindspore-ascend/1.5.0rc1/build.sh b/scripts/conda/mindspore-ascend/1.5.0rc1/build.sh new file mode 100644 index 0000000000..d91f7dd605 --- /dev/null +++ b/scripts/conda/mindspore-ascend/1.5.0rc1/build.sh @@ -0,0 +1,33 @@ +#!/bin/bash + +# install MindSpore-Ascend using pip +if [ "$(uname)" == Linux ]; then + if [ "$(arch)" == aarch64 ]; then + echo "running on aarch64 linux system." + if [ "$PY_VER" == "3.7" ]; then + echo "building conda package for python3.7" + pip install https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.5.0-rc1/MindSpore/ascend/aarch64/mindspore_ascend-1.5.0rc1-cp37-cp37m-linux_aarch64.whl --trusted-host ms-release.obs.cn-north-4.myhuaweicloud.com -i https://pypi.tuna.tsinghua.edu.cn/simple + elif [ "$PY_VER" == "3.9" ]; then + echo "building conda package for python3.9" + pip install https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.5.0-rc1/MindSpore/ascend/aarch64/mindspore_ascend-1.5.0rc1-cp39-cp39-linux_aarch64.whl --trusted-host ms-release.obs.cn-north-4.myhuaweicloud.com -i https://pypi.tuna.tsinghua.edu.cn/simple + else + echo "ERROR: you are trying to build MindSpore conda package on a unsupported python environment, try python 3.7 or 3.9" + exit 1 + fi + elif [ "$(arch)" == x86_64 ]; then + echo "running on x86_64 linux system." + if [ "$PY_VER" == "3.7" ]; then + echo "building conda package for python3.7" + pip install https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.5.0-rc1/MindSpore/ascend/x86_64/mindspore_ascend-1.5.0rc1-cp37-cp37m-linux_x86_64.whl --trusted-host ms-release.obs.cn-north-4.myhuaweicloud.com -i https://pypi.tuna.tsinghua.edu.cn/simple + elif [ "$PY_VER" == "3.9" ]; then + echo "building conda package for python3.9" + pip install https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.5.0-rc1/MindSpore/ascend/x86_64/mindspore_ascend-1.5.0rc1-cp39-cp39-linux_x86_64.whl --trusted-host ms-release.obs.cn-north-4.myhuaweicloud.com -i https://pypi.tuna.tsinghua.edu.cn/simple + else + echo "ERROR: you are trying to build MindSpore conda package on a unsupported python environment, try python 3.7 or 3.9" + exit 1 + fi + else + echo "ERROR: unknown linux architecture, try building MindSpore conda package on a supported architecture." + exit 1 + fi +fi diff --git a/scripts/conda/mindspore-ascend/1.5.0rc1/meta.yaml b/scripts/conda/mindspore-ascend/1.5.0rc1/meta.yaml new file mode 100644 index 0000000000..e9a495eaa7 --- /dev/null +++ b/scripts/conda/mindspore-ascend/1.5.0rc1/meta.yaml @@ -0,0 +1,40 @@ +package: + name: mindspore-ascend + version: "1.5.0rc1" + +build: + number: 0 + rpaths: + - /usr/local/Ascend/nnae/latest/fwkacllib/lib64 + - /usr/local/Ascend/ascend-toolkit/latest/fwkacllib/lib64 + - /usr/local/Ascend/fwkacllib/lib64 + - /usr/local/Ascend/nnae/latest/fwkacllib/lib64/plugin/opskernel + - /usr/local/Ascend/ascend-toolkit/latest/fwkacllib/lib64/plugin/opskernel + - /usr/local/Ascend/fwkacllib/lib64/plugin/opskernel + - /usr/local/Ascend/opp/op_impl/built-in/ai_core/tbe/op_tiling + - /usr/local/Ascend/nnae/latest/opp/op_impl/built-in/ai_core/tbe/op_tiling + - /usr/local/Ascend/ascend-toolkit/latest/opp/op_impl/built-in/ai_core/tbe/op_tiling + +requirements: + build: + - python + - pip + run: + - python + - numpy >=1.17.0 + - protobuf >=3.13.0 + - asttokens >=1.1.13 + - pillow >=6.2.0 + - scipy >=1.5.2 + - cffi >=1.12.3 + - wheel >=0.32.0 + - decorator >=4.4.0 + - setuptools >=40.8.0 + - astunparse >=1.6.3 + - packaging >=20.0 + - psutil >=5.7.0 + +about: + home: https://www.mindspore.cn/ + license: Apache 2.0 + summary: MindSpore is a new open source deep learning training/inference framework that could be used for mobile, edge and cloud scenarios. diff --git a/scripts/conda/mindspore-cpu/1.3.0/bld.bat b/scripts/conda/mindspore-cpu/1.3.0/bld.bat new file mode 100644 index 0000000000..0eebbd815d --- /dev/null +++ b/scripts/conda/mindspore-cpu/1.3.0/bld.bat @@ -0,0 +1,13 @@ +@rem install MindSpore-CPU for windows using pip +@echo off + +IF "%PY_VER%" == "3.7" ( + echo "building conda package for python3.7" + pip install https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.3.0/MindSpore/cpu/x86_64/mindspore-1.3.0-cp37-cp37m-win_amd64.whl --trusted-host ms-release.obs.cn-north-4.myhuaweicloud.com -i https://pypi.tuna.tsinghua.edu.cn/simple +) ELSE IF "%PY_VER%" == "3.9" ( + echo "building conda package for python3.9, which is not supported on MindSpore 1.3.0" + EXIT /b 1 +) ELSE ( + echo "ERROR: you are trying to build MindSpore conda package on a unsupported python environment, try python 3.7 or 3.9" + EXIT /b 1 +) diff --git a/scripts/conda/mindspore-cpu/1.3.0/build.sh b/scripts/conda/mindspore-cpu/1.3.0/build.sh new file mode 100644 index 0000000000..3eee451fcd --- /dev/null +++ b/scripts/conda/mindspore-cpu/1.3.0/build.sh @@ -0,0 +1,31 @@ +#!/bin/bash + +# install MindSpore-CPU using pip +if [ "$(uname)" == Linux ]; then + if [ "$(arch)" == aarch64 ]; then + echo "running on aarch64 linux system." + if [ "$PY_VER" == "3.7" ]; then + echo "building conda package for python3.7" + pip install https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.3.0/MindSpore/cpu/aarch64/mindspore-1.3.0-cp37-cp37m-linux_aarch64.whl --trusted-host ms-release.obs.cn-north-4.myhuaweicloud.com -i https://pypi.tuna.tsinghua.edu.cn/simple + elif [ "$PY_VER" == "3.9" ]; then + echo "building conda package for python3.9" + else + echo "ERROR: you are trying to build MindSpore conda package on a unsupported python environment, try python 3.7 or 3.9" + exit 1 + fi + elif [ "$(arch)" == x86_64 ]; then + echo "running on x86_64 linux system." + if [ "$PY_VER" == "3.7" ]; then + echo "building conda package for python3.7" + pip install https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.3.0/MindSpore/cpu/x86_64/mindspore-1.3.0-cp37-cp37m-linux_x86_64.whl --trusted-host ms-release.obs.cn-north-4.myhuaweicloud.com -i https://pypi.tuna.tsinghua.edu.cn/simple + elif [ "$PY_VER" == "3.9" ]; then + echo "building conda package for python3.9" + else + echo "ERROR: you are trying to build MindSpore conda package on a unsupported python environment, try python 3.7 or 3.9" + exit 1 + fi + else + echo "ERROR: unknown linux architecture, try building MindSpore conda package on a supported architecture." + exit 1 + fi +fi \ No newline at end of file diff --git a/scripts/conda/mindspore-cpu/1.3.0/meta.yaml b/scripts/conda/mindspore-cpu/1.3.0/meta.yaml new file mode 100644 index 0000000000..00138966ac --- /dev/null +++ b/scripts/conda/mindspore-cpu/1.3.0/meta.yaml @@ -0,0 +1,30 @@ +package: + name: mindspore-cpu + version: "1.3.0" + +build: + number: 0 + +requirements: + build: + - python + - pip + run: + - python + - numpy >=1.17.0 + - protobuf >=3.13.0 + - asttokens >=1.1.13 + - pillow >=6.2.0 + - scipy >=1.5.2 + - cffi >=1.12.3 + - wheel >=0.32.0 + - decorator >=4.4.0 + - setuptools >=40.8.0 + - astunparse >=1.6.3 + - packaging >=20.0 + - psutil >=5.7.0 + +about: + home: https://www.mindspore.cn/ + license: Apache 2.0 + summary: MindSpore is a new open source deep learning training/inference framework that could be used for mobile, edge and cloud scenarios. diff --git a/scripts/conda/mindspore-cpu/1.5.0/bld.bat b/scripts/conda/mindspore-cpu/1.5.0/bld.bat new file mode 100644 index 0000000000..3b1cd3ba29 --- /dev/null +++ b/scripts/conda/mindspore-cpu/1.5.0/bld.bat @@ -0,0 +1,13 @@ +@rem install MindSpore-CPU for windows using pip +@echo off + +IF "%PY_VER%" == "3.7" ( + echo "building conda package for python3.7" + pip install https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.5.0/MindSpore/cpu/x86_64/mindspore-1.5.0-cp37-cp37m-win_amd64.whl --trusted-host ms-release.obs.cn-north-4.myhuaweicloud.com -i https://pypi.tuna.tsinghua.edu.cn/simple +) ELSE IF "%PY_VER%" == "3.9" ( + echo "building conda package for python3.9" + pip install https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.5.0/MindSpore/cpu/x86_64/mindspore-1.5.0-cp39-cp39-win_amd64.whl --trusted-host ms-release.obs.cn-north-4.myhuaweicloud.com -i https://pypi.tuna.tsinghua.edu.cn/simple +) ELSE ( + echo "ERROR: you are trying to build MindSpore conda package on a unsupported python environment, try python 3.7 or 3.9" + EXIT /b 1 +) diff --git a/scripts/conda/mindspore-cpu/1.5.0/build.sh b/scripts/conda/mindspore-cpu/1.5.0/build.sh new file mode 100644 index 0000000000..fc075a4d19 --- /dev/null +++ b/scripts/conda/mindspore-cpu/1.5.0/build.sh @@ -0,0 +1,42 @@ +#!/bin/bash + +# install MindSpore-CPU using pip +if [ "$(uname)" == Darwin ]; then + if [ "$PY_VER" == "3.7" ]; then + echo "nothing happens yet" + else + echo "nothing happens yet" + fi +fi + + +if [ "$(uname)" == Linux ]; then + if [ "$(arch)" == aarch64 ]; then + echo "running on aarch64 linux system." + if [ "$PY_VER" == "3.7" ]; then + echo "building conda package for python3.7" + pip install https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.5.0/MindSpore/cpu/aarch64/mindspore-1.5.0-cp37-cp37m-linux_aarch64.whl --trusted-host ms-release.obs.cn-north-4.myhuaweicloud.com -i https://pypi.tuna.tsinghua.edu.cn/simple + elif [ "$PY_VER" == "3.9" ]; then + echo "building conda package for python3.9" + pip install https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.5.0/MindSpore/cpu/aarch64/mindspore-1.5.0-cp39-cp39-linux_aarch64.whl --trusted-host ms-release.obs.cn-north-4.myhuaweicloud.com -i https://pypi.tuna.tsinghua.edu.cn/simple + else + echo "ERROR: you are trying to build MindSpore conda package on a unsupported python environment, try python 3.7 or 3.9" + exit 1 + fi + elif [ "$(arch)" == x86_64 ]; then + echo "running on x86_64 linux system." + if [ "$PY_VER" == "3.7" ]; then + echo "building conda package for python3.7" + pip install https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.5.0/MindSpore/cpu/x86_64/mindspore-1.5.0-cp37-cp37m-linux_x86_64.whl --trusted-host ms-release.obs.cn-north-4.myhuaweicloud.com -i https://pypi.tuna.tsinghua.edu.cn/simple + elif [ "$PY_VER" == "3.9" ]; then + echo "building conda package for python3.9" + pip install https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.5.0/MindSpore/cpu/x86_64/mindspore-1.5.0-cp39-cp39-linux_x86_64.whl --trusted-host ms-release.obs.cn-north-4.myhuaweicloud.com -i https://pypi.tuna.tsinghua.edu.cn/simple + else + echo "ERROR: you are trying to build MindSpore conda package on a unsupported python environment, try python 3.7 or 3.9" + exit 1 + fi + else + echo "ERROR: unknown linux architecture, try building MindSpore conda package on a supported architecture." + exit 1 + fi +fi diff --git a/scripts/conda/mindspore-cpu/1.5.0/meta.yaml b/scripts/conda/mindspore-cpu/1.5.0/meta.yaml new file mode 100644 index 0000000000..47aadd49ee --- /dev/null +++ b/scripts/conda/mindspore-cpu/1.5.0/meta.yaml @@ -0,0 +1,30 @@ +package: + name: mindspore-cpu + version: "1.5.0" + +build: + number: 0 + +requirements: + build: + - python + - pip + run: + - python + - numpy >=1.17.0 + - protobuf >=3.13.0 + - asttokens >=1.1.13 + - pillow >=6.2.0 + - scipy >=1.5.2 + - cffi >=1.12.3 + - wheel >=0.32.0 + - decorator >=4.4.0 + - setuptools >=40.8.0 + - astunparse >=1.6.3 + - packaging >=20.0 + - psutil >=5.7.0 + +about: + home: https://www.mindspore.cn/ + license: Apache 2.0 + summary: MindSpore is a new open source deep learning training/inference framework that could be used for mobile, edge and cloud scenarios. diff --git a/scripts/conda/mindspore-cpu/1.5.0rc1/bld.bat b/scripts/conda/mindspore-cpu/1.5.0rc1/bld.bat new file mode 100644 index 0000000000..80866b335d --- /dev/null +++ b/scripts/conda/mindspore-cpu/1.5.0rc1/bld.bat @@ -0,0 +1,13 @@ +@rem install MindSpore-CPU for windows using pip +@echo off + +IF "%PY_VER%" == "3.7" ( + echo "building conda package for python3.7" + pip install https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.5.0-rc1/MindSpore/cpu/x86_64/mindspore-1.5.0rc1-cp37-cp37m-win_amd64.whl --trusted-host ms-release.obs.cn-north-4.myhuaweicloud.com -i https://pypi.tuna.tsinghua.edu.cn/simple +) ELSE IF "%PY_VER%" == "3.9" ( + echo "building conda package for python3.9" + pip install https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.5.0-rc1/MindSpore/cpu/x86_64/mindspore-1.5.0rc1-cp39-cp39-win_amd64.whl --trusted-host ms-release.obs.cn-north-4.myhuaweicloud.com -i https://pypi.tuna.tsinghua.edu.cn/simple +) ELSE ( + echo "ERROR: you are trying to build MindSpore conda package on a unsupported python environment, try python 3.7 or 3.9" + EXIT /b 1 +) diff --git a/scripts/conda/mindspore-cpu/1.5.0rc1/build.sh b/scripts/conda/mindspore-cpu/1.5.0rc1/build.sh new file mode 100644 index 0000000000..4f87d580de --- /dev/null +++ b/scripts/conda/mindspore-cpu/1.5.0rc1/build.sh @@ -0,0 +1,42 @@ +#!/bin/bash + +# install MindSpore-CPU using pip +if [ "$(uname)" == Darwin ]; then + if [ "$PY_VER" == "3.7" ]; then + echo "nothing happens yet" + else + echo "nothing happens yet" + fi +fi + + +if [ "$(uname)" == Linux ]; then + if [ "$(arch)" == aarch64 ]; then + echo "running on aarch64 linux system." + if [ "$PY_VER" == "3.7" ]; then + echo "building conda package for python3.7" + pip install https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.5.0-rc1/MindSpore/cpu/aarch64/mindspore-1.5.0rc1-cp37-cp37m-linux_aarch64.whl --trusted-host ms-release.obs.cn-north-4.myhuaweicloud.com -i https://pypi.tuna.tsinghua.edu.cn/simple + elif [ "$PY_VER" == "3.9" ]; then + echo "building conda package for python3.9" + pip install https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.5.0-rc1/MindSpore/cpu/aarch64/mindspore-1.5.0rc1-cp39-cp39-linux_aarch64.whl --trusted-host ms-release.obs.cn-north-4.myhuaweicloud.com -i https://pypi.tuna.tsinghua.edu.cn/simple + else + echo "ERROR: you are trying to build MindSpore conda package on a unsupported python environment, try python 3.7 or 3.9" + exit 1 + fi + elif [ "$(arch)" == x86_64 ]; then + echo "running on x86_64 linux system." + if [ "$PY_VER" == "3.7" ]; then + echo "building conda package for python3.7" + pip install https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.5.0-rc1/MindSpore/cpu/x86_64/mindspore-1.5.0rc1-cp37-cp37m-linux_x86_64.whl --trusted-host ms-release.obs.cn-north-4.myhuaweicloud.com -i https://pypi.tuna.tsinghua.edu.cn/simple + elif [ "$PY_VER" == "3.9" ]; then + echo "building conda package for python3.9" + pip install https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.5.0-rc1/MindSpore/cpu/x86_64/mindspore-1.5.0rc1-cp39-cp39-linux_x86_64.whl --trusted-host ms-release.obs.cn-north-4.myhuaweicloud.com -i https://pypi.tuna.tsinghua.edu.cn/simple + else + echo "ERROR: you are trying to build MindSpore conda package on a unsupported python environment, try python 3.7 or 3.9" + exit 1 + fi + else + echo "ERROR: unknown linux architecture, try building MindSpore conda package on a supported architecture." + exit 1 + fi +fi diff --git a/scripts/conda/mindspore-cpu/1.5.0rc1/meta.yaml b/scripts/conda/mindspore-cpu/1.5.0rc1/meta.yaml new file mode 100644 index 0000000000..ef8270105d --- /dev/null +++ b/scripts/conda/mindspore-cpu/1.5.0rc1/meta.yaml @@ -0,0 +1,30 @@ +package: + name: mindspore-cpu + version: "1.5.0rc1" + +build: + number: 0 + +requirements: + build: + - python + - pip + run: + - python + - numpy >=1.17.0 + - protobuf >=3.13.0 + - asttokens >=1.1.13 + - pillow >=6.2.0 + - scipy >=1.5.2 + - cffi >=1.12.3 + - wheel >=0.32.0 + - decorator >=4.4.0 + - setuptools >=40.8.0 + - astunparse >=1.6.3 + - packaging >=20.0 + - psutil >=5.7.0 + +about: + home: https://www.mindspore.cn/ + license: Apache 2.0 + summary: MindSpore is a new open source deep learning training/inference framework that could be used for mobile, edge and cloud scenarios. diff --git a/scripts/conda/mindspore-gpu/1.3.0/build.sh b/scripts/conda/mindspore-gpu/1.3.0/build.sh new file mode 100644 index 0000000000..f773167706 --- /dev/null +++ b/scripts/conda/mindspore-gpu/1.3.0/build.sh @@ -0,0 +1,14 @@ +#!/bin/bash + +# install MindSpore-GPU using pip +if [ "$(uname)" == Linux ]; then + if [ "$PY_VER" == "3.7" ]; then + echo "building conda package for python3.7" + pip install https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.3.0/MindSpore/gpu/x86_64/cuda-11.1/mindspore_gpu-1.3.0-cp37-cp37m-linux_x86_64.whl --trusted-host ms-release.obs.cn-north-4.myhuaweicloud.com -i https://pypi.tuna.tsinghua.edu.cn/simple + elif [ "$PY_VER" == "3.9" ]; then + echo "building conda package for python3.9" + else + echo "ERROR: you are trying to build MindSpore conda package on a unsupported python environment, try python 3.7 or 3.9" + exit 1 + fi +fi \ No newline at end of file diff --git a/scripts/conda/mindspore-gpu/1.3.0/meta.yaml b/scripts/conda/mindspore-gpu/1.3.0/meta.yaml new file mode 100644 index 0000000000..88bcad6a45 --- /dev/null +++ b/scripts/conda/mindspore-gpu/1.3.0/meta.yaml @@ -0,0 +1,30 @@ +package: + name: mindspore-gpu + version: "1.3.0" + +build: + number: 0 + +requirements: + build: + - python + - pip + run: + - python + - numpy >=1.17.0 + - protobuf >=3.13.0 + - asttokens >=1.1.13 + - pillow >=6.2.0 + - scipy >=1.5.2 + - cffi >=1.12.3 + - wheel >=0.32.0 + - decorator >=4.4.0 + - setuptools >=40.8.0 + - astunparse >=1.6.3 + - packaging >=20.0 + - psutil >=5.7.0 + +about: + home: https://www.mindspore.cn/ + license: Apache 2.0 + summary: MindSpore is a new open source deep learning training/inference framework that could be used for mobile, edge and cloud scenarios. diff --git a/scripts/conda/mindspore-gpu/1.5.0/py37/cuda10.1/build.sh b/scripts/conda/mindspore-gpu/1.5.0/py37/cuda10.1/build.sh new file mode 100644 index 0000000000..18002e7a03 --- /dev/null +++ b/scripts/conda/mindspore-gpu/1.5.0/py37/cuda10.1/build.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +# install MindSpore-GPU using pip +if [ "$(uname)" == Linux ]; then + if [ "$PY_VER" == "3.7" ]; then + echo "building conda package for python3.7" + pip install https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.5.0/MindSpore/gpu/x86_64/cuda-10.1/mindspore_gpu-1.5.0-cp37-cp37m-linux_x86_64.whl --trusted-host ms-release.obs.cn-north-4.myhuaweicloud.com -i https://pypi.tuna.tsinghua.edu.cn/simple + elif [ "$PY_VER" == "3.9" ]; then + echo "building conda package for python3.9" + pip install https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.5.0/MindSpore/gpu/x86_64/cuda-10.1/mindspore_gpu-1.5.0-cp39-cp39-linux_x86_64.whl --trusted-host ms-release.obs.cn-north-4.myhuaweicloud.com -i https://pypi.tuna.tsinghua.edu.cn/simple + else + echo "ERROR: you are trying to build MindSpore conda package on a unsupported python environment, try python 3.7 or 3.9" + exit 1 + fi +fi diff --git a/scripts/conda/mindspore-gpu/1.5.0/py37/cuda10.1/meta.yaml b/scripts/conda/mindspore-gpu/1.5.0/py37/cuda10.1/meta.yaml new file mode 100644 index 0000000000..da7dab16e9 --- /dev/null +++ b/scripts/conda/mindspore-gpu/1.5.0/py37/cuda10.1/meta.yaml @@ -0,0 +1,32 @@ +package: + name: mindspore-gpu + version: "1.5.0" + +build: + number: 0 + string: py37_cuda10.1 + +requirements: + build: + - python>=3.7, <3.8 + - pip + run: + - python>=3.7, <3.8 + - numpy >=1.17.0 + - protobuf >=3.13.0 + - asttokens >=1.1.13 + - pillow >=6.2.0 + - scipy >=1.5.2 + - cffi >=1.12.3 + - wheel >=0.32.0 + - decorator >=4.4.0 + - setuptools >=40.8.0 + - astunparse >=1.6.3 + - packaging >=20.0 + - psutil >=5.7.0 + - cudatoolkit >=10.1, <10.2 + +about: + home: https://www.mindspore.cn/ + license: Apache 2.0 + summary: MindSpore is a new open source deep learning training/inference framework that could be used for mobile, edge and cloud scenarios. diff --git a/scripts/conda/mindspore-gpu/1.5.0/py37/cuda11.1/build.sh b/scripts/conda/mindspore-gpu/1.5.0/py37/cuda11.1/build.sh new file mode 100644 index 0000000000..ac0e3c2dac --- /dev/null +++ b/scripts/conda/mindspore-gpu/1.5.0/py37/cuda11.1/build.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +# install MindSpore-GPU using pip +if [ "$(uname)" == Linux ]; then + if [ "$PY_VER" == "3.7" ]; then + echo "building conda package for python3.7" + pip install https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.5.0/MindSpore/gpu/x86_64/cuda-11.1/mindspore_gpu-1.5.0-cp37-cp37m-linux_x86_64.whl --trusted-host ms-release.obs.cn-north-4.myhuaweicloud.com -i https://pypi.tuna.tsinghua.edu.cn/simple + elif [ "$PY_VER" == "3.9" ]; then + echo "building conda package for python3.9" + pip install https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.5.0/MindSpore/gpu/x86_64/cuda-11.1/mindspore_gpu-1.5.0-cp39-cp39-linux_x86_64.whl --trusted-host ms-release.obs.cn-north-4.myhuaweicloud.com -i https://pypi.tuna.tsinghua.edu.cn/simple + else + echo "ERROR: you are trying to build MindSpore conda package on a unsupported python environment, try python 3.7 or 3.9" + exit 1 + fi +fi diff --git a/scripts/conda/mindspore-gpu/1.5.0/py37/cuda11.1/meta.yaml b/scripts/conda/mindspore-gpu/1.5.0/py37/cuda11.1/meta.yaml new file mode 100644 index 0000000000..0f5d7a8307 --- /dev/null +++ b/scripts/conda/mindspore-gpu/1.5.0/py37/cuda11.1/meta.yaml @@ -0,0 +1,32 @@ +package: + name: mindspore-gpu + version: "1.5.0" + +build: + number: 0 + string: py37_cuda11.1 + +requirements: + build: + - python>=3.7, <3.8 + - pip + run: + - python>=3.7, <3.8 + - numpy >=1.17.0 + - protobuf >=3.13.0 + - asttokens >=1.1.13 + - pillow >=6.2.0 + - scipy >=1.5.2 + - cffi >=1.12.3 + - wheel >=0.32.0 + - decorator >=4.4.0 + - setuptools >=40.8.0 + - astunparse >=1.6.3 + - packaging >=20.0 + - psutil >=5.7.0 + - cudatoolkit >=11.1, <11.2 + +about: + home: https://www.mindspore.cn/ + license: Apache 2.0 + summary: MindSpore is a new open source deep learning training/inference framework that could be used for mobile, edge and cloud scenarios. diff --git a/scripts/conda/mindspore-gpu/1.5.0/py39/cuda10.1/build.sh b/scripts/conda/mindspore-gpu/1.5.0/py39/cuda10.1/build.sh new file mode 100644 index 0000000000..18002e7a03 --- /dev/null +++ b/scripts/conda/mindspore-gpu/1.5.0/py39/cuda10.1/build.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +# install MindSpore-GPU using pip +if [ "$(uname)" == Linux ]; then + if [ "$PY_VER" == "3.7" ]; then + echo "building conda package for python3.7" + pip install https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.5.0/MindSpore/gpu/x86_64/cuda-10.1/mindspore_gpu-1.5.0-cp37-cp37m-linux_x86_64.whl --trusted-host ms-release.obs.cn-north-4.myhuaweicloud.com -i https://pypi.tuna.tsinghua.edu.cn/simple + elif [ "$PY_VER" == "3.9" ]; then + echo "building conda package for python3.9" + pip install https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.5.0/MindSpore/gpu/x86_64/cuda-10.1/mindspore_gpu-1.5.0-cp39-cp39-linux_x86_64.whl --trusted-host ms-release.obs.cn-north-4.myhuaweicloud.com -i https://pypi.tuna.tsinghua.edu.cn/simple + else + echo "ERROR: you are trying to build MindSpore conda package on a unsupported python environment, try python 3.7 or 3.9" + exit 1 + fi +fi diff --git a/scripts/conda/mindspore-gpu/1.5.0/py39/cuda10.1/meta.yaml b/scripts/conda/mindspore-gpu/1.5.0/py39/cuda10.1/meta.yaml new file mode 100644 index 0000000000..7664b34aab --- /dev/null +++ b/scripts/conda/mindspore-gpu/1.5.0/py39/cuda10.1/meta.yaml @@ -0,0 +1,32 @@ +package: + name: mindspore-gpu + version: "1.5.0" + +build: + number: 0 + string: py39_cuda10.1 + +requirements: + build: + - python>=3.9, <3.10 + - pip + run: + - python>=3.9, <3.10 + - numpy >=1.17.0 + - protobuf >=3.13.0 + - asttokens >=1.1.13 + - pillow >=6.2.0 + - scipy >=1.5.2 + - cffi >=1.12.3 + - wheel >=0.32.0 + - decorator >=4.4.0 + - setuptools >=40.8.0 + - astunparse >=1.6.3 + - packaging >=20.0 + - psutil >=5.7.0 + - cudatoolkit >=10.1, <10.2 + +about: + home: https://www.mindspore.cn/ + license: Apache 2.0 + summary: MindSpore is a new open source deep learning training/inference framework that could be used for mobile, edge and cloud scenarios. diff --git a/scripts/conda/mindspore-gpu/1.5.0/py39/cuda11.1/build.sh b/scripts/conda/mindspore-gpu/1.5.0/py39/cuda11.1/build.sh new file mode 100644 index 0000000000..ac0e3c2dac --- /dev/null +++ b/scripts/conda/mindspore-gpu/1.5.0/py39/cuda11.1/build.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +# install MindSpore-GPU using pip +if [ "$(uname)" == Linux ]; then + if [ "$PY_VER" == "3.7" ]; then + echo "building conda package for python3.7" + pip install https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.5.0/MindSpore/gpu/x86_64/cuda-11.1/mindspore_gpu-1.5.0-cp37-cp37m-linux_x86_64.whl --trusted-host ms-release.obs.cn-north-4.myhuaweicloud.com -i https://pypi.tuna.tsinghua.edu.cn/simple + elif [ "$PY_VER" == "3.9" ]; then + echo "building conda package for python3.9" + pip install https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.5.0/MindSpore/gpu/x86_64/cuda-11.1/mindspore_gpu-1.5.0-cp39-cp39-linux_x86_64.whl --trusted-host ms-release.obs.cn-north-4.myhuaweicloud.com -i https://pypi.tuna.tsinghua.edu.cn/simple + else + echo "ERROR: you are trying to build MindSpore conda package on a unsupported python environment, try python 3.7 or 3.9" + exit 1 + fi +fi diff --git a/scripts/conda/mindspore-gpu/1.5.0/py39/cuda11.1/meta.yaml b/scripts/conda/mindspore-gpu/1.5.0/py39/cuda11.1/meta.yaml new file mode 100644 index 0000000000..4544a4d599 --- /dev/null +++ b/scripts/conda/mindspore-gpu/1.5.0/py39/cuda11.1/meta.yaml @@ -0,0 +1,32 @@ +package: + name: mindspore-gpu + version: "1.5.0" + +build: + number: 0 + string: py39_cuda11.1 + +requirements: + build: + - python>=3.9, <3.10 + - pip + run: + - python>=3.9, <3.10 + - numpy >=1.17.0 + - protobuf >=3.13.0 + - asttokens >=1.1.13 + - pillow >=6.2.0 + - scipy >=1.5.2 + - cffi >=1.12.3 + - wheel >=0.32.0 + - decorator >=4.4.0 + - setuptools >=40.8.0 + - astunparse >=1.6.3 + - packaging >=20.0 + - psutil >=5.7.0 + - cudatoolkit >=11.1, <11.2 + +about: + home: https://www.mindspore.cn/ + license: Apache 2.0 + summary: MindSpore is a new open source deep learning training/inference framework that could be used for mobile, edge and cloud scenarios. diff --git a/scripts/conda/mindspore-gpu/1.5.0rc1/py37/cuda10.1/build.sh b/scripts/conda/mindspore-gpu/1.5.0rc1/py37/cuda10.1/build.sh new file mode 100644 index 0000000000..d61385c281 --- /dev/null +++ b/scripts/conda/mindspore-gpu/1.5.0rc1/py37/cuda10.1/build.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +# install MindSpore-GPU using pip +if [ "$(uname)" == Linux ]; then + if [ "$PY_VER" == "3.7" ]; then + echo "building conda package for python3.7" + pip install https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.5.0-rc1/MindSpore/gpu/x86_64/cuda-10.1/mindspore_gpu-1.5.0rc1-cp37-cp37m-linux_x86_64.whl --trusted-host ms-release.obs.cn-north-4.myhuaweicloud.com -i https://pypi.tuna.tsinghua.edu.cn/simple + elif [ "$PY_VER" == "3.9" ]; then + echo "building conda package for python3.9" + pip install https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.5.0-rc1/MindSpore/gpu/x86_64/cuda-10.1/mindspore_gpu-1.5.0rc1-cp39-cp39-linux_x86_64.whl --trusted-host ms-release.obs.cn-north-4.myhuaweicloud.com -i https://pypi.tuna.tsinghua.edu.cn/simple + else + echo "ERROR: you are trying to build MindSpore conda package on a unsupported python environment, try python 3.7 or 3.9" + exit 1 + fi +fi diff --git a/scripts/conda/mindspore-gpu/1.5.0rc1/py37/cuda10.1/meta.yaml b/scripts/conda/mindspore-gpu/1.5.0rc1/py37/cuda10.1/meta.yaml new file mode 100644 index 0000000000..0800382f14 --- /dev/null +++ b/scripts/conda/mindspore-gpu/1.5.0rc1/py37/cuda10.1/meta.yaml @@ -0,0 +1,32 @@ +package: + name: mindspore-gpu + version: "1.5.0rc1" + +build: + number: 0 + string: py37_cuda10.1 + +requirements: + build: + - python>=3.7, <3.8 + - pip + run: + - python>=3.7, <3.8 + - numpy >=1.17.0 + - protobuf >=3.13.0 + - asttokens >=1.1.13 + - pillow >=6.2.0 + - scipy >=1.5.2 + - cffi >=1.12.3 + - wheel >=0.32.0 + - decorator >=4.4.0 + - setuptools >=40.8.0 + - astunparse >=1.6.3 + - packaging >=20.0 + - psutil >=5.7.0 + - cudatoolkit >=10.1, <10.2 + +about: + home: https://www.mindspore.cn/ + license: Apache 2.0 + summary: MindSpore is a new open source deep learning training/inference framework that could be used for mobile, edge and cloud scenarios. diff --git a/scripts/conda/mindspore-gpu/1.5.0rc1/py37/cuda11.1/build.sh b/scripts/conda/mindspore-gpu/1.5.0rc1/py37/cuda11.1/build.sh new file mode 100644 index 0000000000..d4aa7db18d --- /dev/null +++ b/scripts/conda/mindspore-gpu/1.5.0rc1/py37/cuda11.1/build.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +# install MindSpore-GPU using pip +if [ "$(uname)" == Linux ]; then + if [ "$PY_VER" == "3.7" ]; then + echo "building conda package for python3.7" + pip install https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.5.0-rc1/MindSpore/gpu/x86_64/cuda-11.1/mindspore_gpu-1.5.0rc1-cp37-cp37m-linux_x86_64.whl --trusted-host ms-release.obs.cn-north-4.myhuaweicloud.com -i https://pypi.tuna.tsinghua.edu.cn/simple + elif [ "$PY_VER" == "3.9" ]; then + echo "building conda package for python3.9" + pip install https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.5.0-rc1/MindSpore/gpu/x86_64/cuda-11.1/mindspore_gpu-1.5.0rc1-cp39-cp39-linux_x86_64.whl --trusted-host ms-release.obs.cn-north-4.myhuaweicloud.com -i https://pypi.tuna.tsinghua.edu.cn/simple + else + echo "ERROR: you are trying to build MindSpore conda package on a unsupported python environment, try python 3.7 or 3.9" + exit 1 + fi +fi diff --git a/scripts/conda/mindspore-gpu/1.5.0rc1/py37/cuda11.1/meta.yaml b/scripts/conda/mindspore-gpu/1.5.0rc1/py37/cuda11.1/meta.yaml new file mode 100644 index 0000000000..19403ce148 --- /dev/null +++ b/scripts/conda/mindspore-gpu/1.5.0rc1/py37/cuda11.1/meta.yaml @@ -0,0 +1,32 @@ +package: + name: mindspore-gpu + version: "1.5.0rc1" + +build: + number: 0 + string: py37_cuda11.1 + +requirements: + build: + - python>=3.7, <3.8 + - pip + run: + - python>=3.7, <3.8 + - numpy >=1.17.0 + - protobuf >=3.13.0 + - asttokens >=1.1.13 + - pillow >=6.2.0 + - scipy >=1.5.2 + - cffi >=1.12.3 + - wheel >=0.32.0 + - decorator >=4.4.0 + - setuptools >=40.8.0 + - astunparse >=1.6.3 + - packaging >=20.0 + - psutil >=5.7.0 + - cudatoolkit >=11.1, <11.2 + +about: + home: https://www.mindspore.cn/ + license: Apache 2.0 + summary: MindSpore is a new open source deep learning training/inference framework that could be used for mobile, edge and cloud scenarios. diff --git a/scripts/conda/mindspore-gpu/1.5.0rc1/py39/cuda10.1/build.sh b/scripts/conda/mindspore-gpu/1.5.0rc1/py39/cuda10.1/build.sh new file mode 100644 index 0000000000..d61385c281 --- /dev/null +++ b/scripts/conda/mindspore-gpu/1.5.0rc1/py39/cuda10.1/build.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +# install MindSpore-GPU using pip +if [ "$(uname)" == Linux ]; then + if [ "$PY_VER" == "3.7" ]; then + echo "building conda package for python3.7" + pip install https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.5.0-rc1/MindSpore/gpu/x86_64/cuda-10.1/mindspore_gpu-1.5.0rc1-cp37-cp37m-linux_x86_64.whl --trusted-host ms-release.obs.cn-north-4.myhuaweicloud.com -i https://pypi.tuna.tsinghua.edu.cn/simple + elif [ "$PY_VER" == "3.9" ]; then + echo "building conda package for python3.9" + pip install https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.5.0-rc1/MindSpore/gpu/x86_64/cuda-10.1/mindspore_gpu-1.5.0rc1-cp39-cp39-linux_x86_64.whl --trusted-host ms-release.obs.cn-north-4.myhuaweicloud.com -i https://pypi.tuna.tsinghua.edu.cn/simple + else + echo "ERROR: you are trying to build MindSpore conda package on a unsupported python environment, try python 3.7 or 3.9" + exit 1 + fi +fi diff --git a/scripts/conda/mindspore-gpu/1.5.0rc1/py39/cuda10.1/meta.yaml b/scripts/conda/mindspore-gpu/1.5.0rc1/py39/cuda10.1/meta.yaml new file mode 100644 index 0000000000..a35e047fe2 --- /dev/null +++ b/scripts/conda/mindspore-gpu/1.5.0rc1/py39/cuda10.1/meta.yaml @@ -0,0 +1,32 @@ +package: + name: mindspore-gpu + version: "1.5.0rc1" + +build: + number: 0 + string: py39_cuda10.1 + +requirements: + build: + - python>=3.9, <3.10 + - pip + run: + - python>=3.9, <3.10 + - numpy >=1.17.0 + - protobuf >=3.13.0 + - asttokens >=1.1.13 + - pillow >=6.2.0 + - scipy >=1.5.2 + - cffi >=1.12.3 + - wheel >=0.32.0 + - decorator >=4.4.0 + - setuptools >=40.8.0 + - astunparse >=1.6.3 + - packaging >=20.0 + - psutil >=5.7.0 + - cudatoolkit >=10.1, <10.2 + +about: + home: https://www.mindspore.cn/ + license: Apache 2.0 + summary: MindSpore is a new open source deep learning training/inference framework that could be used for mobile, edge and cloud scenarios. diff --git a/scripts/conda/mindspore-gpu/1.5.0rc1/py39/cuda11.1/build.sh b/scripts/conda/mindspore-gpu/1.5.0rc1/py39/cuda11.1/build.sh new file mode 100644 index 0000000000..d4aa7db18d --- /dev/null +++ b/scripts/conda/mindspore-gpu/1.5.0rc1/py39/cuda11.1/build.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +# install MindSpore-GPU using pip +if [ "$(uname)" == Linux ]; then + if [ "$PY_VER" == "3.7" ]; then + echo "building conda package for python3.7" + pip install https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.5.0-rc1/MindSpore/gpu/x86_64/cuda-11.1/mindspore_gpu-1.5.0rc1-cp37-cp37m-linux_x86_64.whl --trusted-host ms-release.obs.cn-north-4.myhuaweicloud.com -i https://pypi.tuna.tsinghua.edu.cn/simple + elif [ "$PY_VER" == "3.9" ]; then + echo "building conda package for python3.9" + pip install https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.5.0-rc1/MindSpore/gpu/x86_64/cuda-11.1/mindspore_gpu-1.5.0rc1-cp39-cp39-linux_x86_64.whl --trusted-host ms-release.obs.cn-north-4.myhuaweicloud.com -i https://pypi.tuna.tsinghua.edu.cn/simple + else + echo "ERROR: you are trying to build MindSpore conda package on a unsupported python environment, try python 3.7 or 3.9" + exit 1 + fi +fi diff --git a/scripts/conda/mindspore-gpu/1.5.0rc1/py39/cuda11.1/meta.yaml b/scripts/conda/mindspore-gpu/1.5.0rc1/py39/cuda11.1/meta.yaml new file mode 100644 index 0000000000..f0095aab3c --- /dev/null +++ b/scripts/conda/mindspore-gpu/1.5.0rc1/py39/cuda11.1/meta.yaml @@ -0,0 +1,32 @@ +package: + name: mindspore-gpu + version: "1.5.0rc1" + +build: + number: 0 + string: py39_cuda11.1 + +requirements: + build: + - python>=3.9, <3.10 + - pip + run: + - python>=3.9, <3.10 + - numpy >=1.17.0 + - protobuf >=3.13.0 + - asttokens >=1.1.13 + - pillow >=6.2.0 + - scipy >=1.5.2 + - cffi >=1.12.3 + - wheel >=0.32.0 + - decorator >=4.4.0 + - setuptools >=40.8.0 + - astunparse >=1.6.3 + - packaging >=20.0 + - psutil >=5.7.0 + - cudatoolkit >=11.1, <11.2 + +about: + home: https://www.mindspore.cn/ + license: Apache 2.0 + summary: MindSpore is a new open source deep learning training/inference framework that could be used for mobile, edge and cloud scenarios. diff --git a/scripts/docker/OWNERS b/scripts/docker/OWNERS new file mode 100644 index 0000000000..bbace27346 --- /dev/null +++ b/scripts/docker/OWNERS @@ -0,0 +1,6 @@ +approvers: +- zhoufeng54 +- jjfeing +- kisnwang +reviewers: +- HW_KK \ No newline at end of file diff --git a/scripts/docker/README.md b/scripts/docker/README.md new file mode 100644 index 0000000000..bceeef0cae --- /dev/null +++ b/scripts/docker/README.md @@ -0,0 +1,16 @@ +## MindSpore Dockerfile Repository + +This folder hosts all the `Dockerfile` to build MindSpore container images with various hardware platforms. + +### MindSpore docker build command + +| Hardware Platform | Version | Build Command | +| :---------------- | :------ | :------------ | +| CPU | `x.y.z` | cd mindspore-cpu/x.y.z && docker build . -t mindspore/mindspore-cpu:x.y.z | +| | `devel` | cd mindspore-cpu/devel && docker build . -t mindspore/mindspore-cpu:devel | +| | `runtime` | cd mindspore-cpu/runtime && docker build . -t mindspore/mindspore-cpu:runtime | +| GPU | `x.y.z` | cd mindspore-gpu/x.y.z && docker build . -t mindspore/mindspore-gpu:x.y.z | +| | `devel` | cd mindspore-gpu/devel && docker build . -t mindspore/mindspore-gpu:devel | +| | `runtime` | cd mindspore-gpu/runtime && docker build . -t mindspore/mindspore-gpu:runtime | + +> **NOTICE:** The `x.y.z` version shown above should be replaced with the real version number. diff --git a/scripts/docker/mindspore-cpu/0.1.0-alpha/Dockerfile b/scripts/docker/mindspore-cpu/0.1.0-alpha/Dockerfile new file mode 100644 index 0000000000..c9fb7c2b88 --- /dev/null +++ b/scripts/docker/mindspore-cpu/0.1.0-alpha/Dockerfile @@ -0,0 +1,67 @@ +FROM ubuntu:18.04 + +MAINTAINER leonwanghui + +# Set env +ENV PYTHON_ROOT_PATH /usr/local/python-3.7.5 +ENV PATH /usr/local/bin:$PATH + +# Install base tools +RUN apt update \ + && DEBIAN_FRONTEND=noninteractive apt install -y \ + vim \ + wget \ + curl \ + xz-utils \ + net-tools \ + openssh-client \ + git \ + ntpdate \ + tzdata \ + tcl \ + sudo \ + bash-completion + +# Install compile tools +RUN DEBIAN_FRONTEND=noninteractive apt install -y \ + gcc \ + g++ \ + zlibc \ + make \ + libgmp-dev \ + patch \ + autoconf \ + libtool \ + automake \ + flex + +# Set bash +RUN echo "dash dash/sh boolean false" | debconf-set-selections +RUN DEBIAN_FRONTEND=noninteractive dpkg-reconfigure dash + +# Install python (v3.7.5) +RUN apt install -y libffi-dev libssl-dev zlib1g-dev libbz2-dev libncurses5-dev \ + libgdbm-dev libgdbm-compat-dev liblzma-dev libreadline-dev libsqlite3-dev \ + && cd /tmp \ + && wget https://github.com/python/cpython/archive/v3.7.5.tar.gz \ + && tar -xvf v3.7.5.tar.gz \ + && cd /tmp/cpython-3.7.5 \ + && mkdir -p ${PYTHON_ROOT_PATH} \ + && ./configure --prefix=${PYTHON_ROOT_PATH} \ + && make -j4 \ + && make install -j4 \ + && rm -f /usr/local/bin/python \ + && rm -f /usr/local/bin/pip \ + && ln -s ${PYTHON_ROOT_PATH}/bin/python3.7 /usr/local/bin/python \ + && ln -s ${PYTHON_ROOT_PATH}/bin/pip3.7 /usr/local/bin/pip \ + && rm -rf /tmp/cpython-3.7.5 \ + && rm -f /tmp/v3.7.5.tar.gz + +# Set pip source +RUN mkdir -pv /root/.pip \ + && echo "[global]" > /root/.pip/pip.conf \ + && echo "trusted-host=mirrors.aliyun.com" >> /root/.pip/pip.conf \ + && echo "index-url=http://mirrors.aliyun.com/pypi/simple/" >> /root/.pip/pip.conf + +# Install MindSpore cpu whl package +RUN pip install --no-cache-dir https://ms-release.obs.cn-north-4.myhuaweicloud.com/0.1.0-alpha/MindSpore/cpu/ubuntu-x86/mindspore-0.1.0-cp37-cp37m-linux_x86_64.whl diff --git a/scripts/docker/mindspore-cpu/0.2.0-alpha/Dockerfile b/scripts/docker/mindspore-cpu/0.2.0-alpha/Dockerfile new file mode 100644 index 0000000000..dc69d21326 --- /dev/null +++ b/scripts/docker/mindspore-cpu/0.2.0-alpha/Dockerfile @@ -0,0 +1,67 @@ +FROM ubuntu:18.04 + +MAINTAINER leonwanghui + +# Set env +ENV PYTHON_ROOT_PATH /usr/local/python-3.7.5 +ENV PATH /usr/local/bin:$PATH + +# Install base tools +RUN apt update \ + && DEBIAN_FRONTEND=noninteractive apt install -y \ + vim \ + wget \ + curl \ + xz-utils \ + net-tools \ + openssh-client \ + git \ + ntpdate \ + tzdata \ + tcl \ + sudo \ + bash-completion + +# Install compile tools +RUN DEBIAN_FRONTEND=noninteractive apt install -y \ + gcc \ + g++ \ + zlibc \ + make \ + libgmp-dev \ + patch \ + autoconf \ + libtool \ + automake \ + flex + +# Set bash +RUN echo "dash dash/sh boolean false" | debconf-set-selections +RUN DEBIAN_FRONTEND=noninteractive dpkg-reconfigure dash + +# Install python (v3.7.5) +RUN apt install -y libffi-dev libssl-dev zlib1g-dev libbz2-dev libncurses5-dev \ + libgdbm-dev libgdbm-compat-dev liblzma-dev libreadline-dev libsqlite3-dev \ + && cd /tmp \ + && wget https://github.com/python/cpython/archive/v3.7.5.tar.gz \ + && tar -xvf v3.7.5.tar.gz \ + && cd /tmp/cpython-3.7.5 \ + && mkdir -p ${PYTHON_ROOT_PATH} \ + && ./configure --prefix=${PYTHON_ROOT_PATH} \ + && make -j4 \ + && make install -j4 \ + && rm -f /usr/local/bin/python \ + && rm -f /usr/local/bin/pip \ + && ln -s ${PYTHON_ROOT_PATH}/bin/python3.7 /usr/local/bin/python \ + && ln -s ${PYTHON_ROOT_PATH}/bin/pip3.7 /usr/local/bin/pip \ + && rm -rf /tmp/cpython-3.7.5 \ + && rm -f /tmp/v3.7.5.tar.gz + +# Set pip source +RUN mkdir -pv /root/.pip \ + && echo "[global]" > /root/.pip/pip.conf \ + && echo "trusted-host=mirrors.aliyun.com" >> /root/.pip/pip.conf \ + && echo "index-url=http://mirrors.aliyun.com/pypi/simple/" >> /root/.pip/pip.conf + +# Install MindSpore cpu whl package +RUN pip install --no-cache-dir https://ms-release.obs.cn-north-4.myhuaweicloud.com/0.2.0-alpha/MindSpore/cpu/x86_ubuntu/mindspore-0.2.0-cp37-cp37m-linux_x86_64.whl diff --git a/scripts/docker/mindspore-cpu/0.3.0-alpha/Dockerfile b/scripts/docker/mindspore-cpu/0.3.0-alpha/Dockerfile new file mode 100644 index 0000000000..12ae433ffc --- /dev/null +++ b/scripts/docker/mindspore-cpu/0.3.0-alpha/Dockerfile @@ -0,0 +1,67 @@ +FROM ubuntu:18.04 + +MAINTAINER leonwanghui + +# Set env +ENV PYTHON_ROOT_PATH /usr/local/python-3.7.5 +ENV PATH /usr/local/bin:$PATH + +# Install base tools +RUN apt update \ + && DEBIAN_FRONTEND=noninteractive apt install -y \ + vim \ + wget \ + curl \ + xz-utils \ + net-tools \ + openssh-client \ + git \ + ntpdate \ + tzdata \ + tcl \ + sudo \ + bash-completion + +# Install compile tools +RUN DEBIAN_FRONTEND=noninteractive apt install -y \ + gcc \ + g++ \ + zlibc \ + make \ + libgmp-dev \ + patch \ + autoconf \ + libtool \ + automake \ + flex + +# Set bash +RUN echo "dash dash/sh boolean false" | debconf-set-selections +RUN DEBIAN_FRONTEND=noninteractive dpkg-reconfigure dash + +# Install python (v3.7.5) +RUN apt install -y libffi-dev libssl-dev zlib1g-dev libbz2-dev libncurses5-dev \ + libgdbm-dev libgdbm-compat-dev liblzma-dev libreadline-dev libsqlite3-dev \ + && cd /tmp \ + && wget https://github.com/python/cpython/archive/v3.7.5.tar.gz \ + && tar -xvf v3.7.5.tar.gz \ + && cd /tmp/cpython-3.7.5 \ + && mkdir -p ${PYTHON_ROOT_PATH} \ + && ./configure --prefix=${PYTHON_ROOT_PATH} \ + && make -j4 \ + && make install -j4 \ + && rm -f /usr/local/bin/python \ + && rm -f /usr/local/bin/pip \ + && ln -s ${PYTHON_ROOT_PATH}/bin/python3.7 /usr/local/bin/python \ + && ln -s ${PYTHON_ROOT_PATH}/bin/pip3.7 /usr/local/bin/pip \ + && rm -rf /tmp/cpython-3.7.5 \ + && rm -f /tmp/v3.7.5.tar.gz + +# Set pip source +RUN mkdir -pv /root/.pip \ + && echo "[global]" > /root/.pip/pip.conf \ + && echo "trusted-host=mirrors.aliyun.com" >> /root/.pip/pip.conf \ + && echo "index-url=http://mirrors.aliyun.com/pypi/simple/" >> /root/.pip/pip.conf + +# Install MindSpore cpu whl package +RUN pip install --no-cache-dir https://ms-release.obs.cn-north-4.myhuaweicloud.com/0.3.0-alpha/MindSpore/cpu/ubuntu_x86/mindspore-0.3.0-cp37-cp37m-linux_x86_64.whl diff --git a/scripts/docker/mindspore-cpu/0.5.0-beta/Dockerfile b/scripts/docker/mindspore-cpu/0.5.0-beta/Dockerfile new file mode 100644 index 0000000000..4da6294296 --- /dev/null +++ b/scripts/docker/mindspore-cpu/0.5.0-beta/Dockerfile @@ -0,0 +1,67 @@ +FROM ubuntu:18.04 + +MAINTAINER leonwanghui + +# Set env +ENV PYTHON_ROOT_PATH /usr/local/python-3.7.5 +ENV PATH /usr/local/bin:$PATH + +# Install base tools +RUN apt update \ + && DEBIAN_FRONTEND=noninteractive apt install -y \ + vim \ + wget \ + curl \ + xz-utils \ + net-tools \ + openssh-client \ + git \ + ntpdate \ + tzdata \ + tcl \ + sudo \ + bash-completion + +# Install compile tools +RUN DEBIAN_FRONTEND=noninteractive apt install -y \ + gcc \ + g++ \ + zlibc \ + make \ + libgmp-dev \ + patch \ + autoconf \ + libtool \ + automake \ + flex + +# Set bash +RUN echo "dash dash/sh boolean false" | debconf-set-selections +RUN DEBIAN_FRONTEND=noninteractive dpkg-reconfigure dash + +# Install python (v3.7.5) +RUN apt install -y libffi-dev libssl-dev zlib1g-dev libbz2-dev libncurses5-dev \ + libgdbm-dev libgdbm-compat-dev liblzma-dev libreadline-dev libsqlite3-dev \ + && cd /tmp \ + && wget https://github.com/python/cpython/archive/v3.7.5.tar.gz \ + && tar -xvf v3.7.5.tar.gz \ + && cd /tmp/cpython-3.7.5 \ + && mkdir -p ${PYTHON_ROOT_PATH} \ + && ./configure --prefix=${PYTHON_ROOT_PATH} \ + && make -j4 \ + && make install -j4 \ + && rm -f /usr/local/bin/python \ + && rm -f /usr/local/bin/pip \ + && ln -s ${PYTHON_ROOT_PATH}/bin/python3.7 /usr/local/bin/python \ + && ln -s ${PYTHON_ROOT_PATH}/bin/pip3.7 /usr/local/bin/pip \ + && rm -rf /tmp/cpython-3.7.5 \ + && rm -f /tmp/v3.7.5.tar.gz + +# Set pip source +RUN mkdir -pv /root/.pip \ + && echo "[global]" > /root/.pip/pip.conf \ + && echo "trusted-host=mirrors.aliyun.com" >> /root/.pip/pip.conf \ + && echo "index-url=http://mirrors.aliyun.com/pypi/simple/" >> /root/.pip/pip.conf + +# Install MindSpore cpu whl package +RUN pip install --no-cache-dir https://ms-release.obs.cn-north-4.myhuaweicloud.com/0.5.0-beta/MindSpore/cpu/ubuntu_x86/mindspore-0.5.0-cp37-cp37m-linux_x86_64.whl diff --git a/scripts/docker/mindspore-cpu/0.6.0-beta/Dockerfile b/scripts/docker/mindspore-cpu/0.6.0-beta/Dockerfile new file mode 100644 index 0000000000..c203cf1721 --- /dev/null +++ b/scripts/docker/mindspore-cpu/0.6.0-beta/Dockerfile @@ -0,0 +1,67 @@ +FROM ubuntu:18.04 + +MAINTAINER leonwanghui + +# Set env +ENV PYTHON_ROOT_PATH /usr/local/python-3.7.5 +ENV PATH /usr/local/bin:$PATH + +# Install base tools +RUN apt update \ + && DEBIAN_FRONTEND=noninteractive apt install -y \ + vim \ + wget \ + curl \ + xz-utils \ + net-tools \ + openssh-client \ + git \ + ntpdate \ + tzdata \ + tcl \ + sudo \ + bash-completion + +# Install compile tools +RUN DEBIAN_FRONTEND=noninteractive apt install -y \ + gcc \ + g++ \ + zlibc \ + make \ + libgmp-dev \ + patch \ + autoconf \ + libtool \ + automake \ + flex + +# Set bash +RUN echo "dash dash/sh boolean false" | debconf-set-selections +RUN DEBIAN_FRONTEND=noninteractive dpkg-reconfigure dash + +# Install python (v3.7.5) +RUN apt install -y libffi-dev libssl-dev zlib1g-dev libbz2-dev libncurses5-dev \ + libgdbm-dev libgdbm-compat-dev liblzma-dev libreadline-dev libsqlite3-dev \ + && cd /tmp \ + && wget https://github.com/python/cpython/archive/v3.7.5.tar.gz \ + && tar -xvf v3.7.5.tar.gz \ + && cd /tmp/cpython-3.7.5 \ + && mkdir -p ${PYTHON_ROOT_PATH} \ + && ./configure --prefix=${PYTHON_ROOT_PATH} \ + && make -j4 \ + && make install -j4 \ + && rm -f /usr/local/bin/python \ + && rm -f /usr/local/bin/pip \ + && ln -s ${PYTHON_ROOT_PATH}/bin/python3.7 /usr/local/bin/python \ + && ln -s ${PYTHON_ROOT_PATH}/bin/pip3.7 /usr/local/bin/pip \ + && rm -rf /tmp/cpython-3.7.5 \ + && rm -f /tmp/v3.7.5.tar.gz + +# Set pip source +RUN mkdir -pv /root/.pip \ + && echo "[global]" > /root/.pip/pip.conf \ + && echo "trusted-host=mirrors.aliyun.com" >> /root/.pip/pip.conf \ + && echo "index-url=http://mirrors.aliyun.com/pypi/simple/" >> /root/.pip/pip.conf + +# Install MindSpore cpu whl package +RUN pip install --no-cache-dir https://ms-release.obs.cn-north-4.myhuaweicloud.com/0.6.0-beta/MindSpore/cpu/ubuntu_x86/mindspore-0.6.0-cp37-cp37m-linux_x86_64.whl diff --git a/scripts/docker/mindspore-cpu/0.7.0-beta/Dockerfile b/scripts/docker/mindspore-cpu/0.7.0-beta/Dockerfile new file mode 100644 index 0000000000..7b9d3e1778 --- /dev/null +++ b/scripts/docker/mindspore-cpu/0.7.0-beta/Dockerfile @@ -0,0 +1,67 @@ +FROM ubuntu:18.04 + +MAINTAINER leonwanghui + +# Set env +ENV PYTHON_ROOT_PATH /usr/local/python-3.7.5 +ENV PATH /usr/local/bin:$PATH + +# Install base tools +RUN apt update \ + && DEBIAN_FRONTEND=noninteractive apt install -y \ + vim \ + wget \ + curl \ + xz-utils \ + net-tools \ + openssh-client \ + git \ + ntpdate \ + tzdata \ + tcl \ + sudo \ + bash-completion + +# Install compile tools +RUN DEBIAN_FRONTEND=noninteractive apt install -y \ + gcc \ + g++ \ + zlibc \ + make \ + libgmp-dev \ + patch \ + autoconf \ + libtool \ + automake \ + flex + +# Set bash +RUN echo "dash dash/sh boolean false" | debconf-set-selections +RUN DEBIAN_FRONTEND=noninteractive dpkg-reconfigure dash + +# Install python (v3.7.5) +RUN apt install -y libffi-dev libssl-dev zlib1g-dev libbz2-dev libncurses5-dev \ + libgdbm-dev libgdbm-compat-dev liblzma-dev libreadline-dev libsqlite3-dev \ + && cd /tmp \ + && wget https://github.com/python/cpython/archive/v3.7.5.tar.gz \ + && tar -xvf v3.7.5.tar.gz \ + && cd /tmp/cpython-3.7.5 \ + && mkdir -p ${PYTHON_ROOT_PATH} \ + && ./configure --prefix=${PYTHON_ROOT_PATH} \ + && make -j4 \ + && make install -j4 \ + && rm -f /usr/local/bin/python \ + && rm -f /usr/local/bin/pip \ + && ln -s ${PYTHON_ROOT_PATH}/bin/python3.7 /usr/local/bin/python \ + && ln -s ${PYTHON_ROOT_PATH}/bin/pip3.7 /usr/local/bin/pip \ + && rm -rf /tmp/cpython-3.7.5 \ + && rm -f /tmp/v3.7.5.tar.gz + +# Set pip source +RUN mkdir -pv /root/.pip \ + && echo "[global]" > /root/.pip/pip.conf \ + && echo "trusted-host=mirrors.aliyun.com" >> /root/.pip/pip.conf \ + && echo "index-url=http://mirrors.aliyun.com/pypi/simple/" >> /root/.pip/pip.conf + +# Install MindSpore cpu whl package +RUN pip install --no-cache-dir https://ms-release.obs.cn-north-4.myhuaweicloud.com/0.7.0-beta/MindSpore/cpu/ubuntu_x86/mindspore-0.7.0-cp37-cp37m-linux_x86_64.whl diff --git a/scripts/docker/mindspore-cpu/1.0.0/Dockerfile b/scripts/docker/mindspore-cpu/1.0.0/Dockerfile new file mode 100644 index 0000000000..c210a4c881 --- /dev/null +++ b/scripts/docker/mindspore-cpu/1.0.0/Dockerfile @@ -0,0 +1,67 @@ +FROM ubuntu:18.04 + +MAINTAINER leonwanghui + +# Set env +ENV PYTHON_ROOT_PATH /usr/local/python-3.7.5 +ENV PATH /usr/local/bin:/root/.local/bin:$PATH + +# Install base tools +RUN apt update \ + && DEBIAN_FRONTEND=noninteractive apt install -y \ + vim \ + wget \ + curl \ + xz-utils \ + net-tools \ + openssh-client \ + git \ + ntpdate \ + tzdata \ + tcl \ + sudo \ + bash-completion + +# Install compile tools +RUN DEBIAN_FRONTEND=noninteractive apt install -y \ + gcc \ + g++ \ + zlibc \ + make \ + libgmp-dev \ + patch \ + autoconf \ + libtool \ + automake \ + flex + +# Set bash +RUN echo "dash dash/sh boolean false" | debconf-set-selections +RUN DEBIAN_FRONTEND=noninteractive dpkg-reconfigure dash + +# Install python (v3.7.5) +RUN apt install -y libffi-dev libssl-dev zlib1g-dev libbz2-dev libncurses5-dev \ + libgdbm-dev libgdbm-compat-dev liblzma-dev libreadline-dev libsqlite3-dev \ + && cd /tmp \ + && wget https://github.com/python/cpython/archive/v3.7.5.tar.gz \ + && tar -xvf v3.7.5.tar.gz \ + && cd /tmp/cpython-3.7.5 \ + && mkdir -p ${PYTHON_ROOT_PATH} \ + && ./configure --prefix=${PYTHON_ROOT_PATH} \ + && make -j4 \ + && make install -j4 \ + && rm -f /usr/local/bin/python \ + && rm -f /usr/local/bin/pip \ + && ln -s ${PYTHON_ROOT_PATH}/bin/python3.7 /usr/local/bin/python \ + && ln -s ${PYTHON_ROOT_PATH}/bin/pip3.7 /usr/local/bin/pip \ + && rm -rf /tmp/cpython-3.7.5 \ + && rm -f /tmp/v3.7.5.tar.gz + +# Set pip source +RUN mkdir -pv /root/.pip \ + && echo "[global]" > /root/.pip/pip.conf \ + && echo "trusted-host=mirrors.aliyun.com" >> /root/.pip/pip.conf \ + && echo "index-url=http://mirrors.aliyun.com/pypi/simple/" >> /root/.pip/pip.conf + +# Install MindSpore cpu whl package +RUN pip install --no-cache-dir https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.0.0/MindSpore/cpu/ubuntu_x86/mindspore-1.0.0-cp37-cp37m-linux_x86_64.whl diff --git a/scripts/docker/mindspore-cpu/1.1.0/Dockerfile b/scripts/docker/mindspore-cpu/1.1.0/Dockerfile new file mode 100644 index 0000000000..f412c89996 --- /dev/null +++ b/scripts/docker/mindspore-cpu/1.1.0/Dockerfile @@ -0,0 +1,71 @@ +FROM ubuntu:18.04 + +MAINTAINER leonwanghui + +# Set env +ENV PYTHON_ROOT_PATH /usr/local/python-3.7.5 +ENV PATH /usr/local/bin:/root/.local/bin:$PATH + +# Install base tools +RUN apt update \ + && DEBIAN_FRONTEND=noninteractive apt install -y \ + vim \ + wget \ + curl \ + xz-utils \ + net-tools \ + openssh-client \ + git \ + ntpdate \ + tzdata \ + tcl \ + sudo \ + bash-completion + +# Install compile tools +RUN DEBIAN_FRONTEND=noninteractive apt install -y \ + gcc \ + g++ \ + zlibc \ + make \ + libgmp-dev \ + patch \ + autoconf \ + libtool \ + automake \ + flex + +# Install the rest dependent tools +RUN DEBIAN_FRONTEND=noninteractive apt install -y \ + libnuma-dev + +# Set bash +RUN echo "dash dash/sh boolean false" | debconf-set-selections +RUN DEBIAN_FRONTEND=noninteractive dpkg-reconfigure dash + +# Install python (v3.7.5) +RUN apt install -y libffi-dev libssl-dev zlib1g-dev libbz2-dev libncurses5-dev \ + libgdbm-dev libgdbm-compat-dev liblzma-dev libreadline-dev libsqlite3-dev \ + && cd /tmp \ + && wget https://github.com/python/cpython/archive/v3.7.5.tar.gz \ + && tar -xvf v3.7.5.tar.gz \ + && cd /tmp/cpython-3.7.5 \ + && mkdir -p ${PYTHON_ROOT_PATH} \ + && ./configure --prefix=${PYTHON_ROOT_PATH} \ + && make -j4 \ + && make install -j4 \ + && rm -f /usr/local/bin/python \ + && rm -f /usr/local/bin/pip \ + && ln -s ${PYTHON_ROOT_PATH}/bin/python3.7 /usr/local/bin/python \ + && ln -s ${PYTHON_ROOT_PATH}/bin/pip3.7 /usr/local/bin/pip \ + && rm -rf /tmp/cpython-3.7.5 \ + && rm -f /tmp/v3.7.5.tar.gz + +# Set pip source +RUN mkdir -pv /root/.pip \ + && echo "[global]" > /root/.pip/pip.conf \ + && echo "trusted-host=mirrors.aliyun.com" >> /root/.pip/pip.conf \ + && echo "index-url=http://mirrors.aliyun.com/pypi/simple/" >> /root/.pip/pip.conf + +# Install MindSpore cpu whl package +RUN pip install --no-cache-dir https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.1.0/MindSpore/cpu/ubuntu_x86/mindspore-1.1.0-cp37-cp37m-linux_x86_64.whl diff --git a/scripts/docker/mindspore-cpu/1.2.0/Dockerfile b/scripts/docker/mindspore-cpu/1.2.0/Dockerfile new file mode 100644 index 0000000000..e9aceab48e --- /dev/null +++ b/scripts/docker/mindspore-cpu/1.2.0/Dockerfile @@ -0,0 +1,71 @@ +FROM ubuntu:18.04 + +MAINTAINER leonwanghui + +# Set env +ENV PYTHON_ROOT_PATH /usr/local/python-3.7.5 +ENV PATH /usr/local/bin:/root/.local/bin:$PATH + +# Install base tools +RUN apt update \ + && DEBIAN_FRONTEND=noninteractive apt install -y \ + vim \ + wget \ + curl \ + xz-utils \ + net-tools \ + openssh-client \ + git \ + ntpdate \ + tzdata \ + tcl \ + sudo \ + bash-completion + +# Install compile tools +RUN DEBIAN_FRONTEND=noninteractive apt install -y \ + gcc \ + g++ \ + zlibc \ + make \ + libgmp-dev \ + patch \ + autoconf \ + libtool \ + automake \ + flex + +# Install the rest dependent tools +RUN DEBIAN_FRONTEND=noninteractive apt install -y \ + libnuma-dev + +# Set bash +RUN echo "dash dash/sh boolean false" | debconf-set-selections +RUN DEBIAN_FRONTEND=noninteractive dpkg-reconfigure dash + +# Install python (v3.7.5) +RUN apt install -y libffi-dev libssl-dev zlib1g-dev libbz2-dev libncurses5-dev \ + libgdbm-dev libgdbm-compat-dev liblzma-dev libreadline-dev libsqlite3-dev \ + && cd /tmp \ + && wget https://github.com/python/cpython/archive/v3.7.5.tar.gz \ + && tar -xvf v3.7.5.tar.gz \ + && cd /tmp/cpython-3.7.5 \ + && mkdir -p ${PYTHON_ROOT_PATH} \ + && ./configure --prefix=${PYTHON_ROOT_PATH} \ + && make -j4 \ + && make install -j4 \ + && rm -f /usr/local/bin/python \ + && rm -f /usr/local/bin/pip \ + && ln -s ${PYTHON_ROOT_PATH}/bin/python3.7 /usr/local/bin/python \ + && ln -s ${PYTHON_ROOT_PATH}/bin/pip3.7 /usr/local/bin/pip \ + && rm -rf /tmp/cpython-3.7.5 \ + && rm -f /tmp/v3.7.5.tar.gz + +# Set pip source +RUN mkdir -pv /root/.pip \ + && echo "[global]" > /root/.pip/pip.conf \ + && echo "trusted-host=mirrors.aliyun.com" >> /root/.pip/pip.conf \ + && echo "index-url=http://mirrors.aliyun.com/pypi/simple/" >> /root/.pip/pip.conf + +# Install MindSpore cpu whl package +RUN pip install --no-cache-dir https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.2.0/MindSpore/cpu/ubuntu_x86/mindspore-1.2.0-cp37-cp37m-linux_x86_64.whl diff --git a/scripts/docker/mindspore-cpu/1.2.1/Dockerfile b/scripts/docker/mindspore-cpu/1.2.1/Dockerfile new file mode 100644 index 0000000000..a1d59ca91d --- /dev/null +++ b/scripts/docker/mindspore-cpu/1.2.1/Dockerfile @@ -0,0 +1,71 @@ +FROM ubuntu:18.04 + +MAINTAINER leonwanghui + +# Set env +ENV PYTHON_ROOT_PATH /usr/local/python-3.7.5 +ENV PATH /usr/local/bin:/root/.local/bin:$PATH + +# Install base tools +RUN apt update \ + && DEBIAN_FRONTEND=noninteractive apt install -y \ + vim \ + wget \ + curl \ + xz-utils \ + net-tools \ + openssh-client \ + git \ + ntpdate \ + tzdata \ + tcl \ + sudo \ + bash-completion + +# Install compile tools +RUN DEBIAN_FRONTEND=noninteractive apt install -y \ + gcc \ + g++ \ + zlibc \ + make \ + libgmp-dev \ + patch \ + autoconf \ + libtool \ + automake \ + flex + +# Install the rest dependent tools +RUN DEBIAN_FRONTEND=noninteractive apt install -y \ + libnuma-dev + +# Set bash +RUN echo "dash dash/sh boolean false" | debconf-set-selections +RUN DEBIAN_FRONTEND=noninteractive dpkg-reconfigure dash + +# Install python (v3.7.5) +RUN apt install -y libffi-dev libssl-dev zlib1g-dev libbz2-dev libncurses5-dev \ + libgdbm-dev libgdbm-compat-dev liblzma-dev libreadline-dev libsqlite3-dev \ + && cd /tmp \ + && wget https://github.com/python/cpython/archive/v3.7.5.tar.gz \ + && tar -xvf v3.7.5.tar.gz \ + && cd /tmp/cpython-3.7.5 \ + && mkdir -p ${PYTHON_ROOT_PATH} \ + && ./configure --prefix=${PYTHON_ROOT_PATH} \ + && make -j4 \ + && make install -j4 \ + && rm -f /usr/local/bin/python \ + && rm -f /usr/local/bin/pip \ + && ln -s ${PYTHON_ROOT_PATH}/bin/python3.7 /usr/local/bin/python \ + && ln -s ${PYTHON_ROOT_PATH}/bin/pip3.7 /usr/local/bin/pip \ + && rm -rf /tmp/cpython-3.7.5 \ + && rm -f /tmp/v3.7.5.tar.gz + +# Set pip source +RUN mkdir -pv /root/.pip \ + && echo "[global]" > /root/.pip/pip.conf \ + && echo "trusted-host=mirrors.aliyun.com" >> /root/.pip/pip.conf \ + && echo "index-url=http://mirrors.aliyun.com/pypi/simple/" >> /root/.pip/pip.conf + +# Install MindSpore cpu whl package +RUN pip install --no-cache-dir https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.2.1/MindSpore/cpu/ubuntu_x86/mindspore-1.2.1-cp37-cp37m-linux_x86_64.whl diff --git a/scripts/docker/mindspore-cpu/1.3.0/Dockerfile b/scripts/docker/mindspore-cpu/1.3.0/Dockerfile new file mode 100644 index 0000000000..25aeb96661 --- /dev/null +++ b/scripts/docker/mindspore-cpu/1.3.0/Dockerfile @@ -0,0 +1,74 @@ +FROM ubuntu:18.04 + +MAINTAINER leonwanghui + +# Set env +ENV PYTHON_ROOT_PATH /usr/local/python-3.7.5 +ENV PATH /usr/local/bin:/root/.local/bin:$PATH + +# Install base tools +RUN apt update \ + && DEBIAN_FRONTEND=noninteractive apt install -y \ + vim \ + wget \ + curl \ + xz-utils \ + net-tools \ + openssh-client \ + git \ + ntpdate \ + tzdata \ + tcl \ + sudo \ + bash-completion + +# Install compile tools +RUN DEBIAN_FRONTEND=noninteractive apt install -y \ + gcc \ + g++ \ + zlibc \ + make \ + libgmp-dev \ + patch \ + autoconf \ + libtool \ + automake \ + flex + +# Install the rest dependent tools +RUN DEBIAN_FRONTEND=noninteractive apt install -y \ + libnuma-dev + +# Set bash +RUN echo "dash dash/sh boolean false" | debconf-set-selections +RUN DEBIAN_FRONTEND=noninteractive dpkg-reconfigure dash + +# Install python (v3.7.5) +RUN apt install -y libffi-dev libssl-dev zlib1g-dev libbz2-dev libncurses5-dev \ + libgdbm-dev libgdbm-compat-dev liblzma-dev libreadline-dev libsqlite3-dev \ + && cd /tmp \ + && wget https://github.com/python/cpython/archive/v3.7.5.tar.gz \ + && tar -xvf v3.7.5.tar.gz \ + && cd /tmp/cpython-3.7.5 \ + && mkdir -p ${PYTHON_ROOT_PATH} \ + && ./configure --prefix=${PYTHON_ROOT_PATH} --enable-shared \ + && make -j4 \ + && make install -j4 \ + && rm -f /usr/local/bin/python \ + && rm -f /usr/local/bin/pip \ + && rm -f /usr/local/lib/libpython3.7m.so.1.0 \ + && ln -s ${PYTHON_ROOT_PATH}/bin/python3.7 /usr/local/bin/python \ + && ln -s ${PYTHON_ROOT_PATH}/bin/pip3.7 /usr/local/bin/pip \ + && ln -s ${PYTHON_ROOT_PATH}/lib/libpython3.7m.so.1.0 /usr/local/lib/libpython3.7m.so.1.0 \ + && ldconfig \ + && rm -rf /tmp/cpython-3.7.5 \ + && rm -f /tmp/v3.7.5.tar.gz + +# Set pip source +RUN mkdir -pv /root/.pip \ + && echo "[global]" > /root/.pip/pip.conf \ + && echo "trusted-host=mirrors.aliyun.com" >> /root/.pip/pip.conf \ + && echo "index-url=http://mirrors.aliyun.com/pypi/simple/" >> /root/.pip/pip.conf + +# Install MindSpore cpu whl package +RUN pip install --no-cache-dir https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.3.0/MindSpore/cpu/x86_64/mindspore-1.3.0-cp37-cp37m-linux_x86_64.whl diff --git a/scripts/docker/mindspore-cpu/1.5.0/Dockerfile b/scripts/docker/mindspore-cpu/1.5.0/Dockerfile new file mode 100644 index 0000000000..6c0bad5f4e --- /dev/null +++ b/scripts/docker/mindspore-cpu/1.5.0/Dockerfile @@ -0,0 +1,78 @@ +FROM ubuntu:18.04 + +MAINTAINER MindSpore Authors + +# Set env +ENV PYTHON_ROOT_PATH /usr/local/python-3.7.5 +ENV PATH ${PYTHON_ROOT_PATH}/bin:/usr/local/bin:/root/.local/bin:$PATH + +# Install base tools +RUN apt update \ + && DEBIAN_FRONTEND=noninteractive apt install -y \ + vim \ + wget \ + curl \ + xz-utils \ + net-tools \ + openssh-client \ + git \ + ntpdate \ + tzdata \ + tcl \ + sudo \ + bash-completion + +# Install compile tools +RUN DEBIAN_FRONTEND=noninteractive apt install -y \ + gcc \ + g++ \ + zlibc \ + make \ + libgmp-dev \ + patch \ + autoconf \ + libtool \ + automake \ + flex \ + libjpeg8-dev + +# Install the rest dependent tools +RUN DEBIAN_FRONTEND=noninteractive apt install -y \ + libnuma-dev + +# Set bash +RUN echo "dash dash/sh boolean false" | debconf-set-selections +RUN DEBIAN_FRONTEND=noninteractive dpkg-reconfigure dash + +# Install python (v3.7.5) +RUN apt install -y libffi-dev libssl-dev zlib1g-dev libbz2-dev libncurses5-dev \ + libgdbm-dev libgdbm-compat-dev liblzma-dev libreadline-dev libsqlite3-dev \ + && cd /tmp \ + && wget https://github.com/python/cpython/archive/v3.7.5.tar.gz \ + && tar -xvf v3.7.5.tar.gz \ + && cd /tmp/cpython-3.7.5 \ + && mkdir -p ${PYTHON_ROOT_PATH} \ + && ./configure --prefix=${PYTHON_ROOT_PATH} --enable-shared \ + && make -j4 \ + && make install -j4 \ + && rm -f /usr/local/bin/python \ + && rm -f /usr/local/bin/pip \ + && rm -f /usr/local/lib/libpython3.7m.so.1.0 \ + && ln -s ${PYTHON_ROOT_PATH}/bin/python3.7 /usr/local/bin/python \ + && ln -s ${PYTHON_ROOT_PATH}/bin/pip3.7 /usr/local/bin/pip \ + && ln -s ${PYTHON_ROOT_PATH}/lib/libpython3.7m.so.1.0 /usr/local/lib/libpython3.7m.so.1.0 \ + && ldconfig \ + && rm -rf /tmp/cpython-3.7.5 \ + && rm -f /tmp/v3.7.5.tar.gz + +# Set pip source +RUN mkdir -pv /root/.pip \ + && echo "[global]" > /root/.pip/pip.conf \ + && echo "trusted-host=mirrors.aliyun.com" >> /root/.pip/pip.conf \ + && echo "index-url=http://mirrors.aliyun.com/pypi/simple/" >> /root/.pip/pip.conf + +# Install MindSpore cpu whl package +RUN pip install --no-cache-dir https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.5.0/MindSpore/cpu/x86_64/mindspore-1.5.0-cp37-cp37m-linux_x86_64.whl + +# Install MindInsight cpu whl package +RUN pip install --no-cache-dir https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.5.0/MindInsight/any/mindinsight-1.5.0-py3-none-any.whl diff --git a/scripts/docker/mindspore-cpu/1.5.0rc1/Dockerfile b/scripts/docker/mindspore-cpu/1.5.0rc1/Dockerfile new file mode 100644 index 0000000000..bf6875ad1e --- /dev/null +++ b/scripts/docker/mindspore-cpu/1.5.0rc1/Dockerfile @@ -0,0 +1,78 @@ +FROM ubuntu:18.04 + +MAINTAINER MindSpore Authors + +# Set env +ENV PYTHON_ROOT_PATH /usr/local/python-3.7.5 +ENV PATH ${PYTHON_ROOT_PATH}/bin:/usr/local/bin:/root/.local/bin:$PATH + +# Install base tools +RUN apt update \ + && DEBIAN_FRONTEND=noninteractive apt install -y \ + vim \ + wget \ + curl \ + xz-utils \ + net-tools \ + openssh-client \ + git \ + ntpdate \ + tzdata \ + tcl \ + sudo \ + bash-completion + +# Install compile tools +RUN DEBIAN_FRONTEND=noninteractive apt install -y \ + gcc \ + g++ \ + zlibc \ + make \ + libgmp-dev \ + patch \ + autoconf \ + libtool \ + automake \ + flex \ + libjpeg8-dev + +# Install the rest dependent tools +RUN DEBIAN_FRONTEND=noninteractive apt install -y \ + libnuma-dev + +# Set bash +RUN echo "dash dash/sh boolean false" | debconf-set-selections +RUN DEBIAN_FRONTEND=noninteractive dpkg-reconfigure dash + +# Install python (v3.7.5) +RUN apt install -y libffi-dev libssl-dev zlib1g-dev libbz2-dev libncurses5-dev \ + libgdbm-dev libgdbm-compat-dev liblzma-dev libreadline-dev libsqlite3-dev \ + && cd /tmp \ + && wget https://github.com/python/cpython/archive/v3.7.5.tar.gz \ + && tar -xvf v3.7.5.tar.gz \ + && cd /tmp/cpython-3.7.5 \ + && mkdir -p ${PYTHON_ROOT_PATH} \ + && ./configure --prefix=${PYTHON_ROOT_PATH} --enable-shared \ + && make -j4 \ + && make install -j4 \ + && rm -f /usr/local/bin/python \ + && rm -f /usr/local/bin/pip \ + && rm -f /usr/local/lib/libpython3.7m.so.1.0 \ + && ln -s ${PYTHON_ROOT_PATH}/bin/python3.7 /usr/local/bin/python \ + && ln -s ${PYTHON_ROOT_PATH}/bin/pip3.7 /usr/local/bin/pip \ + && ln -s ${PYTHON_ROOT_PATH}/lib/libpython3.7m.so.1.0 /usr/local/lib/libpython3.7m.so.1.0 \ + && ldconfig \ + && rm -rf /tmp/cpython-3.7.5 \ + && rm -f /tmp/v3.7.5.tar.gz + +# Set pip source +RUN mkdir -pv /root/.pip \ + && echo "[global]" > /root/.pip/pip.conf \ + && echo "trusted-host=mirrors.aliyun.com" >> /root/.pip/pip.conf \ + && echo "index-url=http://mirrors.aliyun.com/pypi/simple/" >> /root/.pip/pip.conf + +# Install MindSpore cpu whl package +RUN pip install --no-cache-dir https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.5.0-rc1/MindSpore/cpu/x86_64/mindspore-1.5.0rc1-cp37-cp37m-linux_x86_64.whl + +# Install MindInsight cpu whl package +RUN pip install --no-cache-dir https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.5.0-rc1/MindInsight/any/mindinsight-1.5.0rc1-py3-none-any.whl diff --git a/scripts/docker/mindspore-cpu/1.6.0/Dockerfile b/scripts/docker/mindspore-cpu/1.6.0/Dockerfile new file mode 100644 index 0000000000..c6c23b515e --- /dev/null +++ b/scripts/docker/mindspore-cpu/1.6.0/Dockerfile @@ -0,0 +1,78 @@ +FROM ubuntu:18.04 + +MAINTAINER MindSpore Authors + +# Set env +ENV PYTHON_ROOT_PATH /usr/local/python-3.7.5 +ENV PATH ${PYTHON_ROOT_PATH}/bin:/usr/local/bin:/root/.local/bin:$PATH + +# Install base tools +RUN apt update \ + && DEBIAN_FRONTEND=noninteractive apt install -y \ + vim \ + wget \ + curl \ + xz-utils \ + net-tools \ + openssh-client \ + git \ + ntpdate \ + tzdata \ + tcl \ + sudo \ + bash-completion + +# Install compile tools +RUN DEBIAN_FRONTEND=noninteractive apt install -y \ + gcc \ + g++ \ + zlibc \ + make \ + libgmp-dev \ + patch \ + autoconf \ + libtool \ + automake \ + flex \ + libjpeg8-dev + +# Install the rest dependent tools +RUN DEBIAN_FRONTEND=noninteractive apt install -y \ + libnuma-dev + +# Set bash +RUN echo "dash dash/sh boolean false" | debconf-set-selections +RUN DEBIAN_FRONTEND=noninteractive dpkg-reconfigure dash + +# Install python (v3.7.5) +RUN apt install -y libffi-dev libssl-dev zlib1g-dev libbz2-dev libncurses5-dev \ + libgdbm-dev libgdbm-compat-dev liblzma-dev libreadline-dev libsqlite3-dev \ + && cd /tmp \ + && wget https://github.com/python/cpython/archive/v3.7.5.tar.gz \ + && tar -xvf v3.7.5.tar.gz \ + && cd /tmp/cpython-3.7.5 \ + && mkdir -p ${PYTHON_ROOT_PATH} \ + && ./configure --prefix=${PYTHON_ROOT_PATH} --enable-shared \ + && make -j4 \ + && make install -j4 \ + && rm -f /usr/local/bin/python \ + && rm -f /usr/local/bin/pip \ + && rm -f /usr/local/lib/libpython3.7m.so.1.0 \ + && ln -s ${PYTHON_ROOT_PATH}/bin/python3.7 /usr/local/bin/python \ + && ln -s ${PYTHON_ROOT_PATH}/bin/pip3.7 /usr/local/bin/pip \ + && ln -s ${PYTHON_ROOT_PATH}/lib/libpython3.7m.so.1.0 /usr/local/lib/libpython3.7m.so.1.0 \ + && ldconfig \ + && rm -rf /tmp/cpython-3.7.5 \ + && rm -f /tmp/v3.7.5.tar.gz + +# Set pip source +RUN mkdir -pv /root/.pip \ + && echo "[global]" > /root/.pip/pip.conf \ + && echo "trusted-host=mirrors.aliyun.com" >> /root/.pip/pip.conf \ + && echo "index-url=http://mirrors.aliyun.com/pypi/simple/" >> /root/.pip/pip.conf + +# Install MindSpore cpu whl package +RUN pip install --no-cache-dir https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.6.0/MindSpore/cpu/x86_64/mindspore-1.6.0-cp37-cp37m-linux_x86_64.whl + +# Install MindInsight cpu whl package +RUN pip install --no-cache-dir https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.6.0/MindInsight/any/mindinsight-1.6.0-py3-none-any.whl diff --git a/scripts/docker/mindspore-cpu/devel/Dockerfile b/scripts/docker/mindspore-cpu/devel/Dockerfile new file mode 100644 index 0000000000..207d8232ac --- /dev/null +++ b/scripts/docker/mindspore-cpu/devel/Dockerfile @@ -0,0 +1,95 @@ +FROM ubuntu:18.04 + +MAINTAINER MindSpore Authors + +# Set env +ENV PYTHON_ROOT_PATH /usr/local/python-3.7.5 +ENV CMAKE_ROOT_PATH /usr/local/cmake-3.14.1 +ENV PATH ${PYTHON_ROOT_PATH}/bin:${CMAKE_ROOT_PATH}/bin:/usr/local/bin:$PATH +ENV LD_LIBRARY_PATH ${PYTHON_ROOT_PATH}/lib + +# Install base tools +RUN apt update \ + && DEBIAN_FRONTEND=noninteractive apt install -y \ + vim \ + wget \ + curl \ + xz-utils \ + net-tools \ + openssh-client \ + git \ + ntpdate \ + tzdata \ + tcl \ + sudo \ + bash-completion + +# Install compile tools +RUN DEBIAN_FRONTEND=noninteractive apt install -y \ + gcc \ + g++ \ + zlibc \ + make \ + libgmp-dev \ + patch \ + autoconf \ + libtool \ + automake \ + flex \ + libjpeg8-dev + +# Install the rest dependent tools +RUN DEBIAN_FRONTEND=noninteractive apt install -y \ + libnuma-dev + +# Set bash +RUN echo "dash dash/sh boolean false" | debconf-set-selections +RUN DEBIAN_FRONTEND=noninteractive dpkg-reconfigure dash + +# Install python (v3.7.5) +RUN apt install -y libffi-dev libssl-dev zlib1g-dev libbz2-dev libncurses5-dev \ + libgdbm-dev libgdbm-compat-dev liblzma-dev libreadline-dev libsqlite3-dev \ + && cd /tmp \ + && wget https://github.com/python/cpython/archive/v3.7.5.tar.gz \ + && tar -xvf v3.7.5.tar.gz \ + && cd /tmp/cpython-3.7.5 \ + && mkdir -p ${PYTHON_ROOT_PATH} \ + && ./configure --prefix=${PYTHON_ROOT_PATH} --enable-shared \ + && make -j4 \ + && make install -j4 \ + && rm -f /usr/local/bin/python \ + && rm -f /usr/local/bin/pip \ + && rm -f /usr/local/lib/libpython3.7m.so.1.0 \ + && ln -s ${PYTHON_ROOT_PATH}/bin/python3.7 /usr/local/bin/python \ + && ln -s ${PYTHON_ROOT_PATH}/bin/pip3.7 /usr/local/bin/pip \ + && ln -s ${PYTHON_ROOT_PATH}/lib/libpython3.7m.so.1.0 /usr/local/lib/libpython3.7m.so.1.0 \ + && ldconfig \ + && rm -rf /tmp/cpython-3.7.5 \ + && rm -f /tmp/v3.7.5.tar.gz + +# Set pip source +RUN mkdir -pv /root/.pip \ + && echo "[global]" > /root/.pip/pip.conf \ + && echo "trusted-host=mirrors.aliyun.com" >> /root/.pip/pip.conf \ + && echo "index-url=http://mirrors.aliyun.com/pypi/simple/" >> /root/.pip/pip.conf \ + && pip install --no-cache-dir wheel + +# Install cmake (v3.14.1) +RUN cd /tmp \ + && wget https://github.com/Kitware/CMake/releases/download/v3.14.1/cmake-3.14.1-Linux-x86_64.sh \ + && mkdir -p ${CMAKE_ROOT_PATH} \ + && bash ./cmake-3.14.1-Linux-x86_64.sh --prefix=${CMAKE_ROOT_PATH} --exclude-subdir --skip-license \ + && rm -f /tmp/cmake-3.14.1-Linux-x86_64.sh + +# Install nodejs +RUN cd /tmp \ + && wget https://mirrors.huaweicloud.com/nodejs/v12.18.4/node-v12.18.4-linux-x64.tar.gz \ + && tar -zxf node-v12.18.4-linux-x64.tar.gz \ + && rm -rf /usr/local/nodejs \ + && mkdir -p /usr/local/nodejs \ + && mv /tmp/node-v12.18.4-linux-x64 /usr/local/nodejs/ \ + && chmod 755 -R /usr/local/nodejs \ + && ln -sf /usr/local/nodejs/node-v12.18.4-linux-x64/bin/node /usr/bin/node \ + && ln -sf /usr/local/nodejs/node-v12.18.4-linux-x64/bin/npm /usr/bin/npm \ + && npm config set registry https://registry.npm.taobao.org/ \ + && rm -f /tmp/node-v12.18.4-linux-x64.tar.gz \ No newline at end of file diff --git a/scripts/docker/mindspore-cpu/runtime/Dockerfile b/scripts/docker/mindspore-cpu/runtime/Dockerfile new file mode 100644 index 0000000000..5403c3bc68 --- /dev/null +++ b/scripts/docker/mindspore-cpu/runtime/Dockerfile @@ -0,0 +1,72 @@ +FROM ubuntu:18.04 + +MAINTAINER MindSpore Authors + +# Set env +ENV PYTHON_ROOT_PATH /usr/local/python-3.7.5 +ENV PATH /usr/local/bin:$PATH + +# Install base tools +RUN apt update \ + && DEBIAN_FRONTEND=noninteractive apt install -y \ + vim \ + wget \ + curl \ + xz-utils \ + net-tools \ + openssh-client \ + git \ + ntpdate \ + tzdata \ + tcl \ + sudo \ + bash-completion + +# Install compile tools +RUN DEBIAN_FRONTEND=noninteractive apt install -y \ + gcc \ + g++ \ + zlibc \ + make \ + libgmp-dev \ + patch \ + autoconf \ + libtool \ + automake \ + flex \ + libjpeg8-dev + +# Install the rest dependent tools +RUN DEBIAN_FRONTEND=noninteractive apt install -y \ + libnuma-dev + +# Set bash +RUN echo "dash dash/sh boolean false" | debconf-set-selections +RUN DEBIAN_FRONTEND=noninteractive dpkg-reconfigure dash + +# Install python (v3.7.5) +RUN apt install -y libffi-dev libssl-dev zlib1g-dev libbz2-dev libncurses5-dev \ + libgdbm-dev libgdbm-compat-dev liblzma-dev libreadline-dev libsqlite3-dev \ + && cd /tmp \ + && wget https://github.com/python/cpython/archive/v3.7.5.tar.gz \ + && tar -xvf v3.7.5.tar.gz \ + && cd /tmp/cpython-3.7.5 \ + && mkdir -p ${PYTHON_ROOT_PATH} \ + && ./configure --prefix=${PYTHON_ROOT_PATH} --enable-shared \ + && make -j4 \ + && make install -j4 \ + && rm -f /usr/local/bin/python \ + && rm -f /usr/local/bin/pip \ + && rm -f /usr/local/lib/libpython3.7m.so.1.0 \ + && ln -s ${PYTHON_ROOT_PATH}/bin/python3.7 /usr/local/bin/python \ + && ln -s ${PYTHON_ROOT_PATH}/bin/pip3.7 /usr/local/bin/pip \ + && ln -s ${PYTHON_ROOT_PATH}/lib/libpython3.7m.so.1.0 /usr/local/lib/libpython3.7m.so.1.0 \ + && ldconfig \ + && rm -rf /tmp/cpython-3.7.5 \ + && rm -f /tmp/v3.7.5.tar.gz + +# Set pip source +RUN mkdir -pv /root/.pip \ + && echo "[global]" > /root/.pip/pip.conf \ + && echo "trusted-host=mirrors.aliyun.com" >> /root/.pip/pip.conf \ + && echo "index-url=http://mirrors.aliyun.com/pypi/simple/" >> /root/.pip/pip.conf diff --git a/scripts/docker/mindspore-gpu/0.1.0-alpha/Dockerfile b/scripts/docker/mindspore-gpu/0.1.0-alpha/Dockerfile new file mode 100644 index 0000000000..50ca2b9f08 --- /dev/null +++ b/scripts/docker/mindspore-gpu/0.1.0-alpha/Dockerfile @@ -0,0 +1,83 @@ +FROM nvidia/cuda:10.1-cudnn7-runtime-ubuntu18.04 + +MAINTAINER leonwanghui + +# Set env +ENV PYTHON_ROOT_PATH /usr/local/python-3.7.5 +ENV OMPI_ROOT_PATH /usr/local/openmpi-3.1.5 +ENV PATH ${OMPI_ROOT_PATH}/bin:/usr/local/bin:$PATH +ENV LD_LIBRARY_PATH ${OMPI_ROOT_PATH}/lib:$LD_LIBRARY_PATH + +# Install base tools +RUN apt update \ + && DEBIAN_FRONTEND=noninteractive apt install -y \ + vim \ + wget \ + curl \ + xz-utils \ + net-tools \ + openssh-client \ + git \ + ntpdate \ + tzdata \ + tcl \ + sudo \ + bash-completion + +# Install compile tools +RUN DEBIAN_FRONTEND=noninteractive apt install -y \ + gcc \ + g++ \ + zlibc \ + make \ + libgmp-dev \ + patch \ + autoconf \ + libtool \ + automake \ + flex \ + libnccl2=2.4.8-1+cuda10.1 \ + libnccl-dev=2.4.8-1+cuda10.1 + +# Set bash +RUN echo "dash dash/sh boolean false" | debconf-set-selections +RUN DEBIAN_FRONTEND=noninteractive dpkg-reconfigure dash + +# Install python (v3.7.5) +RUN apt install -y libffi-dev libssl-dev zlib1g-dev libbz2-dev libncurses5-dev \ + libgdbm-dev libgdbm-compat-dev liblzma-dev libreadline-dev libsqlite3-dev \ + && cd /tmp \ + && wget https://github.com/python/cpython/archive/v3.7.5.tar.gz \ + && tar -xvf v3.7.5.tar.gz \ + && cd /tmp/cpython-3.7.5 \ + && mkdir -p ${PYTHON_ROOT_PATH} \ + && ./configure --prefix=${PYTHON_ROOT_PATH} \ + && make -j4 \ + && make install -j4 \ + && rm -f /usr/local/bin/python \ + && rm -f /usr/local/bin/pip \ + && ln -s ${PYTHON_ROOT_PATH}/bin/python3.7 /usr/local/bin/python \ + && ln -s ${PYTHON_ROOT_PATH}/bin/pip3.7 /usr/local/bin/pip \ + && rm -rf /tmp/cpython-3.7.5 \ + && rm -f /tmp/v3.7.5.tar.gz + +# Set pip source +RUN mkdir -pv /root/.pip \ + && echo "[global]" > /root/.pip/pip.conf \ + && echo "trusted-host=mirrors.aliyun.com" >> /root/.pip/pip.conf \ + && echo "index-url=http://mirrors.aliyun.com/pypi/simple/" >> /root/.pip/pip.conf + +# Install openmpi (v3.1.5) +RUN cd /tmp \ + && wget https://download.open-mpi.org/release/open-mpi/v3.1/openmpi-3.1.5.tar.gz \ + && tar -xvf openmpi-3.1.5.tar.gz \ + && cd /tmp/openmpi-3.1.5 \ + && mkdir -p ${OMPI_ROOT_PATH} \ + && ./configure --prefix=${OMPI_ROOT_PATH} \ + && make -j4 \ + && make install -j4 \ + && rm -rf /tmp/openmpi-3.1.5 \ + && rm -f /tmp/openmpi-3.1.5.tar.gz + +# Install MindSpore cuda-10.1 whl package +RUN pip install --no-cache-dir https://ms-release.obs.cn-north-4.myhuaweicloud.com/0.1.0-alpha/MindSpore/gpu/cuda-10.1/mindspore-0.1.0-cp37-cp37m-linux_x86_64.whl diff --git a/scripts/docker/mindspore-gpu/0.2.0-alpha/Dockerfile b/scripts/docker/mindspore-gpu/0.2.0-alpha/Dockerfile new file mode 100644 index 0000000000..a6eaf8382a --- /dev/null +++ b/scripts/docker/mindspore-gpu/0.2.0-alpha/Dockerfile @@ -0,0 +1,83 @@ +FROM nvidia/cuda:10.1-cudnn7-runtime-ubuntu18.04 + +MAINTAINER leonwanghui + +# Set env +ENV PYTHON_ROOT_PATH /usr/local/python-3.7.5 +ENV OMPI_ROOT_PATH /usr/local/openmpi-3.1.5 +ENV PATH ${OMPI_ROOT_PATH}/bin:/usr/local/bin:$PATH +ENV LD_LIBRARY_PATH ${OMPI_ROOT_PATH}/lib:$LD_LIBRARY_PATH + +# Install base tools +RUN apt update \ + && DEBIAN_FRONTEND=noninteractive apt install -y \ + vim \ + wget \ + curl \ + xz-utils \ + net-tools \ + openssh-client \ + git \ + ntpdate \ + tzdata \ + tcl \ + sudo \ + bash-completion + +# Install compile tools +RUN DEBIAN_FRONTEND=noninteractive apt install -y \ + gcc \ + g++ \ + zlibc \ + make \ + libgmp-dev \ + patch \ + autoconf \ + libtool \ + automake \ + flex \ + libnccl2=2.4.8-1+cuda10.1 \ + libnccl-dev=2.4.8-1+cuda10.1 + +# Set bash +RUN echo "dash dash/sh boolean false" | debconf-set-selections +RUN DEBIAN_FRONTEND=noninteractive dpkg-reconfigure dash + +# Install python (v3.7.5) +RUN apt install -y libffi-dev libssl-dev zlib1g-dev libbz2-dev libncurses5-dev \ + libgdbm-dev libgdbm-compat-dev liblzma-dev libreadline-dev libsqlite3-dev \ + && cd /tmp \ + && wget https://github.com/python/cpython/archive/v3.7.5.tar.gz \ + && tar -xvf v3.7.5.tar.gz \ + && cd /tmp/cpython-3.7.5 \ + && mkdir -p ${PYTHON_ROOT_PATH} \ + && ./configure --prefix=${PYTHON_ROOT_PATH} \ + && make -j4 \ + && make install -j4 \ + && rm -f /usr/local/bin/python \ + && rm -f /usr/local/bin/pip \ + && ln -s ${PYTHON_ROOT_PATH}/bin/python3.7 /usr/local/bin/python \ + && ln -s ${PYTHON_ROOT_PATH}/bin/pip3.7 /usr/local/bin/pip \ + && rm -rf /tmp/cpython-3.7.5 \ + && rm -f /tmp/v3.7.5.tar.gz + +# Set pip source +RUN mkdir -pv /root/.pip \ + && echo "[global]" > /root/.pip/pip.conf \ + && echo "trusted-host=mirrors.aliyun.com" >> /root/.pip/pip.conf \ + && echo "index-url=http://mirrors.aliyun.com/pypi/simple/" >> /root/.pip/pip.conf + +# Install openmpi (v3.1.5) +RUN cd /tmp \ + && wget https://download.open-mpi.org/release/open-mpi/v3.1/openmpi-3.1.5.tar.gz \ + && tar -xvf openmpi-3.1.5.tar.gz \ + && cd /tmp/openmpi-3.1.5 \ + && mkdir -p ${OMPI_ROOT_PATH} \ + && ./configure --prefix=${OMPI_ROOT_PATH} \ + && make -j4 \ + && make install -j4 \ + && rm -rf /tmp/openmpi-3.1.5 \ + && rm -f /tmp/openmpi-3.1.5.tar.gz + +# Install MindSpore cuda-10.1 whl package +RUN pip install --no-cache-dir https://ms-release.obs.cn-north-4.myhuaweicloud.com/0.2.0-alpha/MindSpore/gpu/cuda-10.1/mindspore_gpu-0.2.0-cp37-cp37m-linux_x86_64.whl diff --git a/scripts/docker/mindspore-gpu/0.3.0-alpha/Dockerfile b/scripts/docker/mindspore-gpu/0.3.0-alpha/Dockerfile new file mode 100644 index 0000000000..ef243aa77c --- /dev/null +++ b/scripts/docker/mindspore-gpu/0.3.0-alpha/Dockerfile @@ -0,0 +1,83 @@ +FROM nvidia/cuda:10.1-cudnn7-runtime-ubuntu18.04 + +MAINTAINER leonwanghui + +# Set env +ENV PYTHON_ROOT_PATH /usr/local/python-3.7.5 +ENV OMPI_ROOT_PATH /usr/local/openmpi-3.1.5 +ENV PATH ${OMPI_ROOT_PATH}/bin:/usr/local/bin:$PATH +ENV LD_LIBRARY_PATH ${OMPI_ROOT_PATH}/lib:$LD_LIBRARY_PATH + +# Install base tools +RUN apt update \ + && DEBIAN_FRONTEND=noninteractive apt install -y \ + vim \ + wget \ + curl \ + xz-utils \ + net-tools \ + openssh-client \ + git \ + ntpdate \ + tzdata \ + tcl \ + sudo \ + bash-completion + +# Install compile tools +RUN DEBIAN_FRONTEND=noninteractive apt install -y \ + gcc \ + g++ \ + zlibc \ + make \ + libgmp-dev \ + patch \ + autoconf \ + libtool \ + automake \ + flex \ + libnccl2=2.4.8-1+cuda10.1 \ + libnccl-dev=2.4.8-1+cuda10.1 + +# Set bash +RUN echo "dash dash/sh boolean false" | debconf-set-selections +RUN DEBIAN_FRONTEND=noninteractive dpkg-reconfigure dash + +# Install python (v3.7.5) +RUN apt install -y libffi-dev libssl-dev zlib1g-dev libbz2-dev libncurses5-dev \ + libgdbm-dev libgdbm-compat-dev liblzma-dev libreadline-dev libsqlite3-dev \ + && cd /tmp \ + && wget https://github.com/python/cpython/archive/v3.7.5.tar.gz \ + && tar -xvf v3.7.5.tar.gz \ + && cd /tmp/cpython-3.7.5 \ + && mkdir -p ${PYTHON_ROOT_PATH} \ + && ./configure --prefix=${PYTHON_ROOT_PATH} \ + && make -j4 \ + && make install -j4 \ + && rm -f /usr/local/bin/python \ + && rm -f /usr/local/bin/pip \ + && ln -s ${PYTHON_ROOT_PATH}/bin/python3.7 /usr/local/bin/python \ + && ln -s ${PYTHON_ROOT_PATH}/bin/pip3.7 /usr/local/bin/pip \ + && rm -rf /tmp/cpython-3.7.5 \ + && rm -f /tmp/v3.7.5.tar.gz + +# Set pip source +RUN mkdir -pv /root/.pip \ + && echo "[global]" > /root/.pip/pip.conf \ + && echo "trusted-host=mirrors.aliyun.com" >> /root/.pip/pip.conf \ + && echo "index-url=http://mirrors.aliyun.com/pypi/simple/" >> /root/.pip/pip.conf + +# Install openmpi (v3.1.5) +RUN cd /tmp \ + && wget https://download.open-mpi.org/release/open-mpi/v3.1/openmpi-3.1.5.tar.gz \ + && tar -xvf openmpi-3.1.5.tar.gz \ + && cd /tmp/openmpi-3.1.5 \ + && mkdir -p ${OMPI_ROOT_PATH} \ + && ./configure --prefix=${OMPI_ROOT_PATH} \ + && make -j4 \ + && make install -j4 \ + && rm -rf /tmp/openmpi-3.1.5 \ + && rm -f /tmp/openmpi-3.1.5.tar.gz + +# Install MindSpore cuda-10.1 whl package +RUN pip install --no-cache-dir https://ms-release.obs.cn-north-4.myhuaweicloud.com/0.3.0-alpha/MindSpore/gpu/ubuntu_x86/cuda-10.1/mindspore_gpu-0.3.0-cp37-cp37m-linux_x86_64.whl diff --git a/scripts/docker/mindspore-gpu/0.5.0-beta/Dockerfile b/scripts/docker/mindspore-gpu/0.5.0-beta/Dockerfile new file mode 100644 index 0000000000..dae6d16370 --- /dev/null +++ b/scripts/docker/mindspore-gpu/0.5.0-beta/Dockerfile @@ -0,0 +1,83 @@ +FROM nvidia/cuda:10.1-cudnn7-runtime-ubuntu18.04 + +MAINTAINER leonwanghui + +# Set env +ENV PYTHON_ROOT_PATH /usr/local/python-3.7.5 +ENV OMPI_ROOT_PATH /usr/local/openmpi-3.1.5 +ENV PATH ${OMPI_ROOT_PATH}/bin:/usr/local/bin:$PATH +ENV LD_LIBRARY_PATH ${OMPI_ROOT_PATH}/lib:$LD_LIBRARY_PATH + +# Install base tools +RUN apt update \ + && DEBIAN_FRONTEND=noninteractive apt install -y \ + vim \ + wget \ + curl \ + xz-utils \ + net-tools \ + openssh-client \ + git \ + ntpdate \ + tzdata \ + tcl \ + sudo \ + bash-completion + +# Install compile tools +RUN DEBIAN_FRONTEND=noninteractive apt install -y \ + gcc \ + g++ \ + zlibc \ + make \ + libgmp-dev \ + patch \ + autoconf \ + libtool \ + automake \ + flex \ + libnccl2=2.4.8-1+cuda10.1 \ + libnccl-dev=2.4.8-1+cuda10.1 + +# Set bash +RUN echo "dash dash/sh boolean false" | debconf-set-selections +RUN DEBIAN_FRONTEND=noninteractive dpkg-reconfigure dash + +# Install python (v3.7.5) +RUN apt install -y libffi-dev libssl-dev zlib1g-dev libbz2-dev libncurses5-dev \ + libgdbm-dev libgdbm-compat-dev liblzma-dev libreadline-dev libsqlite3-dev \ + && cd /tmp \ + && wget https://github.com/python/cpython/archive/v3.7.5.tar.gz \ + && tar -xvf v3.7.5.tar.gz \ + && cd /tmp/cpython-3.7.5 \ + && mkdir -p ${PYTHON_ROOT_PATH} \ + && ./configure --prefix=${PYTHON_ROOT_PATH} \ + && make -j4 \ + && make install -j4 \ + && rm -f /usr/local/bin/python \ + && rm -f /usr/local/bin/pip \ + && ln -s ${PYTHON_ROOT_PATH}/bin/python3.7 /usr/local/bin/python \ + && ln -s ${PYTHON_ROOT_PATH}/bin/pip3.7 /usr/local/bin/pip \ + && rm -rf /tmp/cpython-3.7.5 \ + && rm -f /tmp/v3.7.5.tar.gz + +# Set pip source +RUN mkdir -pv /root/.pip \ + && echo "[global]" > /root/.pip/pip.conf \ + && echo "trusted-host=mirrors.aliyun.com" >> /root/.pip/pip.conf \ + && echo "index-url=http://mirrors.aliyun.com/pypi/simple/" >> /root/.pip/pip.conf + +# Install openmpi (v3.1.5) +RUN cd /tmp \ + && wget https://download.open-mpi.org/release/open-mpi/v3.1/openmpi-3.1.5.tar.gz \ + && tar -xvf openmpi-3.1.5.tar.gz \ + && cd /tmp/openmpi-3.1.5 \ + && mkdir -p ${OMPI_ROOT_PATH} \ + && ./configure --prefix=${OMPI_ROOT_PATH} \ + && make -j4 \ + && make install -j4 \ + && rm -rf /tmp/openmpi-3.1.5 \ + && rm -f /tmp/openmpi-3.1.5.tar.gz + +# Install MindSpore cuda-10.1 whl package +RUN pip install --no-cache-dir https://ms-release.obs.cn-north-4.myhuaweicloud.com/0.5.0-beta/MindSpore/gpu/ubuntu_x86/cuda-10.1/mindspore_gpu-0.5.0-cp37-cp37m-linux_x86_64.whl diff --git a/scripts/docker/mindspore-gpu/0.6.0-beta/Dockerfile b/scripts/docker/mindspore-gpu/0.6.0-beta/Dockerfile new file mode 100644 index 0000000000..90d90a4e17 --- /dev/null +++ b/scripts/docker/mindspore-gpu/0.6.0-beta/Dockerfile @@ -0,0 +1,83 @@ +FROM nvidia/cuda:10.1-cudnn7-runtime-ubuntu18.04 + +MAINTAINER leonwanghui + +# Set env +ENV PYTHON_ROOT_PATH /usr/local/python-3.7.5 +ENV OMPI_ROOT_PATH /usr/local/openmpi-3.1.5 +ENV PATH ${OMPI_ROOT_PATH}/bin:/usr/local/bin:$PATH +ENV LD_LIBRARY_PATH ${OMPI_ROOT_PATH}/lib:$LD_LIBRARY_PATH + +# Install base tools +RUN apt update \ + && DEBIAN_FRONTEND=noninteractive apt install -y \ + vim \ + wget \ + curl \ + xz-utils \ + net-tools \ + openssh-client \ + git \ + ntpdate \ + tzdata \ + tcl \ + sudo \ + bash-completion + +# Install compile tools +RUN DEBIAN_FRONTEND=noninteractive apt install -y \ + gcc \ + g++ \ + zlibc \ + make \ + libgmp-dev \ + patch \ + autoconf \ + libtool \ + automake \ + flex \ + libnccl2=2.4.8-1+cuda10.1 \ + libnccl-dev=2.4.8-1+cuda10.1 + +# Set bash +RUN echo "dash dash/sh boolean false" | debconf-set-selections +RUN DEBIAN_FRONTEND=noninteractive dpkg-reconfigure dash + +# Install python (v3.7.5) +RUN apt install -y libffi-dev libssl-dev zlib1g-dev libbz2-dev libncurses5-dev \ + libgdbm-dev libgdbm-compat-dev liblzma-dev libreadline-dev libsqlite3-dev \ + && cd /tmp \ + && wget https://github.com/python/cpython/archive/v3.7.5.tar.gz \ + && tar -xvf v3.7.5.tar.gz \ + && cd /tmp/cpython-3.7.5 \ + && mkdir -p ${PYTHON_ROOT_PATH} \ + && ./configure --prefix=${PYTHON_ROOT_PATH} \ + && make -j4 \ + && make install -j4 \ + && rm -f /usr/local/bin/python \ + && rm -f /usr/local/bin/pip \ + && ln -s ${PYTHON_ROOT_PATH}/bin/python3.7 /usr/local/bin/python \ + && ln -s ${PYTHON_ROOT_PATH}/bin/pip3.7 /usr/local/bin/pip \ + && rm -rf /tmp/cpython-3.7.5 \ + && rm -f /tmp/v3.7.5.tar.gz + +# Set pip source +RUN mkdir -pv /root/.pip \ + && echo "[global]" > /root/.pip/pip.conf \ + && echo "trusted-host=mirrors.aliyun.com" >> /root/.pip/pip.conf \ + && echo "index-url=http://mirrors.aliyun.com/pypi/simple/" >> /root/.pip/pip.conf + +# Install openmpi (v3.1.5) +RUN cd /tmp \ + && wget https://download.open-mpi.org/release/open-mpi/v3.1/openmpi-3.1.5.tar.gz \ + && tar -xvf openmpi-3.1.5.tar.gz \ + && cd /tmp/openmpi-3.1.5 \ + && mkdir -p ${OMPI_ROOT_PATH} \ + && ./configure --prefix=${OMPI_ROOT_PATH} \ + && make -j4 \ + && make install -j4 \ + && rm -rf /tmp/openmpi-3.1.5 \ + && rm -f /tmp/openmpi-3.1.5.tar.gz + +# Install MindSpore cuda-10.1 whl package +RUN pip install --no-cache-dir https://ms-release.obs.cn-north-4.myhuaweicloud.com/0.6.0-beta/MindSpore/gpu/ubuntu_x86/cuda-10.1/mindspore_gpu-0.6.0-cp37-cp37m-linux_x86_64.whl diff --git a/scripts/docker/mindspore-gpu/0.7.0-beta/Dockerfile b/scripts/docker/mindspore-gpu/0.7.0-beta/Dockerfile new file mode 100644 index 0000000000..ed32a8e6ed --- /dev/null +++ b/scripts/docker/mindspore-gpu/0.7.0-beta/Dockerfile @@ -0,0 +1,81 @@ +FROM nvidia/cuda:10.1-cudnn7-devel-ubuntu18.04 + +MAINTAINER leonwanghui + +# Set env +ENV PYTHON_ROOT_PATH /usr/local/python-3.7.5 +ENV OMPI_ROOT_PATH /usr/local/openmpi-3.1.5 +ENV PATH ${OMPI_ROOT_PATH}/bin:/usr/local/bin:$PATH +ENV LD_LIBRARY_PATH ${OMPI_ROOT_PATH}/lib:$LD_LIBRARY_PATH + +# Install base tools +RUN apt update \ + && DEBIAN_FRONTEND=noninteractive apt install -y \ + vim \ + wget \ + curl \ + xz-utils \ + net-tools \ + openssh-client \ + git \ + ntpdate \ + tzdata \ + tcl \ + sudo \ + bash-completion + +# Install compile tools +RUN DEBIAN_FRONTEND=noninteractive apt install -y \ + gcc \ + g++ \ + zlibc \ + make \ + libgmp-dev \ + patch \ + autoconf \ + libtool \ + automake \ + flex + +# Set bash +RUN echo "dash dash/sh boolean false" | debconf-set-selections +RUN DEBIAN_FRONTEND=noninteractive dpkg-reconfigure dash + +# Install python (v3.7.5) +RUN apt install -y libffi-dev libssl-dev zlib1g-dev libbz2-dev libncurses5-dev \ + libgdbm-dev libgdbm-compat-dev liblzma-dev libreadline-dev libsqlite3-dev \ + && cd /tmp \ + && wget https://github.com/python/cpython/archive/v3.7.5.tar.gz \ + && tar -xvf v3.7.5.tar.gz \ + && cd /tmp/cpython-3.7.5 \ + && mkdir -p ${PYTHON_ROOT_PATH} \ + && ./configure --prefix=${PYTHON_ROOT_PATH} \ + && make -j4 \ + && make install -j4 \ + && rm -f /usr/local/bin/python \ + && rm -f /usr/local/bin/pip \ + && ln -s ${PYTHON_ROOT_PATH}/bin/python3.7 /usr/local/bin/python \ + && ln -s ${PYTHON_ROOT_PATH}/bin/pip3.7 /usr/local/bin/pip \ + && rm -rf /tmp/cpython-3.7.5 \ + && rm -f /tmp/v3.7.5.tar.gz + +# Set pip source +RUN mkdir -pv /root/.pip \ + && echo "[global]" > /root/.pip/pip.conf \ + && echo "trusted-host=mirrors.aliyun.com" >> /root/.pip/pip.conf \ + && echo "index-url=http://mirrors.aliyun.com/pypi/simple/" >> /root/.pip/pip.conf + +# Install openmpi (v3.1.5) +RUN cd /tmp \ + && wget https://download.open-mpi.org/release/open-mpi/v3.1/openmpi-3.1.5.tar.gz \ + && tar -xvf openmpi-3.1.5.tar.gz \ + && cd /tmp/openmpi-3.1.5 \ + && mkdir -p ${OMPI_ROOT_PATH} \ + && ./configure --prefix=${OMPI_ROOT_PATH} \ + && make -j4 \ + && make install -j4 \ + && rm -rf /tmp/openmpi-3.1.5 \ + && rm -f /tmp/openmpi-3.1.5.tar.gz + +# Install MindSpore cuda-10.1 whl package +RUN pip install --no-cache-dir https://ms-release.obs.cn-north-4.myhuaweicloud.com/0.7.0-beta/MindSpore/gpu/ubuntu_x86/cuda-10.1/mindspore_gpu-0.7.0-cp37-cp37m-linux_x86_64.whl diff --git a/scripts/docker/mindspore-gpu/1.0.0/Dockerfile b/scripts/docker/mindspore-gpu/1.0.0/Dockerfile new file mode 100644 index 0000000000..cab190093b --- /dev/null +++ b/scripts/docker/mindspore-gpu/1.0.0/Dockerfile @@ -0,0 +1,81 @@ +FROM nvidia/cuda:10.1-cudnn7-devel-ubuntu18.04 + +MAINTAINER leonwanghui + +# Set env +ENV PYTHON_ROOT_PATH /usr/local/python-3.7.5 +ENV OMPI_ROOT_PATH /usr/local/openmpi-3.1.5 +ENV PATH ${OMPI_ROOT_PATH}/bin:/usr/local/bin:$PATH +ENV LD_LIBRARY_PATH ${OMPI_ROOT_PATH}/lib:$LD_LIBRARY_PATH + +# Install base tools +RUN apt update \ + && DEBIAN_FRONTEND=noninteractive apt install -y \ + vim \ + wget \ + curl \ + xz-utils \ + net-tools \ + openssh-client \ + git \ + ntpdate \ + tzdata \ + tcl \ + sudo \ + bash-completion + +# Install compile tools +RUN DEBIAN_FRONTEND=noninteractive apt install -y \ + gcc \ + g++ \ + zlibc \ + make \ + libgmp-dev \ + patch \ + autoconf \ + libtool \ + automake \ + flex + +# Set bash +RUN echo "dash dash/sh boolean false" | debconf-set-selections +RUN DEBIAN_FRONTEND=noninteractive dpkg-reconfigure dash + +# Install python (v3.7.5) +RUN apt install -y libffi-dev libssl-dev zlib1g-dev libbz2-dev libncurses5-dev \ + libgdbm-dev libgdbm-compat-dev liblzma-dev libreadline-dev libsqlite3-dev \ + && cd /tmp \ + && wget https://github.com/python/cpython/archive/v3.7.5.tar.gz \ + && tar -xvf v3.7.5.tar.gz \ + && cd /tmp/cpython-3.7.5 \ + && mkdir -p ${PYTHON_ROOT_PATH} \ + && ./configure --prefix=${PYTHON_ROOT_PATH} \ + && make -j4 \ + && make install -j4 \ + && rm -f /usr/local/bin/python \ + && rm -f /usr/local/bin/pip \ + && ln -s ${PYTHON_ROOT_PATH}/bin/python3.7 /usr/local/bin/python \ + && ln -s ${PYTHON_ROOT_PATH}/bin/pip3.7 /usr/local/bin/pip \ + && rm -rf /tmp/cpython-3.7.5 \ + && rm -f /tmp/v3.7.5.tar.gz + +# Set pip source +RUN mkdir -pv /root/.pip \ + && echo "[global]" > /root/.pip/pip.conf \ + && echo "trusted-host=mirrors.aliyun.com" >> /root/.pip/pip.conf \ + && echo "index-url=http://mirrors.aliyun.com/pypi/simple/" >> /root/.pip/pip.conf + +# Install openmpi (v3.1.5) +RUN cd /tmp \ + && wget https://download.open-mpi.org/release/open-mpi/v3.1/openmpi-3.1.5.tar.gz \ + && tar -xvf openmpi-3.1.5.tar.gz \ + && cd /tmp/openmpi-3.1.5 \ + && mkdir -p ${OMPI_ROOT_PATH} \ + && ./configure --prefix=${OMPI_ROOT_PATH} \ + && make -j4 \ + && make install -j4 \ + && rm -rf /tmp/openmpi-3.1.5 \ + && rm -f /tmp/openmpi-3.1.5.tar.gz + +# Install MindSpore cuda-10.1 whl package +RUN pip install --no-cache-dir https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.0.0/MindSpore/gpu/ubuntu_x86/cuda-10.1/mindspore_gpu-1.0.0-cp37-cp37m-linux_x86_64.whl diff --git a/scripts/docker/mindspore-gpu/1.1.0/Dockerfile b/scripts/docker/mindspore-gpu/1.1.0/Dockerfile new file mode 100644 index 0000000000..9121a0bcb6 --- /dev/null +++ b/scripts/docker/mindspore-gpu/1.1.0/Dockerfile @@ -0,0 +1,85 @@ +FROM nvidia/cuda:10.1-cudnn7-devel-ubuntu18.04 + +MAINTAINER leonwanghui + +# Set env +ENV PYTHON_ROOT_PATH /usr/local/python-3.7.5 +ENV OMPI_ROOT_PATH /usr/local/openmpi-4.0.3 +ENV PATH ${OMPI_ROOT_PATH}/bin:/usr/local/bin:$PATH +ENV LD_LIBRARY_PATH ${OMPI_ROOT_PATH}/lib:$LD_LIBRARY_PATH + +# Install base tools +RUN apt update \ + && DEBIAN_FRONTEND=noninteractive apt install -y \ + vim \ + wget \ + curl \ + xz-utils \ + net-tools \ + openssh-client \ + git \ + ntpdate \ + tzdata \ + tcl \ + sudo \ + bash-completion + +# Install compile tools +RUN DEBIAN_FRONTEND=noninteractive apt install -y \ + gcc \ + g++ \ + zlibc \ + make \ + libgmp-dev \ + patch \ + autoconf \ + libtool \ + automake \ + flex + +# Install the rest dependent tools +RUN DEBIAN_FRONTEND=noninteractive apt install -y \ + libnuma-dev + +# Set bash +RUN echo "dash dash/sh boolean false" | debconf-set-selections +RUN DEBIAN_FRONTEND=noninteractive dpkg-reconfigure dash + +# Install python (v3.7.5) +RUN apt install -y libffi-dev libssl-dev zlib1g-dev libbz2-dev libncurses5-dev \ + libgdbm-dev libgdbm-compat-dev liblzma-dev libreadline-dev libsqlite3-dev \ + && cd /tmp \ + && wget https://github.com/python/cpython/archive/v3.7.5.tar.gz \ + && tar -xvf v3.7.5.tar.gz \ + && cd /tmp/cpython-3.7.5 \ + && mkdir -p ${PYTHON_ROOT_PATH} \ + && ./configure --prefix=${PYTHON_ROOT_PATH} \ + && make -j4 \ + && make install -j4 \ + && rm -f /usr/local/bin/python \ + && rm -f /usr/local/bin/pip \ + && ln -s ${PYTHON_ROOT_PATH}/bin/python3.7 /usr/local/bin/python \ + && ln -s ${PYTHON_ROOT_PATH}/bin/pip3.7 /usr/local/bin/pip \ + && rm -rf /tmp/cpython-3.7.5 \ + && rm -f /tmp/v3.7.5.tar.gz + +# Set pip source +RUN mkdir -pv /root/.pip \ + && echo "[global]" > /root/.pip/pip.conf \ + && echo "trusted-host=mirrors.aliyun.com" >> /root/.pip/pip.conf \ + && echo "index-url=http://mirrors.aliyun.com/pypi/simple/" >> /root/.pip/pip.conf + +# Install openmpi (v4.0.3) +RUN cd /tmp \ + && wget https://download.open-mpi.org/release/open-mpi/v4.0/openmpi-4.0.3.tar.gz \ + && tar -xvf openmpi-4.0.3.tar.gz \ + && cd /tmp/openmpi-4.0.3 \ + && mkdir -p ${OMPI_ROOT_PATH} \ + && ./configure --prefix=${OMPI_ROOT_PATH} \ + && make -j4 \ + && make install -j4 \ + && rm -rf /tmp/openmpi-4.0.3 \ + && rm -f /tmp/openmpi-4.0.3.tar.gz + +# Install MindSpore cuda-10.1 whl package +RUN pip install --no-cache-dir https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.1.0/MindSpore/gpu/ubuntu_x86/cuda-10.1/mindspore_gpu-1.1.0-cp37-cp37m-linux_x86_64.whl diff --git a/scripts/docker/mindspore-gpu/1.2.0/Dockerfile b/scripts/docker/mindspore-gpu/1.2.0/Dockerfile new file mode 100644 index 0000000000..31391fcb40 --- /dev/null +++ b/scripts/docker/mindspore-gpu/1.2.0/Dockerfile @@ -0,0 +1,88 @@ +FROM nvidia/cuda:10.1-cudnn7-devel-ubuntu18.04 + +MAINTAINER leonwanghui + +# Set env +ENV PYTHON_ROOT_PATH /usr/local/python-3.7.5 +ENV OMPI_ROOT_PATH /usr/local/openmpi-4.0.3 +ENV PATH ${OMPI_ROOT_PATH}/bin:/usr/local/bin:$PATH +ENV LD_LIBRARY_PATH ${OMPI_ROOT_PATH}/lib:$LD_LIBRARY_PATH + +# Install base tools +RUN apt update \ + && DEBIAN_FRONTEND=noninteractive apt install -y \ + vim \ + wget \ + curl \ + xz-utils \ + net-tools \ + openssh-client \ + git \ + ntpdate \ + tzdata \ + tcl \ + sudo \ + bash-completion + +# Install compile tools +RUN DEBIAN_FRONTEND=noninteractive apt install -y \ + gcc \ + g++ \ + zlibc \ + make \ + libgmp-dev \ + patch \ + autoconf \ + libtool \ + automake \ + flex + +# Install the rest dependent tools +RUN DEBIAN_FRONTEND=noninteractive apt install -y \ + libnuma-dev + +# Set bash +RUN echo "dash dash/sh boolean false" | debconf-set-selections +RUN DEBIAN_FRONTEND=noninteractive dpkg-reconfigure dash + +# Install python (v3.7.5) +RUN apt install -y libffi-dev libssl-dev zlib1g-dev libbz2-dev libncurses5-dev \ + libgdbm-dev libgdbm-compat-dev liblzma-dev libreadline-dev libsqlite3-dev \ + && cd /tmp \ + && wget https://github.com/python/cpython/archive/v3.7.5.tar.gz \ + && tar -xvf v3.7.5.tar.gz \ + && cd /tmp/cpython-3.7.5 \ + && mkdir -p ${PYTHON_ROOT_PATH} \ + && ./configure --prefix=${PYTHON_ROOT_PATH} \ + && make -j4 \ + && make install -j4 \ + && rm -f /usr/local/bin/python \ + && rm -f /usr/local/bin/pip \ + && ln -s ${PYTHON_ROOT_PATH}/bin/python3.7 /usr/local/bin/python \ + && ln -s ${PYTHON_ROOT_PATH}/bin/pip3.7 /usr/local/bin/pip \ + && rm -rf /tmp/cpython-3.7.5 \ + && rm -f /tmp/v3.7.5.tar.gz + +# Set pip source +RUN mkdir -pv /root/.pip \ + && echo "[global]" > /root/.pip/pip.conf \ + && echo "trusted-host=mirrors.aliyun.com" >> /root/.pip/pip.conf \ + && echo "index-url=http://mirrors.aliyun.com/pypi/simple/" >> /root/.pip/pip.conf + +# Install openmpi (v4.0.3) +RUN cd /tmp \ + && wget https://download.open-mpi.org/release/open-mpi/v4.0/openmpi-4.0.3.tar.gz \ + && tar -xvf openmpi-4.0.3.tar.gz \ + && cd /tmp/openmpi-4.0.3 \ + && mkdir -p ${OMPI_ROOT_PATH} \ + && ./configure --prefix=${OMPI_ROOT_PATH} \ + && make -j4 \ + && make install -j4 \ + && rm -rf /tmp/openmpi-4.0.3 \ + && rm -f /tmp/openmpi-4.0.3.tar.gz + +# Install MindSpore cuda-10.1 whl package +RUN pip install --no-cache-dir https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.2.0/MindSpore/gpu/ubuntu_x86/cuda-10.1/mindspore_gpu-1.2.0-cp37-cp37m-linux_x86_64.whl + +# Install MindInsight whl package +RUN pip install --no-cache-dir https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.2.0/MindInsight/ascend/ubuntu_x86/mindinsight-1.2.0-cp37-cp37m-linux_x86_64.whl \ No newline at end of file diff --git a/scripts/docker/mindspore-gpu/1.2.1/Dockerfile b/scripts/docker/mindspore-gpu/1.2.1/Dockerfile new file mode 100644 index 0000000000..db1e8203b2 --- /dev/null +++ b/scripts/docker/mindspore-gpu/1.2.1/Dockerfile @@ -0,0 +1,88 @@ +FROM nvidia/cuda:10.1-cudnn7-devel-ubuntu18.04 + +MAINTAINER leonwanghui + +# Set env +ENV PYTHON_ROOT_PATH /usr/local/python-3.7.5 +ENV OMPI_ROOT_PATH /usr/local/openmpi-4.0.3 +ENV PATH ${PYTHON_ROOT_PATH}/bin:${OMPI_ROOT_PATH}/bin:/usr/local/bin:$PATH +ENV LD_LIBRARY_PATH ${OMPI_ROOT_PATH}/lib:$LD_LIBRARY_PATH + +# Install base tools +RUN apt update \ + && DEBIAN_FRONTEND=noninteractive apt install -y \ + vim \ + wget \ + curl \ + xz-utils \ + net-tools \ + openssh-client \ + git \ + ntpdate \ + tzdata \ + tcl \ + sudo \ + bash-completion + +# Install compile tools +RUN DEBIAN_FRONTEND=noninteractive apt install -y \ + gcc \ + g++ \ + zlibc \ + make \ + libgmp-dev \ + patch \ + autoconf \ + libtool \ + automake \ + flex + +# Install the rest dependent tools +RUN DEBIAN_FRONTEND=noninteractive apt install -y \ + libnuma-dev + +# Set bash +RUN echo "dash dash/sh boolean false" | debconf-set-selections +RUN DEBIAN_FRONTEND=noninteractive dpkg-reconfigure dash + +# Install python (v3.7.5) +RUN apt install -y libffi-dev libssl-dev zlib1g-dev libbz2-dev libncurses5-dev \ + libgdbm-dev libgdbm-compat-dev liblzma-dev libreadline-dev libsqlite3-dev \ + && cd /tmp \ + && wget https://github.com/python/cpython/archive/v3.7.5.tar.gz \ + && tar -xvf v3.7.5.tar.gz \ + && cd /tmp/cpython-3.7.5 \ + && mkdir -p ${PYTHON_ROOT_PATH} \ + && ./configure --prefix=${PYTHON_ROOT_PATH} \ + && make -j4 \ + && make install -j4 \ + && rm -f /usr/local/bin/python \ + && rm -f /usr/local/bin/pip \ + && ln -s ${PYTHON_ROOT_PATH}/bin/python3.7 /usr/local/bin/python \ + && ln -s ${PYTHON_ROOT_PATH}/bin/pip3.7 /usr/local/bin/pip \ + && rm -rf /tmp/cpython-3.7.5 \ + && rm -f /tmp/v3.7.5.tar.gz + +# Set pip source +RUN mkdir -pv /root/.pip \ + && echo "[global]" > /root/.pip/pip.conf \ + && echo "trusted-host=mirrors.aliyun.com" >> /root/.pip/pip.conf \ + && echo "index-url=http://mirrors.aliyun.com/pypi/simple/" >> /root/.pip/pip.conf + +# Install openmpi (v4.0.3) +RUN cd /tmp \ + && wget https://download.open-mpi.org/release/open-mpi/v4.0/openmpi-4.0.3.tar.gz \ + && tar -xvf openmpi-4.0.3.tar.gz \ + && cd /tmp/openmpi-4.0.3 \ + && mkdir -p ${OMPI_ROOT_PATH} \ + && ./configure --prefix=${OMPI_ROOT_PATH} \ + && make -j4 \ + && make install -j4 \ + && rm -rf /tmp/openmpi-4.0.3 \ + && rm -f /tmp/openmpi-4.0.3.tar.gz + +# Install MindSpore cuda-10.1 whl package +RUN pip install --no-cache-dir https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.2.1/MindSpore/gpu/ubuntu_x86/cuda-10.1/mindspore_gpu-1.2.1-cp37-cp37m-linux_x86_64.whl + +# Install MindInsight whl package +RUN pip install --no-cache-dir https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.2.0/MindInsight/ascend/ubuntu_x86/mindinsight-1.2.0-cp37-cp37m-linux_x86_64.whl \ No newline at end of file diff --git a/scripts/docker/mindspore-gpu/1.3.0/Dockerfile b/scripts/docker/mindspore-gpu/1.3.0/Dockerfile new file mode 100644 index 0000000000..897cbb487e --- /dev/null +++ b/scripts/docker/mindspore-gpu/1.3.0/Dockerfile @@ -0,0 +1,91 @@ +FROM nvidia/cuda:11.1-cudnn8-devel-ubuntu18.04 + +MAINTAINER leonwanghui + +# Set env +ENV PYTHON_ROOT_PATH /usr/local/python-3.7.5 +ENV OMPI_ROOT_PATH /usr/local/openmpi-4.0.3 +ENV PATH ${PYTHON_ROOT_PATH}/bin:${OMPI_ROOT_PATH}/bin:/usr/local/bin:$PATH +ENV LD_LIBRARY_PATH ${OMPI_ROOT_PATH}/lib:$LD_LIBRARY_PATH + +# Install base tools +RUN apt update \ + && DEBIAN_FRONTEND=noninteractive apt install -y \ + vim \ + wget \ + curl \ + xz-utils \ + net-tools \ + openssh-client \ + git \ + ntpdate \ + tzdata \ + tcl \ + sudo \ + bash-completion + +# Install compile tools +RUN DEBIAN_FRONTEND=noninteractive apt install -y \ + gcc \ + g++ \ + zlibc \ + make \ + libgmp-dev \ + patch \ + autoconf \ + libtool \ + automake \ + flex + +# Install the rest dependent tools +RUN DEBIAN_FRONTEND=noninteractive apt install -y \ + libnuma-dev + +# Set bash +RUN echo "dash dash/sh boolean false" | debconf-set-selections +RUN DEBIAN_FRONTEND=noninteractive dpkg-reconfigure dash + +# Install python (v3.7.5) +RUN apt install -y libffi-dev libssl-dev zlib1g-dev libbz2-dev libncurses5-dev \ + libgdbm-dev libgdbm-compat-dev liblzma-dev libreadline-dev libsqlite3-dev \ + && cd /tmp \ + && wget https://github.com/python/cpython/archive/v3.7.5.tar.gz \ + && tar -xvf v3.7.5.tar.gz \ + && cd /tmp/cpython-3.7.5 \ + && mkdir -p ${PYTHON_ROOT_PATH} \ + && ./configure --prefix=${PYTHON_ROOT_PATH} --enable-shared \ + && make -j4 \ + && make install -j4 \ + && rm -f /usr/local/bin/python \ + && rm -f /usr/local/bin/pip \ + && rm -f /usr/local/lib/libpython3.7m.so.1.0 \ + && ln -s ${PYTHON_ROOT_PATH}/bin/python3.7 /usr/local/bin/python \ + && ln -s ${PYTHON_ROOT_PATH}/bin/pip3.7 /usr/local/bin/pip \ + && ln -s ${PYTHON_ROOT_PATH}/lib/libpython3.7m.so.1.0 /usr/local/lib/libpython3.7m.so.1.0 \ + && ldconfig \ + && rm -rf /tmp/cpython-3.7.5 \ + && rm -f /tmp/v3.7.5.tar.gz + +# Set pip source +RUN mkdir -pv /root/.pip \ + && echo "[global]" > /root/.pip/pip.conf \ + && echo "trusted-host=mirrors.aliyun.com" >> /root/.pip/pip.conf \ + && echo "index-url=http://mirrors.aliyun.com/pypi/simple/" >> /root/.pip/pip.conf + +# Install openmpi (v4.0.3) +RUN cd /tmp \ + && wget https://download.open-mpi.org/release/open-mpi/v4.0/openmpi-4.0.3.tar.gz \ + && tar -xvf openmpi-4.0.3.tar.gz \ + && cd /tmp/openmpi-4.0.3 \ + && mkdir -p ${OMPI_ROOT_PATH} \ + && ./configure --prefix=${OMPI_ROOT_PATH} \ + && make -j4 \ + && make install -j4 \ + && rm -rf /tmp/openmpi-4.0.3 \ + && rm -f /tmp/openmpi-4.0.3.tar.gz + +# Install MindSpore cuda-11.1 whl package +RUN pip install --no-cache-dir https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.3.0/MindSpore/gpu/x86_64/cuda-11.1/mindspore_gpu-1.3.0-cp37-cp37m-linux_x86_64.whl + +# Install MindInsight whl package +RUN pip install --no-cache-dir https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.3.0/MindInsight/any/mindinsight-1.3.0-py3-none-any.whl \ No newline at end of file diff --git a/scripts/docker/mindspore-gpu/1.3.0/cuda10.1/Dockerfile b/scripts/docker/mindspore-gpu/1.3.0/cuda10.1/Dockerfile new file mode 100644 index 0000000000..f2cc3d6501 --- /dev/null +++ b/scripts/docker/mindspore-gpu/1.3.0/cuda10.1/Dockerfile @@ -0,0 +1,90 @@ +FROM nvidia/cuda:10.1-cudnn7-devel-ubuntu18.04 + +MAINTAINER leonwanghui + +# Set env +ENV PYTHON_ROOT_PATH /usr/local/python-3.7.5 +ENV OMPI_ROOT_PATH /usr/local/openmpi-4.0.3 +ENV PATH ${PYTHON_ROOT_PATH}/bin:${OMPI_ROOT_PATH}/bin:/usr/local/bin:$PATH +ENV LD_LIBRARY_PATH ${OMPI_ROOT_PATH}/lib:$LD_LIBRARY_PATH + +# Install base tools +RUN apt update \ + && DEBIAN_FRONTEND=noninteractive apt install -y \ + vim \ + wget \ + curl \ + xz-utils \ + net-tools \ + openssh-client \ + git \ + ntpdate \ + tzdata \ + tcl \ + sudo \ + bash-completion + +# Install compile tools +RUN DEBIAN_FRONTEND=noninteractive apt install -y \ + gcc \ + g++ \ + zlibc \ + make \ + libgmp-dev \ + patch \ + autoconf \ + libtool \ + automake \ + flex + +# Install the rest dependent tools +RUN DEBIAN_FRONTEND=noninteractive apt install -y \ + libnuma-dev + +# Set bash +RUN echo "dash dash/sh boolean false" | debconf-set-selections +RUN DEBIAN_FRONTEND=noninteractive dpkg-reconfigure dash + +# Install python (v3.7.5) +RUN apt install -y libffi-dev libssl-dev zlib1g-dev libbz2-dev libncurses5-dev \ + libgdbm-dev libgdbm-compat-dev liblzma-dev libreadline-dev libsqlite3-dev \ + && cd /tmp \ + && wget https://github.com/python/cpython/archive/v3.7.5.tar.gz \ + && tar -xvf v3.7.5.tar.gz \ + && cd /tmp/cpython-3.7.5 \ + && mkdir -p ${PYTHON_ROOT_PATH} \ + && ./configure --prefix=${PYTHON_ROOT_PATH} --enable-shared \ + && make -j4 \ + && make install -j4 \ + && rm -f /usr/local/bin/python \ + && rm -f /usr/local/bin/pip \ + && rm -f /usr/local/lib/libpython3.7m.so.1.0 \ + && ln -s ${PYTHON_ROOT_PATH}/bin/python3.7 /usr/local/bin/python \ + && ln -s ${PYTHON_ROOT_PATH}/bin/pip3.7 /usr/local/bin/pip \ + && ln -s ${PYTHON_ROOT_PATH}/lib/libpython3.7m.so.1.0 /usr/local/lib/libpython3.7m.so.1.0 \ + && ldconfig \ + && rm -rf /tmp/cpython-3.7.5 \ + && rm -f /tmp/v3.7.5.tar.gz + +# Set pip source +RUN mkdir -pv /root/.pip \ + && echo "[global]" > /root/.pip/pip.conf \ + && echo "trusted-host=mirrors.aliyun.com" >> /root/.pip/pip.conf \ + && echo "index-url=http://mirrors.aliyun.com/pypi/simple/" >> /root/.pip/pip.conf + +# Install openmpi (v4.0.3) +RUN cd /tmp \ + && wget https://download.open-mpi.org/release/open-mpi/v4.0/openmpi-4.0.3.tar.gz \ + && tar -xvf openmpi-4.0.3.tar.gz \ + && cd /tmp/openmpi-4.0.3 \ + && mkdir -p ${OMPI_ROOT_PATH} \ + && ./configure --prefix=${OMPI_ROOT_PATH} \ + && make -j4 \ + && make install -j4 \ + && rm -rf /tmp/openmpi-4.0.3 \ + && rm -f /tmp/openmpi-4.0.3.tar.gz + +# Install MindSpore cuda-10.1, MindInsight, Serving whl package +RUN pip install --no-cache-dir https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.3.0/MindSpore/gpu/x86_64/cuda-10.1/mindspore_gpu-1.3.0-cp37-cp37m-linux_x86_64.whl \ + && pip install --no-cache-dir https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.3.0/MindInsight/any/mindinsight-1.3.0-py3-none-any.whl \ + && pip install --no-cache-dir https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.3.0/Serving/x86_64/mindspore_serving-1.3.0-cp37-cp37m-linux_x86_64.whl diff --git a/scripts/docker/mindspore-gpu/1.5.0/cuda10.1/Dockerfile b/scripts/docker/mindspore-gpu/1.5.0/cuda10.1/Dockerfile new file mode 100644 index 0000000000..f02eada486 --- /dev/null +++ b/scripts/docker/mindspore-gpu/1.5.0/cuda10.1/Dockerfile @@ -0,0 +1,91 @@ +FROM nvidia/cuda:10.1-cudnn7-devel-ubuntu18.04 + +MAINTAINER MindSpore Authors + +# Set env +ENV PYTHON_ROOT_PATH /usr/local/python-3.7.5 +ENV OMPI_ROOT_PATH /usr/local/openmpi-4.0.3 +ENV PATH ${PYTHON_ROOT_PATH}/bin:${OMPI_ROOT_PATH}/bin:/usr/local/bin:$PATH +ENV LD_LIBRARY_PATH ${OMPI_ROOT_PATH}/lib:$LD_LIBRARY_PATH + +# Install base tools +RUN apt update \ + && DEBIAN_FRONTEND=noninteractive apt install -y \ + vim \ + wget \ + curl \ + xz-utils \ + net-tools \ + openssh-client \ + git \ + ntpdate \ + tzdata \ + tcl \ + sudo \ + bash-completion + +# Install compile tools +RUN DEBIAN_FRONTEND=noninteractive apt install -y \ + gcc \ + g++ \ + zlibc \ + make \ + libgmp-dev \ + patch \ + autoconf \ + libtool \ + automake \ + flex \ + libjpeg8-dev + +# Install the rest dependent tools +RUN DEBIAN_FRONTEND=noninteractive apt install -y \ + libnuma-dev + +# Set bash +RUN echo "dash dash/sh boolean false" | debconf-set-selections +RUN DEBIAN_FRONTEND=noninteractive dpkg-reconfigure dash + +# Install python (v3.7.5) +RUN apt install -y libffi-dev libssl-dev zlib1g-dev libbz2-dev libncurses5-dev \ + libgdbm-dev libgdbm-compat-dev liblzma-dev libreadline-dev libsqlite3-dev \ + && cd /tmp \ + && wget https://github.com/python/cpython/archive/v3.7.5.tar.gz \ + && tar -xvf v3.7.5.tar.gz \ + && cd /tmp/cpython-3.7.5 \ + && mkdir -p ${PYTHON_ROOT_PATH} \ + && ./configure --prefix=${PYTHON_ROOT_PATH} --enable-shared \ + && make -j4 \ + && make install -j4 \ + && rm -f /usr/local/bin/python \ + && rm -f /usr/local/bin/pip \ + && rm -f /usr/local/lib/libpython3.7m.so.1.0 \ + && ln -s ${PYTHON_ROOT_PATH}/bin/python3.7 /usr/local/bin/python \ + && ln -s ${PYTHON_ROOT_PATH}/bin/pip3.7 /usr/local/bin/pip \ + && ln -s ${PYTHON_ROOT_PATH}/lib/libpython3.7m.so.1.0 /usr/local/lib/libpython3.7m.so.1.0 \ + && ldconfig \ + && rm -rf /tmp/cpython-3.7.5 \ + && rm -f /tmp/v3.7.5.tar.gz + +# Set pip source +RUN mkdir -pv /root/.pip \ + && echo "[global]" > /root/.pip/pip.conf \ + && echo "trusted-host=mirrors.aliyun.com" >> /root/.pip/pip.conf \ + && echo "index-url=http://mirrors.aliyun.com/pypi/simple/" >> /root/.pip/pip.conf + +# Install openmpi (v4.0.3) +RUN cd /tmp \ + && wget https://download.open-mpi.org/release/open-mpi/v4.0/openmpi-4.0.3.tar.gz \ + && tar -xvf openmpi-4.0.3.tar.gz \ + && cd /tmp/openmpi-4.0.3 \ + && mkdir -p ${OMPI_ROOT_PATH} \ + && ./configure --prefix=${OMPI_ROOT_PATH} \ + && make -j4 \ + && make install -j4 \ + && rm -rf /tmp/openmpi-4.0.3 \ + && rm -f /tmp/openmpi-4.0.3.tar.gz + +# Install MindSpore cuda-10.1, MindInsight, Serving whl package +RUN pip install --no-cache-dir https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.5.0/MindSpore/gpu/x86_64/cuda-10.1/mindspore_gpu-1.5.0-cp37-cp37m-linux_x86_64.whl \ + && pip install --no-cache-dir https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.5.0/MindInsight/any/mindinsight-1.5.0-py3-none-any.whl \ + && pip install --no-cache-dir https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.5.0/Serving/x86_64/mindspore_serving-1.5.0-cp37-cp37m-linux_x86_64.whl diff --git a/scripts/docker/mindspore-gpu/1.5.0/cuda11.1/Dockerfile b/scripts/docker/mindspore-gpu/1.5.0/cuda11.1/Dockerfile new file mode 100644 index 0000000000..f8f308a92d --- /dev/null +++ b/scripts/docker/mindspore-gpu/1.5.0/cuda11.1/Dockerfile @@ -0,0 +1,91 @@ +FROM nvidia/cuda:11.1-cudnn8-devel-ubuntu18.04 + +MAINTAINER MindSpore Authors + +# Set env +ENV PYTHON_ROOT_PATH /usr/local/python-3.7.5 +ENV OMPI_ROOT_PATH /usr/local/openmpi-4.0.3 +ENV PATH ${PYTHON_ROOT_PATH}/bin:${OMPI_ROOT_PATH}/bin:/usr/local/bin:$PATH +ENV LD_LIBRARY_PATH ${OMPI_ROOT_PATH}/lib:$LD_LIBRARY_PATH + +# Install base tools +RUN apt update \ + && DEBIAN_FRONTEND=noninteractive apt install -y \ + vim \ + wget \ + curl \ + xz-utils \ + net-tools \ + openssh-client \ + git \ + ntpdate \ + tzdata \ + tcl \ + sudo \ + bash-completion + +# Install compile tools +RUN DEBIAN_FRONTEND=noninteractive apt install -y \ + gcc \ + g++ \ + zlibc \ + make \ + libgmp-dev \ + patch \ + autoconf \ + libtool \ + automake \ + flex \ + libjpeg8-dev + +# Install the rest dependent tools +RUN DEBIAN_FRONTEND=noninteractive apt install -y \ + libnuma-dev + +# Set bash +RUN echo "dash dash/sh boolean false" | debconf-set-selections +RUN DEBIAN_FRONTEND=noninteractive dpkg-reconfigure dash + +# Install python (v3.7.5) +RUN apt install -y libffi-dev libssl-dev zlib1g-dev libbz2-dev libncurses5-dev \ + libgdbm-dev libgdbm-compat-dev liblzma-dev libreadline-dev libsqlite3-dev \ + && cd /tmp \ + && wget https://github.com/python/cpython/archive/v3.7.5.tar.gz \ + && tar -xvf v3.7.5.tar.gz \ + && cd /tmp/cpython-3.7.5 \ + && mkdir -p ${PYTHON_ROOT_PATH} \ + && ./configure --prefix=${PYTHON_ROOT_PATH} --enable-shared \ + && make -j4 \ + && make install -j4 \ + && rm -f /usr/local/bin/python \ + && rm -f /usr/local/bin/pip \ + && rm -f /usr/local/lib/libpython3.7m.so.1.0 \ + && ln -s ${PYTHON_ROOT_PATH}/bin/python3.7 /usr/local/bin/python \ + && ln -s ${PYTHON_ROOT_PATH}/bin/pip3.7 /usr/local/bin/pip \ + && ln -s ${PYTHON_ROOT_PATH}/lib/libpython3.7m.so.1.0 /usr/local/lib/libpython3.7m.so.1.0 \ + && ldconfig \ + && rm -rf /tmp/cpython-3.7.5 \ + && rm -f /tmp/v3.7.5.tar.gz + +# Set pip source +RUN mkdir -pv /root/.pip \ + && echo "[global]" > /root/.pip/pip.conf \ + && echo "trusted-host=mirrors.aliyun.com" >> /root/.pip/pip.conf \ + && echo "index-url=http://mirrors.aliyun.com/pypi/simple/" >> /root/.pip/pip.conf + +# Install openmpi (v4.0.3) +RUN cd /tmp \ + && wget https://download.open-mpi.org/release/open-mpi/v4.0/openmpi-4.0.3.tar.gz \ + && tar -xvf openmpi-4.0.3.tar.gz \ + && cd /tmp/openmpi-4.0.3 \ + && mkdir -p ${OMPI_ROOT_PATH} \ + && ./configure --prefix=${OMPI_ROOT_PATH} \ + && make -j4 \ + && make install -j4 \ + && rm -rf /tmp/openmpi-4.0.3 \ + && rm -f /tmp/openmpi-4.0.3.tar.gz + +# Install MindSpore cuda-11.1, MindInsight, Serving whl package +RUN pip install --no-cache-dir https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.5.0/MindSpore/gpu/x86_64/cuda-11.1/mindspore_gpu-1.5.0-cp37-cp37m-linux_x86_64.whl \ + && pip install --no-cache-dir https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.5.0/MindInsight/any/mindinsight-1.5.0-py3-none-any.whl \ + && pip install --no-cache-dir https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.5.0/Serving/x86_64/mindspore_serving-1.5.0-cp37-cp37m-linux_x86_64.whl diff --git a/scripts/docker/mindspore-gpu/1.5.0rc1/cuda10.1/Dockerfile b/scripts/docker/mindspore-gpu/1.5.0rc1/cuda10.1/Dockerfile new file mode 100644 index 0000000000..409f812246 --- /dev/null +++ b/scripts/docker/mindspore-gpu/1.5.0rc1/cuda10.1/Dockerfile @@ -0,0 +1,91 @@ +FROM nvidia/cuda:10.1-cudnn7-devel-ubuntu18.04 + +MAINTAINER MindSpore Authors + +# Set env +ENV PYTHON_ROOT_PATH /usr/local/python-3.7.5 +ENV OMPI_ROOT_PATH /usr/local/openmpi-4.0.3 +ENV PATH ${PYTHON_ROOT_PATH}/bin:${OMPI_ROOT_PATH}/bin:/usr/local/bin:$PATH +ENV LD_LIBRARY_PATH ${OMPI_ROOT_PATH}/lib:$LD_LIBRARY_PATH + +# Install base tools +RUN apt update \ + && DEBIAN_FRONTEND=noninteractive apt install -y \ + vim \ + wget \ + curl \ + xz-utils \ + net-tools \ + openssh-client \ + git \ + ntpdate \ + tzdata \ + tcl \ + sudo \ + bash-completion + +# Install compile tools +RUN DEBIAN_FRONTEND=noninteractive apt install -y \ + gcc \ + g++ \ + zlibc \ + make \ + libgmp-dev \ + patch \ + autoconf \ + libtool \ + automake \ + flex \ + libjpeg8-dev + +# Install the rest dependent tools +RUN DEBIAN_FRONTEND=noninteractive apt install -y \ + libnuma-dev + +# Set bash +RUN echo "dash dash/sh boolean false" | debconf-set-selections +RUN DEBIAN_FRONTEND=noninteractive dpkg-reconfigure dash + +# Install python (v3.7.5) +RUN apt install -y libffi-dev libssl-dev zlib1g-dev libbz2-dev libncurses5-dev \ + libgdbm-dev libgdbm-compat-dev liblzma-dev libreadline-dev libsqlite3-dev \ + && cd /tmp \ + && wget https://github.com/python/cpython/archive/v3.7.5.tar.gz \ + && tar -xvf v3.7.5.tar.gz \ + && cd /tmp/cpython-3.7.5 \ + && mkdir -p ${PYTHON_ROOT_PATH} \ + && ./configure --prefix=${PYTHON_ROOT_PATH} --enable-shared \ + && make -j4 \ + && make install -j4 \ + && rm -f /usr/local/bin/python \ + && rm -f /usr/local/bin/pip \ + && rm -f /usr/local/lib/libpython3.7m.so.1.0 \ + && ln -s ${PYTHON_ROOT_PATH}/bin/python3.7 /usr/local/bin/python \ + && ln -s ${PYTHON_ROOT_PATH}/bin/pip3.7 /usr/local/bin/pip \ + && ln -s ${PYTHON_ROOT_PATH}/lib/libpython3.7m.so.1.0 /usr/local/lib/libpython3.7m.so.1.0 \ + && ldconfig \ + && rm -rf /tmp/cpython-3.7.5 \ + && rm -f /tmp/v3.7.5.tar.gz + +# Set pip source +RUN mkdir -pv /root/.pip \ + && echo "[global]" > /root/.pip/pip.conf \ + && echo "trusted-host=mirrors.aliyun.com" >> /root/.pip/pip.conf \ + && echo "index-url=http://mirrors.aliyun.com/pypi/simple/" >> /root/.pip/pip.conf + +# Install openmpi (v4.0.3) +RUN cd /tmp \ + && wget https://download.open-mpi.org/release/open-mpi/v4.0/openmpi-4.0.3.tar.gz \ + && tar -xvf openmpi-4.0.3.tar.gz \ + && cd /tmp/openmpi-4.0.3 \ + && mkdir -p ${OMPI_ROOT_PATH} \ + && ./configure --prefix=${OMPI_ROOT_PATH} \ + && make -j4 \ + && make install -j4 \ + && rm -rf /tmp/openmpi-4.0.3 \ + && rm -f /tmp/openmpi-4.0.3.tar.gz + +# Install MindSpore cuda-10.1, MindInsight, Serving whl package +RUN pip install --no-cache-dir https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.5.0-rc1/MindSpore/gpu/x86_64/cuda-10.1/mindspore_gpu-1.5.0rc1-cp37-cp37m-linux_x86_64.whl \ + && pip install --no-cache-dir https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.5.0-rc1/MindInsight/any/mindinsight-1.5.0rc1-py3-none-any.whl \ + && pip install --no-cache-dir https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.5.0-rc1/Serving/x86_64/mindspore_serving-1.5.0rc1-cp37-cp37m-linux_x86_64.whl diff --git a/scripts/docker/mindspore-gpu/1.5.0rc1/cuda11.1/Dockerfile b/scripts/docker/mindspore-gpu/1.5.0rc1/cuda11.1/Dockerfile new file mode 100644 index 0000000000..de02087fb3 --- /dev/null +++ b/scripts/docker/mindspore-gpu/1.5.0rc1/cuda11.1/Dockerfile @@ -0,0 +1,91 @@ +FROM nvidia/cuda:11.1-cudnn8-devel-ubuntu18.04 + +MAINTAINER MindSpore Authors + +# Set env +ENV PYTHON_ROOT_PATH /usr/local/python-3.7.5 +ENV OMPI_ROOT_PATH /usr/local/openmpi-4.0.3 +ENV PATH ${PYTHON_ROOT_PATH}/bin:${OMPI_ROOT_PATH}/bin:/usr/local/bin:$PATH +ENV LD_LIBRARY_PATH ${OMPI_ROOT_PATH}/lib:$LD_LIBRARY_PATH + +# Install base tools +RUN apt update \ + && DEBIAN_FRONTEND=noninteractive apt install -y \ + vim \ + wget \ + curl \ + xz-utils \ + net-tools \ + openssh-client \ + git \ + ntpdate \ + tzdata \ + tcl \ + sudo \ + bash-completion + +# Install compile tools +RUN DEBIAN_FRONTEND=noninteractive apt install -y \ + gcc \ + g++ \ + zlibc \ + make \ + libgmp-dev \ + patch \ + autoconf \ + libtool \ + automake \ + flex \ + libjpeg8-dev + +# Install the rest dependent tools +RUN DEBIAN_FRONTEND=noninteractive apt install -y \ + libnuma-dev + +# Set bash +RUN echo "dash dash/sh boolean false" | debconf-set-selections +RUN DEBIAN_FRONTEND=noninteractive dpkg-reconfigure dash + +# Install python (v3.7.5) +RUN apt install -y libffi-dev libssl-dev zlib1g-dev libbz2-dev libncurses5-dev \ + libgdbm-dev libgdbm-compat-dev liblzma-dev libreadline-dev libsqlite3-dev \ + && cd /tmp \ + && wget https://github.com/python/cpython/archive/v3.7.5.tar.gz \ + && tar -xvf v3.7.5.tar.gz \ + && cd /tmp/cpython-3.7.5 \ + && mkdir -p ${PYTHON_ROOT_PATH} \ + && ./configure --prefix=${PYTHON_ROOT_PATH} --enable-shared \ + && make -j4 \ + && make install -j4 \ + && rm -f /usr/local/bin/python \ + && rm -f /usr/local/bin/pip \ + && rm -f /usr/local/lib/libpython3.7m.so.1.0 \ + && ln -s ${PYTHON_ROOT_PATH}/bin/python3.7 /usr/local/bin/python \ + && ln -s ${PYTHON_ROOT_PATH}/bin/pip3.7 /usr/local/bin/pip \ + && ln -s ${PYTHON_ROOT_PATH}/lib/libpython3.7m.so.1.0 /usr/local/lib/libpython3.7m.so.1.0 \ + && ldconfig \ + && rm -rf /tmp/cpython-3.7.5 \ + && rm -f /tmp/v3.7.5.tar.gz + +# Set pip source +RUN mkdir -pv /root/.pip \ + && echo "[global]" > /root/.pip/pip.conf \ + && echo "trusted-host=mirrors.aliyun.com" >> /root/.pip/pip.conf \ + && echo "index-url=http://mirrors.aliyun.com/pypi/simple/" >> /root/.pip/pip.conf + +# Install openmpi (v4.0.3) +RUN cd /tmp \ + && wget https://download.open-mpi.org/release/open-mpi/v4.0/openmpi-4.0.3.tar.gz \ + && tar -xvf openmpi-4.0.3.tar.gz \ + && cd /tmp/openmpi-4.0.3 \ + && mkdir -p ${OMPI_ROOT_PATH} \ + && ./configure --prefix=${OMPI_ROOT_PATH} \ + && make -j4 \ + && make install -j4 \ + && rm -rf /tmp/openmpi-4.0.3 \ + && rm -f /tmp/openmpi-4.0.3.tar.gz + +# Install MindSpore cuda-11.1, MindInsight, Serving whl package +RUN pip install --no-cache-dir https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.5.0-rc1/MindSpore/gpu/x86_64/cuda-11.1/mindspore_gpu-1.5.0rc1-cp37-cp37m-linux_x86_64.whl \ + && pip install --no-cache-dir https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.5.0-rc1/MindInsight/any/mindinsight-1.5.0rc1-py3-none-any.whl \ + && pip install --no-cache-dir https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.5.0-rc1/Serving/x86_64/mindspore_serving-1.5.0rc1-cp37-cp37m-linux_x86_64.whl diff --git a/scripts/docker/mindspore-gpu/1.6.0/cuda10.1/Dockerfile b/scripts/docker/mindspore-gpu/1.6.0/cuda10.1/Dockerfile new file mode 100644 index 0000000000..cc3fe3ba9d --- /dev/null +++ b/scripts/docker/mindspore-gpu/1.6.0/cuda10.1/Dockerfile @@ -0,0 +1,91 @@ +FROM nvidia/cuda:10.1-cudnn7-devel-ubuntu18.04 + +MAINTAINER MindSpore Authors + +# Set env +ENV PYTHON_ROOT_PATH /usr/local/python-3.7.5 +ENV OMPI_ROOT_PATH /usr/local/openmpi-4.0.3 +ENV PATH ${PYTHON_ROOT_PATH}/bin:${OMPI_ROOT_PATH}/bin:/usr/local/bin:$PATH +ENV LD_LIBRARY_PATH ${OMPI_ROOT_PATH}/lib:$LD_LIBRARY_PATH + +# Install base tools +RUN apt update \ + && DEBIAN_FRONTEND=noninteractive apt install -y \ + vim \ + wget \ + curl \ + xz-utils \ + net-tools \ + openssh-client \ + git \ + ntpdate \ + tzdata \ + tcl \ + sudo \ + bash-completion + +# Install compile tools +RUN DEBIAN_FRONTEND=noninteractive apt install -y \ + gcc \ + g++ \ + zlibc \ + make \ + libgmp-dev \ + patch \ + autoconf \ + libtool \ + automake \ + flex \ + libjpeg8-dev + +# Install the rest dependent tools +RUN DEBIAN_FRONTEND=noninteractive apt install -y \ + libnuma-dev + +# Set bash +RUN echo "dash dash/sh boolean false" | debconf-set-selections +RUN DEBIAN_FRONTEND=noninteractive dpkg-reconfigure dash + +# Install python (v3.7.5) +RUN apt install -y libffi-dev libssl-dev zlib1g-dev libbz2-dev libncurses5-dev \ + libgdbm-dev libgdbm-compat-dev liblzma-dev libreadline-dev libsqlite3-dev \ + && cd /tmp \ + && wget https://github.com/python/cpython/archive/v3.7.5.tar.gz \ + && tar -xvf v3.7.5.tar.gz \ + && cd /tmp/cpython-3.7.5 \ + && mkdir -p ${PYTHON_ROOT_PATH} \ + && ./configure --prefix=${PYTHON_ROOT_PATH} --enable-shared \ + && make -j4 \ + && make install -j4 \ + && rm -f /usr/local/bin/python \ + && rm -f /usr/local/bin/pip \ + && rm -f /usr/local/lib/libpython3.7m.so.1.0 \ + && ln -s ${PYTHON_ROOT_PATH}/bin/python3.7 /usr/local/bin/python \ + && ln -s ${PYTHON_ROOT_PATH}/bin/pip3.7 /usr/local/bin/pip \ + && ln -s ${PYTHON_ROOT_PATH}/lib/libpython3.7m.so.1.0 /usr/local/lib/libpython3.7m.so.1.0 \ + && ldconfig \ + && rm -rf /tmp/cpython-3.7.5 \ + && rm -f /tmp/v3.7.5.tar.gz + +# Set pip source +RUN mkdir -pv /root/.pip \ + && echo "[global]" > /root/.pip/pip.conf \ + && echo "trusted-host=mirrors.aliyun.com" >> /root/.pip/pip.conf \ + && echo "index-url=http://mirrors.aliyun.com/pypi/simple/" >> /root/.pip/pip.conf + +# Install openmpi (v4.0.3) +RUN cd /tmp \ + && wget https://download.open-mpi.org/release/open-mpi/v4.0/openmpi-4.0.3.tar.gz \ + && tar -xvf openmpi-4.0.3.tar.gz \ + && cd /tmp/openmpi-4.0.3 \ + && mkdir -p ${OMPI_ROOT_PATH} \ + && ./configure --prefix=${OMPI_ROOT_PATH} \ + && make -j4 \ + && make install -j4 \ + && rm -rf /tmp/openmpi-4.0.3 \ + && rm -f /tmp/openmpi-4.0.3.tar.gz + +# Install MindSpore cuda-10.1, MindInsight, Serving whl package +RUN pip install --no-cache-dir https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.6.0/MindSpore/gpu/x86_64/cuda-10.1/mindspore_gpu-1.6.0-cp37-cp37m-linux_x86_64.whl \ + && pip install --no-cache-dir https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.6.0/MindInsight/any/mindinsight-1.6.0-py3-none-any.whl \ + && pip install --no-cache-dir https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.6.0/Serving/x86_64/mindspore_serving-1.6.0-cp37-cp37m-linux_x86_64.whl diff --git a/scripts/docker/mindspore-gpu/1.6.0/cuda11.1/Dockerfile b/scripts/docker/mindspore-gpu/1.6.0/cuda11.1/Dockerfile new file mode 100644 index 0000000000..e1f5362ea3 --- /dev/null +++ b/scripts/docker/mindspore-gpu/1.6.0/cuda11.1/Dockerfile @@ -0,0 +1,91 @@ +FROM nvidia/cuda:11.1-cudnn8-devel-ubuntu18.04 + +MAINTAINER MindSpore Authors + +# Set env +ENV PYTHON_ROOT_PATH /usr/local/python-3.7.5 +ENV OMPI_ROOT_PATH /usr/local/openmpi-4.0.3 +ENV PATH ${PYTHON_ROOT_PATH}/bin:${OMPI_ROOT_PATH}/bin:/usr/local/bin:$PATH +ENV LD_LIBRARY_PATH ${OMPI_ROOT_PATH}/lib:$LD_LIBRARY_PATH + +# Install base tools +RUN apt update \ + && DEBIAN_FRONTEND=noninteractive apt install -y \ + vim \ + wget \ + curl \ + xz-utils \ + net-tools \ + openssh-client \ + git \ + ntpdate \ + tzdata \ + tcl \ + sudo \ + bash-completion + +# Install compile tools +RUN DEBIAN_FRONTEND=noninteractive apt install -y \ + gcc \ + g++ \ + zlibc \ + make \ + libgmp-dev \ + patch \ + autoconf \ + libtool \ + automake \ + flex \ + libjpeg8-dev + +# Install the rest dependent tools +RUN DEBIAN_FRONTEND=noninteractive apt install -y \ + libnuma-dev + +# Set bash +RUN echo "dash dash/sh boolean false" | debconf-set-selections +RUN DEBIAN_FRONTEND=noninteractive dpkg-reconfigure dash + +# Install python (v3.7.5) +RUN apt install -y libffi-dev libssl-dev zlib1g-dev libbz2-dev libncurses5-dev \ + libgdbm-dev libgdbm-compat-dev liblzma-dev libreadline-dev libsqlite3-dev \ + && cd /tmp \ + && wget https://github.com/python/cpython/archive/v3.7.5.tar.gz \ + && tar -xvf v3.7.5.tar.gz \ + && cd /tmp/cpython-3.7.5 \ + && mkdir -p ${PYTHON_ROOT_PATH} \ + && ./configure --prefix=${PYTHON_ROOT_PATH} --enable-shared \ + && make -j4 \ + && make install -j4 \ + && rm -f /usr/local/bin/python \ + && rm -f /usr/local/bin/pip \ + && rm -f /usr/local/lib/libpython3.7m.so.1.0 \ + && ln -s ${PYTHON_ROOT_PATH}/bin/python3.7 /usr/local/bin/python \ + && ln -s ${PYTHON_ROOT_PATH}/bin/pip3.7 /usr/local/bin/pip \ + && ln -s ${PYTHON_ROOT_PATH}/lib/libpython3.7m.so.1.0 /usr/local/lib/libpython3.7m.so.1.0 \ + && ldconfig \ + && rm -rf /tmp/cpython-3.7.5 \ + && rm -f /tmp/v3.7.5.tar.gz + +# Set pip source +RUN mkdir -pv /root/.pip \ + && echo "[global]" > /root/.pip/pip.conf \ + && echo "trusted-host=mirrors.aliyun.com" >> /root/.pip/pip.conf \ + && echo "index-url=http://mirrors.aliyun.com/pypi/simple/" >> /root/.pip/pip.conf + +# Install openmpi (v4.0.3) +RUN cd /tmp \ + && wget https://download.open-mpi.org/release/open-mpi/v4.0/openmpi-4.0.3.tar.gz \ + && tar -xvf openmpi-4.0.3.tar.gz \ + && cd /tmp/openmpi-4.0.3 \ + && mkdir -p ${OMPI_ROOT_PATH} \ + && ./configure --prefix=${OMPI_ROOT_PATH} \ + && make -j4 \ + && make install -j4 \ + && rm -rf /tmp/openmpi-4.0.3 \ + && rm -f /tmp/openmpi-4.0.3.tar.gz + +# Install MindSpore cuda-11.1, MindInsight, Serving whl package +RUN pip install --no-cache-dir https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.6.0/MindSpore/gpu/x86_64/cuda-11.1/mindspore_gpu-1.6.0-cp37-cp37m-linux_x86_64.whl \ + && pip install --no-cache-dir https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.6.0/MindInsight/any/mindinsight-1.6.0-py3-none-any.whl \ + && pip install --no-cache-dir https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.6.0/Serving/x86_64/mindspore_serving-1.6.0-cp37-cp37m-linux_x86_64.whl diff --git a/scripts/docker/mindspore-gpu/devel/Dockerfile b/scripts/docker/mindspore-gpu/devel/Dockerfile new file mode 100644 index 0000000000..2b80e70489 --- /dev/null +++ b/scripts/docker/mindspore-gpu/devel/Dockerfile @@ -0,0 +1,111 @@ +FROM nvidia/cuda:11.1-cudnn8-devel-ubuntu18.04 + +MAINTAINER MindSpore Authors + +# Set env +ENV PYTHON_ROOT_PATH /usr/local/python-3.7.5 +ENV CMAKE_ROOT_PATH /usr/local/cmake-3.14.1 +ENV OMPI_ROOT_PATH /usr/local/openmpi-4.0.3 +ENV PATH ${OMPI_ROOT_PATH}/bin:${PYTHON_ROOT_PATH}/bin:${CMAKE_ROOT_PATH}/bin:/usr/local/bin:$PATH +ENV LD_LIBRARY_PATH ${OMPI_ROOT_PATH}/lib::${PYTHON_ROOT_PATH}/lib + +# Install base tools +RUN apt update \ + && DEBIAN_FRONTEND=noninteractive apt install -y \ + vim \ + wget \ + curl \ + xz-utils \ + net-tools \ + openssh-client \ + git \ + ntpdate \ + tzdata \ + tcl \ + sudo \ + bash-completion + +# Install compile tools +RUN DEBIAN_FRONTEND=noninteractive apt install -y \ + gcc \ + g++ \ + zlibc \ + make \ + libgmp-dev \ + patch \ + autoconf \ + libtool \ + automake \ + flex \ + libjpeg8-dev + +# Install the rest dependent tools +RUN DEBIAN_FRONTEND=noninteractive apt install -y \ + libnuma-dev + +# Configure cuDNN (v7.6.5) +RUN ln -s /usr/lib/x86_64-linux-gnu/libcudnn.so.8.0.5 /usr/local/cuda/lib64/libcudnn.so + +# Set bash +RUN echo "dash dash/sh boolean false" | debconf-set-selections +RUN DEBIAN_FRONTEND=noninteractive dpkg-reconfigure dash + +# Install python (v3.7.5) +RUN apt install -y libffi-dev libssl-dev zlib1g-dev libbz2-dev libncurses5-dev \ + libgdbm-dev libgdbm-compat-dev liblzma-dev libreadline-dev libsqlite3-dev \ + && cd /tmp \ + && wget https://github.com/python/cpython/archive/v3.7.5.tar.gz \ + && tar -xvf v3.7.5.tar.gz \ + && cd /tmp/cpython-3.7.5 \ + && mkdir -p ${PYTHON_ROOT_PATH} \ + && ./configure --prefix=${PYTHON_ROOT_PATH} --enable-shared \ + && make -j4 \ + && make install -j4 \ + && rm -f /usr/local/bin/python \ + && rm -f /usr/local/bin/pip \ + && rm -f /usr/local/lib/libpython3.7m.so.1.0 \ + && ln -s ${PYTHON_ROOT_PATH}/bin/python3.7 /usr/local/bin/python \ + && ln -s ${PYTHON_ROOT_PATH}/bin/pip3.7 /usr/local/bin/pip \ + && ln -s ${PYTHON_ROOT_PATH}/lib/libpython3.7m.so.1.0 /usr/local/lib/libpython3.7m.so.1.0 \ + && ldconfig \ + && rm -rf /tmp/cpython-3.7.5 \ + && rm -f /tmp/v3.7.5.tar.gz + +# Set pip source +RUN mkdir -pv /root/.pip \ + && echo "[global]" > /root/.pip/pip.conf \ + && echo "trusted-host=mirrors.aliyun.com" >> /root/.pip/pip.conf \ + && echo "index-url=http://mirrors.aliyun.com/pypi/simple/" >> /root/.pip/pip.conf \ + && pip install --no-cache-dir wheel + +# Install cmake (v3.14.1) +RUN cd /tmp \ + && wget https://github.com/Kitware/CMake/releases/download/v3.14.1/cmake-3.14.1-Linux-x86_64.sh \ + && mkdir -p ${CMAKE_ROOT_PATH} \ + && bash ./cmake-3.14.1-Linux-x86_64.sh --prefix=${CMAKE_ROOT_PATH} --exclude-subdir --skip-license \ + && rm -f /tmp/cmake-3.14.1-Linux-x86_64.sh + +# Install openmpi (v4.0.3) +RUN cd /tmp \ + && wget https://download.open-mpi.org/release/open-mpi/v4.0/openmpi-4.0.3.tar.gz \ + && tar -xvf openmpi-4.0.3.tar.gz \ + && cd /tmp/openmpi-4.0.3 \ + && mkdir -p ${OMPI_ROOT_PATH} \ + && ./configure --prefix=${OMPI_ROOT_PATH} \ + && make -j4 \ + && make install -j4 \ + && rm -rf /tmp/openmpi-4.0.3 \ + && rm -f /tmp/openmpi-4.0.3.tar.gz + +# Install nodejs +RUN cd /tmp \ + && wget https://mirrors.huaweicloud.com/nodejs/v12.18.4/node-v12.18.4-linux-x64.tar.gz \ + && tar -zxf node-v12.18.4-linux-x64.tar.gz \ + && rm -rf /usr/local/nodejs \ + && mkdir -p /usr/local/nodejs \ + && mv /tmp/node-v12.18.4-linux-x64 /usr/local/nodejs/ \ + && chmod 755 -R /usr/local/nodejs \ + && ln -sf /usr/local/nodejs/node-v12.18.4-linux-x64/bin/node /usr/bin/node \ + && ln -sf /usr/local/nodejs/node-v12.18.4-linux-x64/bin/npm /usr/bin/npm \ + && npm config set registry https://registry.npm.taobao.org/ \ + && rm -f /tmp/node-v12.18.4-linux-x64.tar.gz \ No newline at end of file diff --git a/scripts/docker/mindspore-gpu/runtime/Dockerfile b/scripts/docker/mindspore-gpu/runtime/Dockerfile new file mode 100644 index 0000000000..e4dc4e67dd --- /dev/null +++ b/scripts/docker/mindspore-gpu/runtime/Dockerfile @@ -0,0 +1,86 @@ +FROM nvidia/cuda:11.1-cudnn8-devel-ubuntu18.04 + +MAINTAINER MindSpore Authors + +# Set env +ENV PYTHON_ROOT_PATH /usr/local/python-3.7.5 +ENV OMPI_ROOT_PATH /usr/local/openmpi-4.0.3 +ENV PATH ${OMPI_ROOT_PATH}/bin:/usr/local/bin:$PATH +ENV LD_LIBRARY_PATH ${OMPI_ROOT_PATH}/lib:$LD_LIBRARY_PATH + +# Install base tools +RUN apt update \ + && DEBIAN_FRONTEND=noninteractive apt install -y \ + vim \ + wget \ + curl \ + xz-utils \ + net-tools \ + openssh-client \ + git \ + ntpdate \ + tzdata \ + tcl \ + sudo \ + bash-completion + +# Install compile tools +RUN DEBIAN_FRONTEND=noninteractive apt install -y \ + gcc \ + g++ \ + zlibc \ + make \ + libgmp-dev \ + patch \ + autoconf \ + libtool \ + automake \ + flex \ + libjpeg8-dev + +# Install the rest dependent tools +RUN DEBIAN_FRONTEND=noninteractive apt install -y \ + libnuma-dev + +# Set bash +RUN echo "dash dash/sh boolean false" | debconf-set-selections +RUN DEBIAN_FRONTEND=noninteractive dpkg-reconfigure dash + +# Install python (v3.7.5) +RUN apt install -y libffi-dev libssl-dev zlib1g-dev libbz2-dev libncurses5-dev \ + libgdbm-dev libgdbm-compat-dev liblzma-dev libreadline-dev libsqlite3-dev \ + && cd /tmp \ + && wget https://github.com/python/cpython/archive/v3.7.5.tar.gz \ + && tar -xvf v3.7.5.tar.gz \ + && cd /tmp/cpython-3.7.5 \ + && mkdir -p ${PYTHON_ROOT_PATH} \ + && ./configure --prefix=${PYTHON_ROOT_PATH} --enable-shared \ + && make -j4 \ + && make install -j4 \ + && rm -f /usr/local/bin/python \ + && rm -f /usr/local/bin/pip \ + && rm -f /usr/local/lib/libpython3.7m.so.1.0 \ + && ln -s ${PYTHON_ROOT_PATH}/bin/python3.7 /usr/local/bin/python \ + && ln -s ${PYTHON_ROOT_PATH}/bin/pip3.7 /usr/local/bin/pip \ + && ln -s ${PYTHON_ROOT_PATH}/lib/libpython3.7m.so.1.0 /usr/local/lib/libpython3.7m.so.1.0 \ + && ldconfig \ + && rm -rf /tmp/cpython-3.7.5 \ + && rm -f /tmp/v3.7.5.tar.gz + +# Set pip source +RUN mkdir -pv /root/.pip \ + && echo "[global]" > /root/.pip/pip.conf \ + && echo "trusted-host=mirrors.aliyun.com" >> /root/.pip/pip.conf \ + && echo "index-url=http://mirrors.aliyun.com/pypi/simple/" >> /root/.pip/pip.conf + +# Install openmpi (v4.0.3) +RUN cd /tmp \ + && wget https://download.open-mpi.org/release/open-mpi/v4.0/openmpi-4.0.3.tar.gz \ + && tar -xvf openmpi-4.0.3.tar.gz \ + && cd /tmp/openmpi-4.0.3 \ + && mkdir -p ${OMPI_ROOT_PATH} \ + && ./configure --prefix=${OMPI_ROOT_PATH} \ + && make -j4 \ + && make install -j4 \ + && rm -rf /tmp/openmpi-4.0.3 \ + && rm -f /tmp/openmpi-4.0.3.tar.gz diff --git a/scripts/dot2svg.sh b/scripts/dot2svg.sh new file mode 100755 index 0000000000..efa37e766d --- /dev/null +++ b/scripts/dot2svg.sh @@ -0,0 +1,30 @@ +#!/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 +# set -x +# Usage: ./scripts/dot2svg.sh [search_path] +if [[ -z "$1" ]] + then + DIR="." + else + DIR="$1" +fi + +for f in "${DIR}"/*.dot +do +dot -Tsvg -o "${DIR}/$(basename "${f}").svg" "${DIR}/$(basename "${f}")" +done diff --git a/scripts/format_source_code.sh b/scripts/format_source_code.sh new file mode 100755 index 0000000000..bb9227470f --- /dev/null +++ b/scripts/format_source_code.sh @@ -0,0 +1,105 @@ +#!/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 + +CLANG_FORMAT=$(which clang-format) || (echo "Please install 'clang-format' tool first"; exit 1) + +version=$("${CLANG_FORMAT}" --version | sed -n "s/.*\ \([0-9]*\)\.[0-9]*\.[0-9]*.*/\1/p") +if [[ "${version}" -lt "8" ]]; then + echo "clang-format's version must be at least 8.0.0" + exit 1 +fi + +CURRENT_PATH=$(pwd) +SCRIPTS_PATH=$(dirname "$0") + +echo "CURRENT_PATH=${CURRENT_PATH}" +echo "SCRIPTS_PATH=${SCRIPTS_PATH}" + +# print usage message +function usage() +{ + echo "Format the specified source files to conform the code style." + echo "Usage:" + echo "bash $0 [-a] [-c] [-l] [-h]" + echo "e.g. $0 -c" + echo "" + echo "Options:" + echo " -a format of all files" + echo " -c format of the files changed compared to last commit, default case" + echo " -l format of the files changed in last commit" + echo " -h Print usage" +} + +# check and set options +function checkopts() +{ + # init variable + mode="changed" # default format changed files + + # Process the options + while getopts 'aclh' opt + do + case "${opt}" in + a) + mode="all" + ;; + c) + mode="changed" + ;; + l) + mode="lastcommit" + ;; + h) + usage + exit 0 + ;; + *) + echo "Unknown option ${opt}!" + usage + exit 1 + esac + done +} + +# init variable +# check options +checkopts "$@" + +# switch to project root path, which contains clang-format config file '.clang-format' +cd "${SCRIPTS_PATH}/.." || exit 1 + +FMT_FILE_LIST='__format_files_list__' + +if [[ "X${mode}" == "Xall" ]]; then + find mindspore/{ccsrc,core,lite} -type f -name "*" | grep -E "(\.h$|\.cc$|\.c$)" > "${FMT_FILE_LIST}" || true +elif [[ "X${mode}" == "Xchanged" ]]; then + git diff --name-only | grep "mindspore/ccsrc\|mindspore/core\|mindspore/lite\|include" | grep -E "(\.h$|\.cc$|\.c$)" > "${FMT_FILE_LIST}" || true +else # "X${mode}" == "Xlastcommit" + git diff --name-only HEAD~ HEAD | grep "mindspore/ccsrc\|mindspore/core\|mindspore/lite\|include" | grep -E "(\.h$|\.cc$|\.c$)" > "${FMT_FILE_LIST}" || true +fi + +while read line; do + if [ -f "${line}" ]; then + "${CLANG_FORMAT}" -i "${line}" + fi +done < "${FMT_FILE_LIST}" + +rm "${FMT_FILE_LIST}" +cd "${CURRENT_PATH}" || exit 1 + +echo "Specified cpp source files have been format successfully." diff --git a/scripts/get_bert_shape_from_pytest.sh b/scripts/get_bert_shape_from_pytest.sh new file mode 100755 index 0000000000..944170d92d --- /dev/null +++ b/scripts/get_bert_shape_from_pytest.sh @@ -0,0 +1,43 @@ +#!/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 + +CURRPATH=$(cd "$(dirname $0)"; pwd) +PROJECT_PATH="${CURRPATH}/.." +SHP_BASENAME="test_bert_train" +BUILD_PATH="${PROJECT_PATH}/build" + +cd "${PROJECT_PATH}"; sh build.sh -t off -l none -r -T; cd - + +export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${BUILD_PATH}/third_party/gtest/lib" +export PYTHONPATH="${PYTHONPATH}:${PROJECT_PATH}:${PROJECT_PATH}/tests/ut/python_input" + +test_bert_train="${PROJECT_PATH}/tests/perf_test/test_bert_train.py" + +export SAVE_GRAPHS='YES' +export SAVE_GRAPHS_PATH="${PROJECT_PATH}" +for version in base large +do + for batch_size in 1 2 4 8 16 32 64 128 256 512 1024 + do + export VERSION="${version}" + export BATCH_SIZE="${batch_size}" + target_file="${PROJECT_PATH}/${SHP_BASENAME}.${VERSION}.${BATCH_SIZE}.shp" + pytest "${test_bert_train}" + cp "${SAVE_GRAPHS_PATH}/9_validate.dat" "${target_file}" + done +done diff --git a/scripts/get_op_use_count.sh b/scripts/get_op_use_count.sh new file mode 100755 index 0000000000..91789a0329 --- /dev/null +++ b/scripts/get_op_use_count.sh @@ -0,0 +1,17 @@ +#!/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. +# ============================================================================ + +./scripts/get_shape_from_ir.sh "$1" |awk -F'\t' '{print $2}' | sort |uniq -c |sort -r diff --git a/scripts/get_shape_from_ir.sh b/scripts/get_shape_from_ir.sh new file mode 100755 index 0000000000..739ffca56e --- /dev/null +++ b/scripts/get_shape_from_ir.sh @@ -0,0 +1,33 @@ +#!/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 + +# Usage : get_shape_from_ir.sh ir_file + +cat "$1" | perl -p -e 's/\n/NEWLINE/' \ + | sed 's/NEWLINE :/:/g' \ + | sed 's/Tensor NEWLINEshape//g' \ + | perl -p -e 's/NEWLINE/\n/g' \ + | perl -p -e 's//\2/g' \ + | perl -p -e 's//Tuple/g' \ + | perl -p -e 's/ \%(\d+)\(.*= /\1\t/g' \ + | perl -p -e 's/\(.*\)( \{.*\})*:/\t\1\t/g' \ + | tr -d '()' \ + | awk '/subgraph/{p=1;next}{if(p){print}}'\ + | awk '/return/{p=1;next}{if(!p){print}}' \ + | sed '/^$/d' \ + | awk -F'\t' '{print $1"\t"$2"\t"$4}' diff --git a/scripts/install/euleros-ascend-conda.sh b/scripts/install/euleros-ascend-conda.sh new file mode 100644 index 0000000000..fed9f3f5e7 --- /dev/null +++ b/scripts/install/euleros-ascend-conda.sh @@ -0,0 +1,42 @@ +#!/bin/bash +set -ex + +MINDSPORE_VERSION=${MINDSPORE_VERSION:-1.5.0} +PYTHON_VERSION=${PYTHON_VERSION:-3.7.5} +MINDSPORE_VERSION=${MINDSPORE_VERSION:-1.5.0} + +cd /tmp +curl -O https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-py37_4.10.3-Linux-aarch64.sh +bash Miniconda3-py37_4.10.3-Linux-aarch64.sh -b + +# add conda to PATH +echo -e 'export PATH=~/miniconda3/bin/:$PATH' >> ~/.bash_profile +echo -e '. ~/miniconda3/etc/profile.d/conda.sh' >> ~/.bash_profile +source ~/.bash_profile +conda init bash +# setting up conda mirror +cat >~/.condarc < ${repo_path} << END +[base] +name=EulerOS-2.0SP8 base +baseurl=http://repo.huaweicloud.com/euler/2.8/os/${ARCH} +enabled=1 +gpgcheck=1 +gpgkey=http://repo.huaweicloud.com/euler/2.8/os/RPM-GPG-KEY-EulerOS +END +cat ${repo_path} + +yum clean all +yum makecache + +yum install gmp-devel +yum install + +# install python 3.7 +cd /tmp +wget https://github.com/python/cpython/archive/v3.7.5.tar.gz +tar -xvf v3.7.5.tar.gz +cd /tmp/cpython-3.7.5 +mkdir -p ${PYTHON_ROOT_PATH} +./configure --prefix=${PYTHON_ROOT_PATH} --enable-shared +make -j4 +make install -j4 +rm -f /usr/local/bin/python +rm -f /usr/local/bin/pip +rm -f /usr/local/lib/libpython3.7m.so.1.0 +ln -s ${PYTHON_ROOT_PATH}/bin/python3.7 /usr/local/bin/python +ln -s ${PYTHON_ROOT_PATH}/bin/pip3.7 /usr/local/bin/pip +ln -s ${PYTHON_ROOT_PATH}/lib/libpython3.7m.so.1.0 /usr/local/lib/libpython3.7m.so.1.0 +ldconfig +rm -rf /tmp/cpython-3.7.5 +rm -f /tmp/v3.7.5.tar.gz + +pip install https://ms-release.obs.cn-north-4.myhuaweicloud.com/${MINDSPORE_VERSION}/MindSpore/ascend/${ARCH}/mindspore-${VERSION}-linux_${ARCH}.whl --trusted-host ms-release.obs.cn-north-4.myhuaweicloud.com -i https://pypi.tuna.tsinghua.edu.cn/simple \ No newline at end of file diff --git a/scripts/install/purge-cuda.sh b/scripts/install/purge-cuda.sh new file mode 100644 index 0000000000..caaabed5c3 --- /dev/null +++ b/scripts/install/purge-cuda.sh @@ -0,0 +1,8 @@ +#!/bin/bash +sudo apt-get --purge remove nvidia-* +sudo apt-get --purge remove cuda-* +sudo apt-get --purge remove cudnn-* +sudo apt-get --purge remove libnvidia-* +sudo apt-get --purge remove libcuda-* +sudo apt-get --purge remove libcudnn-* +sudo apt-get autoremove \ No newline at end of file diff --git a/scripts/install/ubuntu-conda.sh b/scripts/install/ubuntu-conda.sh new file mode 100644 index 0000000000..10744381ac --- /dev/null +++ b/scripts/install/ubuntu-conda.sh @@ -0,0 +1,67 @@ +#!/bin/bash +set -ex + +MINDSPORE_VERSION=${MINDSPORE_VERSION:-1.5.0} +PYTHON_VERSION=${PYTHON_VERSION:-3.7.5} + +#use huaweicloud mirror in China +sudo sed -i "s@http://.*archive.ubuntu.com@http://repo.huaweicloud.com@g" /etc/apt/sources.list +sudo sed -i "s@http://.*security.ubuntu.com@http://repo.huaweicloud.com@g" /etc/apt/sources.list +sudo apt-get update + +# install python 3.7 and make it default +sudo apt-get install gcc-7 libgmp-dev curl python3.7 -y +sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.7 100 + +cd /tmp +curl -O https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-py37_4.10.3-Linux-x86_64.sh +bash Miniconda3-py37_4.10.3-Linux-x86_64.sh -b + +# add conda to PATH + echo -e 'export PATH=~/miniconda3/bin/:$PATH' >> ~/.bash_profile + echo -e '. ~/miniconda3/etc/profile.d/conda.sh' >> ~/.bash_profile + source ~/.bash_profile +conda init bash +# setting up conda mirror with qinghua source +cat >~/.condarc < example.py <> ~/.bash_profile +echo -e '. ~/miniconda3/etc/profile.d/conda.sh' >> ~/.bash_profile +source ~/.bash_profile +conda init bash +# setting up conda mirror +cat >~/.condarc <> ~/.bash_profile + +# install mindspore-gpu with conda +conda install mindspore-gpu=${MINDSPORE_VERSION} cudatoolkit=${CUDATOOLKIT_VERSION} -c mindspore -c conda-forge -y + +# check if it is the right mindspore version +python -c "import mindspore;mindspore.run_check()" + +# check if it can be run with GPU + +cat > example.py < ~/.pip/pip.conf <> ~/.bash_profile <> ~/.bash_profile +# echo 'export PATH=$PATH:/usr/local/openmpi/bin' >> ~/.bash_profile +# source ~/.bash_profile +# reference this to install tensorrt https://docs.nvidia.com/deeplearning/tensorrt/install-guide/index.html#downloading + +echo "install mindspore gpu ${MINDSPORE_VERSION}" +pip install https://ms-release.obs.cn-north-4.myhuaweicloud.com/${MINDSPORE_VERSION}/MindSpore/gpu/${ARCH}/${CUDA_INSTALL_PATH}/mindspore_gpu-${version_map["$PYTHON_VERSION"]}-linux_${ARCH}.whl --trusted-host ms-release.obs.cn-north-4.myhuaweicloud.com -i https://pypi.tuna.tsinghua.edu.cn/simple + + +# check if it is the right mindspore version +python -c "import mindspore;mindspore.run_check()" + +# check if it can be run with GPU + +cat > example.py < example.py < ${pkg_name}.tar.gz.sha256 +} + +function ios_release_package() +{ + mkdir -p ${output_path}/release/ios/ + cp ${input_path}/ios_aarch64/*.tar.gz* ${output_path}/release/ios/ + cp ${input_path}/ios_aarch32/*.tar.gz* ${output_path}/release/ios/ +} + +function linux_release_package() +{ + mkdir -p ${output_path}/release/linux/nnie/ + mkdir -p ${output_path}/release/linux/x86_64/ + mkdir -p ${output_path}/release/linux/aarch64/ + mkdir -p ${output_path}/release/linux/ascend/ + + cp ${input_path}/centos_x86/avx/*.tar.gz* ${output_path}/release/linux/x86_64/ + cp ${input_path}/linux_aarch64/*.tar.gz* ${output_path}/release/linux/aarch64/ + cp ${input_path}/centos_x86/ascend/*.tar.gz* ${output_path}/release/linux/ascend/ + + cp -r ${input_path}/linux_aarch32/nnie/Hi* ${output_path}/release/linux/nnie/ + cp -r ${input_path}/linux_aarch64/nnie/Hi* ${output_path}/release/linux/nnie/ + cp ${input_path}/centos_x86/nnie/Hi3516D/*.tar.gz* ${output_path}/release/linux/nnie/ +} + +function windows_release_package() +{ + mkdir -p ${output_path}/release/windows/ + cp ${input_path}/windows_x64/avx/*.zip* ${output_path}/release/windows/ + cp ${input_path}/windows_x32/sse/*.zip* ${output_path}/release/windows/ +} + +function openharmony_release_package() +{ + mkdir -p ${output_path}/release/openharmony/ + cp ${input_path}/ohos_aarch32/*.tar.gz* ${output_path}/release/openharmony/ +} + +echo "============================== begin ==============================" +echo "Usage: bash lite_release_package.sh input_path output_path" + +input_path=$1 +output_path=$2 +version=`ls ${input_path}/android_aarch64/npu/mindspore-lite-*-*.tar.gz | awk -F'/' '{print $NF}' | cut -d"-" -f3` + +android_release_package aarch32 npu +android_release_package aarch32 cpu +android_release_package aarch64 npu +android_release_package aarch64 gpu + +ios_release_package +linux_release_package +windows_release_package +openharmony_release_package + +echo "Create release package success!" +echo "=============================== end ===============================" diff --git a/scripts/map_dump_file_to_code/README_CN.md b/scripts/map_dump_file_to_code/README_CN.md new file mode 100644 index 0000000000..3881c54d42 --- /dev/null +++ b/scripts/map_dump_file_to_code/README_CN.md @@ -0,0 +1,99 @@ +# 映射数据文件到对应的脚本源码 + +## 文档功能与适用场景 + + 在MindSpore进行计算调试,怀疑遇到精度问题时可以选择dump文件进行对比。此时用户希望知道dump文件夹下的每个数据文件对应的Python源码。 + 本文的主要目的为指导用户使用该工具进行数据文件到python源码的映射。 + 此指导文档适合运行在 **Ascend硬件** 环境下的计算。 + +## 辅助工具使用 + + 1. 使用脚本的3步操作: + - 用户在训练脚本里设置context.set_context(mode=context.GRAPH_MODE, save_graphs=True),进行图文件的保存。 + - 用户开启dump数据功能,参考 + - 获取dump数据文件的op_num,然后通过辅助脚本进行解析。如数据文件:`Default--network-TrainOneStepCell--network-WithLossCell--_backbone- + ResNet--layer2-SequentialCell--0-ResidualBlock--conv2-Conv2d--Cast-op954_input_0_shape_128_128_3_3_kNumberTypeFloat32_DefaultFormat.bin`. + 可观察到Cast-op954,说明该算子的op_num为op954, 如下图所示。 + ![image](./images/op_image.png) + 脚本名: **[map_file_to_code.py](https://gitee.com/mindspore/mindspore/blob/master/scripts/map_dump_file_to_code/map_file_to_code.py)**;   执行方式: + + ```ruby + python3 map_file_to_code.py + --graph_path(-p) [the graph path, default is the current path](option) + --dump_op(-o) [Dump operator id, case insensitive, such as 'op954'.](required) + For example: + python3 map_file_to_code.py -p graph_path -o op954 + ``` + + 2. 解析效果 + 解析文件时通常有2种情况: + ① 匹配时会显示出调用栈过程,需要用户在调用栈中查找自己的源码: + + ```ruby + [INFO] Start to map the dump file to source code. + [INFO] Find operation 'Cast'. + In file /data1/jzg/mindspore/mindspore/nn/layer/conv.py(253)/ + output = self.conv2d(x, self.weight) + In file /data1/jzg/dump_to_code/resnet/scripts/train/src/resnet.py(166)/ + out = self.conv2(out) + In file /data1/jzg/mindspore/mindspore/nn/layer/container.py(173)/ + for cell in self.cell_list: + In file /data1/jzg/dump_to_code/resnet/scripts/train/src/resnet.py(323)/ # 用户代码行 + c3 = self.layer2(c2) + In file /data1/jzg/mindspore/mindspore/train/amp.py(101)/ + out = self._backbone(data) + In file /data1/jzg/mindspore/mindspore/nn/wrap/cell_wrapper.py(247)/ + loss = self.network(*inputs) + In file /data1/jzg/mindspore/mindspore/train/dataset_helper.py(87)/ + return self.network(*outputs) + ``` + + ② 未匹配,在图中未找对应节点的调用栈: + + ```ruby + [INFO] Start to map the dump file to source code. + [WARNING] Cannot find cast's source code in ir file. # 未找到cast算子的信息 + ``` + + 3. 手动代码查找 + 这里还会存在些特殊情况,需要用户进行自行查找。通过将dump的数据文件名中的'--'替换为'/'可获取到算子的full_name, 如下图所示: + ![image](./images/replace_symbol.png) + input和output文件名shape后面的数据为对应算子的输入输出shape信息。然后利用算子的full_name和输入输出信息回到源码中进行对应代码的查找。 + 举个例子说明如何手动在代码中查找指定full_name和shape的算子,例如full_name为: `Default/network/network/aspp/aspp_pooling/ResizeNearestNeighbor`,输入的shape为[8, 256, 1, 1], dtype为float32。 + 可以观察到其scope为: `Default/network/network/aspp/aspp_pooling`,算子名为: `ResizeNearestNeighbor`。注意:scope中会存在Default、network自动填充,Default表示正向,network为网络名。 + 查看以下用户定义的代码,首先我们先分析scope: `Default/network/network/aspp/aspp_pooling`。由network/aspp可定位到算子的定义与调用处分别为26行与31行,继续由`network/aspp/aspp_pooling`,可以定位到定义与调用处分别为4行与8行,然后通过算子名`ResizeNearestNeighbor`可以定位至定义与调用处分别为16行与19行。最后若存在相同scope下存在相同的算子名时,需要通过输入的shape进行进一步判断。 + + ```ruby + 1 class ASPP(nn.Cell): + 2 def __init__(self): + 3 super(ASPP, self).__init__() + 4 self.aspp_pooling = ASPPPooling() + 5 self.drop = nn.Dropout(0.3) + 6 + 7 def construct(self, x): + 8 x = self.aspp_pooling(x) + 9 x = self.drop(x) + 10 return x + 11 + 12 class ASPPPooling(nn.Cell): + 13 def __init__(self): + 14 super(ASPPPooling, self).__init__() + 15 self.shape = P.Shape() + 16 self.resizenearestneighbor = P.ResizeNearestNeighbor((size[2], size[3]), True) + 17 def construct(self, x): + 18 size = self.shape(x) + 19 out = self.resizenearestneighbor(x) + 20 return out + 21 + 22 # 主结构 + 23 class DeepLabV3(nn.Cell): + 24 def __init__(self, phase='train', num_classes=21, output_stride=16, freeze_bn=False): + 25 super(DeepLabV3, self).__init__() + 26 self.aspp = ASPP() + 27 self.shape = P.Shape() + 28 + 29 def construct(self, x): + 30 size = self.shape(x) + 31 out = self.aspp(x) + 32 return out + ``` diff --git a/scripts/map_dump_file_to_code/images/op_image.png b/scripts/map_dump_file_to_code/images/op_image.png new file mode 100644 index 0000000000000000000000000000000000000000..98744c65908e358fd58fef164842e1f3e5002050 GIT binary patch literal 13823 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 literal 0 HcmV?d00001 diff --git a/scripts/map_dump_file_to_code/map_file_to_code.py b/scripts/map_dump_file_to_code/map_file_to_code.py new file mode 100644 index 0000000000..a81d682e54 --- /dev/null +++ b/scripts/map_dump_file_to_code/map_file_to_code.py @@ -0,0 +1,156 @@ +# 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. +# ============================================================================ +"""map_file_to_code""" + +import os +import argparse + + +class ParseIrInfo: + """ + Parse and return the operation info from ir file. + """ + + def __init__(self, ir_file): + self.no_in_file_operation = [] + self.ir_file_path = self.ir_path_parse(ir_file) + self.operation_info_dict = self.ir_info_parse() + + def __len__(self): + return len(self.operation_info_dict) + + def ir_path_parse(self, ir_file): + """ + parse the map file path. + """ + if ir_file == "": + print("[WARNING] No graph_path parameter, use current path as graph path.") + ir_file = os.path.abspath(os.path.dirname(__file__)) + + map_ir_file = "" + file_size = 0 + map_ir_filename = "trace_code_graph" + for filename in os.listdir(os.path.join(ir_file)): + if map_ir_filename not in filename: + continue + tmp_file = os.path.join(ir_file, filename) + tmp_file_size = os.path.getsize(tmp_file) + if tmp_file_size >= file_size: + file_size = tmp_file_size + map_ir_file = tmp_file + if map_ir_file == "": + exit("[ERROR] Please set \"save_graphs=True\" in context to save {} file!".format(map_ir_filename)) + return map_ir_file + + def ir_info_parse(self): + """ + parse the ir file and save code line corresponding to the operator + """ + + all_op_info_dict = {} # recode all operation info + single_op_info_dict = {} # recode single operation info + op_start_char_flag = False # Start operator fragment + op_end_char_flag = False # End of operator fragment + op_start_info_num = 0 # Accumulate the num to recode operation + operation_line = 0 # The line number of the operator + op_start_line_num = 0 # The line number of starting operator information + op_start_info_flag = False # Start operator information + + with open(self.ir_file_path, 'r+') as file: + txt_context_list = file.readlines() + + for line_num, txt_context in enumerate(txt_context_list): + txt_context = txt_context.strip() + # Start operator fragment + if txt_context.endswith(") {"): + op_start_char_flag = True + op_end_char_flag = False + + # End of operator fragment + if txt_context == "}": + op_end_char_flag = True + + # Determine whether it is operator information + if txt_context.startswith("%") and ") = " in txt_context and txt_context[1].isdigit(): + op_start_info_flag = True + op_start_line_num = line_num + op_start_info_num += 1 + single_op_info_dict = {"in_file": []} + + # Judge and start to recode operation info + if op_start_char_flag and not op_end_char_flag and op_start_info_flag and line_num != op_start_line_num: + if "-op" in txt_context and txt_context.split("-op")[-1].split(")")[0].isdigit(): + single_op_info_dict["origin_op_name"] = txt_context.split("-op")[0].split("/")[-1] + single_op_info_dict["op_name"] = txt_context.split("-op")[0].split("/")[-1].lower() + single_op_info_dict["op_num"] = "op" + txt_context.split("-op")[-1].split(")")[0] + operation_line = line_num + if "In file" in txt_context: + in_file_info = txt_context.split("#")[-1].strip().rstrip("/") + single_op_info_dict["in_file"].append(in_file_info) + if line_num - operation_line == 1 and "In file" not in txt_context and "op_num" in single_op_info_dict: + self.no_in_file_operation.append(single_op_info_dict["op_num"]) + op_start_info_flag = False + all_op_info_dict[op_start_info_num] = single_op_info_dict + + return all_op_info_dict + + +class MapOperationToLine: + """ + to show operation info + """ + def __init__(self, dump_op, ir_info_dict): + self.dump_op = dump_op + self.ir_info_dict = ir_info_dict + + def show_operator_info(self): + """ + find operator + """ + origin_dump_op_name = self.dump_op.split("-")[0] + dump_op_name = origin_dump_op_name.lower() + dump_op_num = self.dump_op.split("-")[-1] + for _, op_info in self.ir_info_dict.items(): + if op_info["op_num"] == dump_op_num and op_info["in_file"] is not None: + if dump_op_name in (dump_op_num, op_info["op_name"]): + if not op_info["in_file"]: + print("[WARNING] Cannot find {}'s source code in ir file.".format(op_info["origin_op_name"])) + return False + print("[INFO] Find operation '{}'.".format(op_info["origin_op_name"])) + for line in op_info["in_file"]: + print(" {}".format(line.split(" ")[0])) + print(" {}".format(line.split(" ")[-1])) + return True + print("[WARNING] Cannot find operation {}'s in ir file.".format(origin_dump_op_name)) + return False + + +def start_find(dump_op, map_code_file): + """ + start find error operation in code. + """ + + print("[INFO] Start to map the dump file to source code.") + ir_op_info_dict = ParseIrInfo(map_code_file).operation_info_dict + MapOperationToLine(dump_op, ir_op_info_dict).show_operator_info() + + +if __name__ == "__main__": + parser = argparse.ArgumentParser(description='Find the dump operator in the user code') + parser.add_argument('--graph_path', '-p', type=str, default="", help='Save graph files path (option)') + parser.add_argument('--dump_op', '-o', type=str, default="", required=True, + help="Dump operator id, case insensitive, such as 'op3352'.") + args_opt = parser.parse_args() + start_find(args_opt.dump_op, args_opt.graph_path) diff --git a/scripts/run_perf_test.sh b/scripts/run_perf_test.sh new file mode 100755 index 0000000000..db0b68e043 --- /dev/null +++ b/scripts/run_perf_test.sh @@ -0,0 +1,41 @@ +#!/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 + +CURRPATH=$(cd "$(dirname $0)"; pwd) +PROJECT_PATH="${CURRPATH}/.." +PYTHONTEST_DIR="${PROJECT_PATH}/tests/perf_test" +PERF_RESULT_DIR="${CURRPATH}/" +PERF_SUFFIX=".perf" +if [[ "${BUILD_PATH}" ]];then + echo "BUILD_PATH = ${BUILD_PATH}" +else + BUILD_PATH="${PROJECT_PATH}/build" + echo "BUILD_PATH = ${BUILD_PATH}" +fi + +cd "${PROJECT_PATH}"; sh build.sh -t off -l none -r -p on -j 20; cd - + +export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${BUILD_PATH}/third_party/gtest/lib" +export PYTHONPATH="${PYTHONPATH}:${PROJECT_PATH}:${PROJECT_PATH}/tests/ut/python_input" +echo "export PYTHONPATH=${PYTHONPATH}:${PROJECT_PATH}:${PROJECT_PATH}/tests/ut/python_input" + +for f in "${PYTHONTEST_DIR}"/test_*.py +do + target_file="${PERF_RESULT_DIR}$(basename ${f} .py)${PERF_SUFFIX}" + pytest -s "${f}" > "${target_file}" 2>&1 +done diff --git a/scripts/setdotlabelwidth b/scripts/setdotlabelwidth new file mode 100755 index 0000000000..6094615b05 --- /dev/null +++ b/scripts/setdotlabelwidth @@ -0,0 +1,102 @@ +#!/usr/bin/env python3 +# encoding: utf-8 +# 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. +# ============================================================================ +import sys +import math + +MIN_CHARS_PER_ROW = 20 # minimal number of chars on one line +COLS_TO_ROWS_RATIO = 4 # ratio of # columns to # rows (unit is char) +MAX_LABEL_LENGTH = 1000 # maximal number of chars of a label + + +# for specified number of chars, calculate a suitable number for how many chars per row +# Num Total Chars : n +# Num Chars Per Row : m +# Num Rows : k +# (k - 1) * m < n <= k * m +# suppose: m / k = u +# ==> sqrt(u * n) <= m < u / 2 + sqrt(u * n + u * u / 4) +# m = max(20, m) +# parameters: +# @total_chars number of total chars +# @ratio ratio of # columns to # rows (unit is char) +def calc_num_chars_per_row(total_chars, ratio): + chars_per_row = math.ceil(math.sqrt(total_chars * ratio)) + return max(MIN_CHARS_PER_ROW, chars_per_row) + + +def process_label_text(text): + label_len = min(len(text), MAX_LABEL_LENGTH) + chars_per_row = calc_num_chars_per_row(label_len, COLS_TO_ROWS_RATIO) + if label_len <= MIN_CHARS_PER_ROW: + return text + beg_idx = 0 + texts = [] + while beg_idx < label_len: + end_idx = beg_idx + chars_per_row + if end_idx >= label_len: + texts.append(text[beg_idx:label_len]) + else: + texts.append(text[beg_idx:end_idx]) + beg_idx = end_idx + return "\\n".join(texts) + + +# insert '\n' to labels which are too long +def process_file(f): + line_text = f.readline() + beg_idx = -1 # label begin index, index of 'label="' + end_idx = -1 # label end index, index of '"' + label_text = "" + label_prefix = "" + label_postfix = "" + while line_text: + line_text = line_text.rstrip() + + if beg_idx < 0: + beg_idx = line_text.find('label="') + if beg_idx >= 0: + end_idx = line_text.find('"', beg_idx + len('label="')) + if end_idx >= 0: # the full label text is on one line + label = line_text[beg_idx + len('label="'):end_idx] + print('%slabel="%s"%s' % (line_text[0:beg_idx], process_label_text(label), line_text[end_idx + 1:])) + beg_idx = -1 # reset to initial conditions + else: # the label text is distributed on multiple lines + label_prefix = line_text[0:beg_idx] + label_text = line_text[beg_idx + len('label="'):] + else: + print(line_text) + else: + end_idx = line_text.find('"') + if end_idx >= 0: + label_text = label_text + line_text[0:end_idx] + label_postfix = line_text[end_idx + 1:] + print('%slabel="%s"%s' % (label_prefix, process_label_text(label_text), label_postfix)) + beg_idx = -1 # reset to initial conditions + else: + label_text += line_text + + # print(f'{len(line_text)} - {line_text}') + line_text = f.readline() + + +if __name__ == "__main__": + if len(sys.argv) > 1 and sys.argv[1] == "--help": + print("Usage: %s < dotfile | dot -Tpng -o filename.png" % sys.argv[0]) + sys.exit() + + # read text from stdin + process_file(sys.stdin) diff --git a/scripts/update_onnx_weight.py b/scripts/update_onnx_weight.py new file mode 100755 index 0000000000..eaff46f61b --- /dev/null +++ b/scripts/update_onnx_weight.py @@ -0,0 +1,70 @@ +#!/usr/bin/env python3 +# coding=UTF-8 +# 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. +# ============================================================================ +""" +Function: + Use checkpoint file and onnx file as inputs, create a new onnx with Initializer's value from checkpoint file +Usage: + python update_onnx_weight.py onnx_file checkpoint_file [output_file] +""" +import sys +from onnx import onnx_pb +from mindspore.train.serialization import load_checkpoint + + +def update_onnx_initializer(onnx_file, ckpt_file, output_file): + "Update onnx initializer." + with open(onnx_file, 'rb') as f: + data = f.read() + model = onnx_pb.ModelProto() + model.ParseFromString(data) + initializer = model.graph.initializer + param_dict = load_checkpoint(ckpt_file) + + for i, _ in enumerate(initializer): + item = initializer[i] + if not item.name in param_dict: + print(f"Warning: Can not find '{item.name}' in checkpoint parameters dictionary") + continue + weight = param_dict[item.name].data.asnumpy() + bin_data = weight.tobytes() + if len(item.raw_data) != len(bin_data): + print(f"Warning: Size of weight from checkpoint is different from original size, ignore it") + continue + item.raw_data = bin_data + + pb_msg = model.SerializeToString() + with open(output_file, 'wb') as f: + f.write(pb_msg) + + print(f'Graph name: {model.graph.name}') + print(f'Initializer length: {len(initializer)}') + print(f'Checkpoint dict length: {len(param_dict)}') + print(f'The new weights have been written to file {output_file} successfully') + + +def main(): + if len(sys.argv) < 3: + print(f'Usage: {sys.argv[0]} onnx_file checkpoint_file [output_file]') + sys.exit(1) + onnx_file = sys.argv[1] + ckpt_file = sys.argv[2] + output_file = f'new_{onnx_file}' if len(sys.argv) == 3 else sys.argv[3] + update_onnx_initializer(onnx_file, ckpt_file, output_file) + + +if __name__ == '__main__': + main() -- Gitee