From 1a7370dfb1dd9696e2bde974b7e8668710e130c1 Mon Sep 17 00:00:00 2001 From: xulei Date: Thu, 24 Mar 2022 10:19:54 +0800 Subject: [PATCH] update auto install scripts --- scripts/install/euleros-ascend-conda.sh | 97 +++++++++++---- scripts/install/euleros-ascend-pip.sh | 148 ++++++++++++++++------- scripts/install/euleros-ascend-source.sh | 127 +++++++++++++++++++ scripts/install/euleros-ascend310-pip.sh | 110 +++++++++++++++++ scripts/install/ubuntu-cpu-conda.sh | 4 +- scripts/install/ubuntu-cpu-pip.sh | 35 +++--- scripts/install/ubuntu-cpu-source.sh | 50 ++++---- scripts/install/ubuntu-gpu-conda.sh | 37 +++++- scripts/install/ubuntu-gpu-pip.sh | 59 ++++----- scripts/install/ubuntu-gpu-source.sh | 76 ++++++------ 10 files changed, 563 insertions(+), 180 deletions(-) create mode 100644 scripts/install/euleros-ascend-source.sh create mode 100644 scripts/install/euleros-ascend310-pip.sh diff --git a/scripts/install/euleros-ascend-conda.sh b/scripts/install/euleros-ascend-conda.sh index fed9f3f5e72..71a51a37ba3 100644 --- a/scripts/install/euleros-ascend-conda.sh +++ b/scripts/install/euleros-ascend-conda.sh @@ -1,21 +1,66 @@ #!/bin/bash -set -ex +# Copyright 2022 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. +# ============================================================================ -MINDSPORE_VERSION=${MINDSPORE_VERSION:-1.5.0} -PYTHON_VERSION=${PYTHON_VERSION:-3.7.5} -MINDSPORE_VERSION=${MINDSPORE_VERSION:-1.5.0} +# Prepare and Install mindspore ascend by Conda on EulerOS 2.8. +# +# This file will: +# - install mindspore dependencies via apt like gcc, libgmp +# - install conda and set up environment for mindspore +# +# Augments: +# - PYTHON_VERSION: python version to set up. [3.7(default), 3.8, 3.9] +# - MINDSPORE_VERSION: mindspore version to install, default 1.6.0 +# - OPENMPI: whether to install optional package Open MPI for distributed training. [on, off(default)] +# +# Usage: +# Run script like `bash ./euleros-ascend-conda.sh`. +# To set augments, run it as `PYTHON_VERSION=3.9 MINDSPORE_VERSION=1.5.0 bash ./euleros-ascend-conda.sh`. -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 +set -e -# 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 <> ~/.bashrc + fi +} + +sudo yum install gcc gmp-devel -y + +install_conda() { + conda_file_name="Miniconda3-py3${PYTHON_VERSION##*.}_4.10.3-Linux-$(arch).sh" + cd /tmp + curl -O https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/$conda_file_name + bash $conda_file_name -b + cd - + . ~/miniconda3/etc/profile.d/conda.sh + conda init bash + # setting up conda mirror with tsinghua source + cat >~/.condarc </dev/null +if [[ $? -eq 0 ]]; then + echo "conda has been installed, skip." + source "$(conda info --base)"/etc/profile.d/conda.sh +else + install_conda +fi +set -e -# verify installation -python -c "import mindspore;mindspore.run_check()" \ No newline at end of file +# set up conda env +env_name=mindspore_py3${PYTHON_VERSION##*.} +conda create -n $env_name python=${PYTHON_VERSION} -y +conda activate $env_name + +conda install mindspore-ascend -c mindspore -c conda-forge diff --git a/scripts/install/euleros-ascend-pip.sh b/scripts/install/euleros-ascend-pip.sh index 027296e03ae..18b8e6625be 100644 --- a/scripts/install/euleros-ascend-pip.sh +++ b/scripts/install/euleros-ascend-pip.sh @@ -1,52 +1,116 @@ #!/bin/bash -set -ex +# Copyright 2022 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. +# ============================================================================ -# sudo cp -a /etc/apt/sources.list /etc/apt/sources.list.bak 单独执行 -PYTHON_VERSION=${PYTHON_VERSION:-3.7.5} -MINDSPORE_VERSION=${MINDSPORE_VERSION:-1.5.0} -ARCH=`uname -m` +# Prepare and Install mindspore ascend by pip on EulerOS 2.8. +# +# This file will: +# - install mindspore dependencies via apt like gcc, libgmp +# - install conda and set up environment for mindspore +# +# Augments: +# - PYTHON_VERSION: python version to set up. [3.7(default), 3.8, 3.9] +# - MINDSPORE_VERSION: mindspore version to install, default 1.6.0 +# - OPENMPI: whether to install optional package Open MPI for distributed training. [on, off(default)] +# +# Usage: +# Run script like `bash ./euleros-ascend-pip.sh`. +# To set augments, run it as `PYTHON_VERSION=3.9 MINDSPORE_VERSION=1.5.0 bash ./euleros-ascend-pip.sh`. -if [[ "${PYTHON_VERSION}" == "3.7.5" ]]; then - VERSION="${MINDSPORE_VERSION}-cp37-cp37m" -else - VERSION="${MINDSPORE_VERSION}-cp39-cp39" +set -e + +PYTHON_VERSION=${PYTHON_VERSION:-3.7} +MINDSPORE_VERSION=${MINDSPORE_VERSION:-1.6.0} +OPENMPI=${OPENMPI:-off} + +available_py_version=(3.7 3.8 3.9) +if [[ " ${available_py_version[*]} " != *" $PYTHON_VERSION "* ]]; then + echo "PYTHON_VERSION is '$PYTHON_VERSION', but available versions are [${available_py_version[*]}]." + exit 1 fi -#use huaweicloud mirror in China -repo_path=/etc/yum.repos.d/euleros.repo -cat > ${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 +declare -A version_map=() +version_map["3.7"]="${MINDSPORE_VERSION}-cp37-cp37m" +version_map["3.8"]="${MINDSPORE_VERSION}-cp38-cp38" +version_map["3.9"]="${MINDSPORE_VERSION}-cp39-cp39" + +# add value to environment variable if value is not in it +add_env() { + local name=$1 + if [[ ":${!name}:" != *":$2:"* ]]; then + echo -e "export $1=$2:\$$1" >> ~/.bashrc + fi +} + +sudo yum install gcc gmp-devel -y + +install_conda() { + conda_file_name="Miniconda3-py3${PYTHON_VERSION##*.}_4.10.3-Linux-$(arch).sh" + cd /tmp + curl -O https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/$conda_file_name + bash $conda_file_name -b + cd - + . ~/miniconda3/etc/profile.d/conda.sh + conda init bash + # setting up conda mirror with tsinghua source + cat >~/.condarc </dev/null +if [[ $? -eq 0 ]]; then + echo "conda has been installed, skip." + source "$(conda info --base)"/etc/profile.d/conda.sh +else + install_conda +fi +set -e -yum install gmp-devel -yum install +# set up conda env +env_name=mindspore_py3${PYTHON_VERSION##*.} +conda create -n $env_name python=${PYTHON_VERSION} -y +conda activate $env_name -# 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 +# optional openmpi for distributed training +if [[ X"$OPENMPI" == "Xon" ]]; then + origin_wd=$PWD + cd /tmp + curl -O https://download.open-mpi.org/release/open-mpi/v4.0/openmpi-4.0.3.tar.gz + tar xzf openmpi-4.0.3.tar.gz + cd openmpi-4.0.3 + ./configure --prefix=$HOME/openmpi-4.0.3 + make + sudo make install + add_env PATH $HOME/openmpi-4.0.3/bin + add_env LD_LIBRARY_PATH $HOME/openmpi-4.0.3/lib + cd $origin_wd +fi -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 +ARCH=`uname -m` +pip install https://ms-release.obs.cn-north-4.myhuaweicloud.com/${MINDSPORE_VERSION}/MindSpore/ascend/${ARCH}/mindspore_ascend-${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 diff --git a/scripts/install/euleros-ascend-source.sh b/scripts/install/euleros-ascend-source.sh new file mode 100644 index 00000000000..43b1e7e742e --- /dev/null +++ b/scripts/install/euleros-ascend-source.sh @@ -0,0 +1,127 @@ +#!/bin/bash +# Copyright 2022 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. +# ============================================================================ + +# Prepare environment for mindspore ascend compilation on EulerOS 2.8. +# +# This file will: +# - install mindspore dependencies via apt like gcc, cmake +# - install conda and set up environment for mindspore +# +# Augments: +# - PYTHON_VERSION: python version to set up. [3.7(default), 3.8, 3.9] +# - MINDSPORE_VERSION: mindspore version to install, default 1.6.0 +# - OPENMPI: whether to install optional package Open MPI for distributed training. [on, off(default)] +# +# Usage: +# Run script like `bash -i ./euleros-ascend-source.sh`. +# To set augments, run it as `PYTHON_VERSION=3.9 MINDSPORE_VERSION=1.5.0 bash -i ./euleros-ascend-source.sh`. + +set -e + +PYTHON_VERSION=${PYTHON_VERSION:-3.7} +MINDSPORE_VERSION=${MINDSPORE_VERSION:-1.6.0} +OPENMPI=${OPENMPI:-off} + +available_py_version=(3.7 3.8 3.9) +if [[ " ${available_py_version[*]} " != *" $PYTHON_VERSION "* ]]; then + echo "PYTHON_VERSION is '$PYTHON_VERSION', but available versions are [${available_py_version[*]}]." + exit 1 +fi + +# add value to environment variable if value is not in it +add_env() { + local name=$1 + if [[ ":${!name}:" != *":$2:"* ]]; then + echo -e "export $1=$2:\$$1" >> ~/.bashrc + fi +} + +sudo yum install gcc git gmp-devel tcl patch numactl-devel flex -y + +curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.rpm.sh | sudo os=el dist=7 bash +sudo yum install git-lfs -y +git lfs install + +install_conda() { + conda_file_name="Miniconda3-py3${PYTHON_VERSION##*.}_4.10.3-Linux-$(arch).sh" + cd /tmp + curl -O https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/$conda_file_name + bash $conda_file_name -b + cd - + . ~/miniconda3/etc/profile.d/conda.sh + conda init bash + # setting up conda mirror with tsinghua source + cat >~/.condarc </dev/null +if [[ $? -eq 0 ]]; then + echo "conda has been installed, skip." + source "$(conda info --base)"/etc/profile.d/conda.sh +else + install_conda +fi +set -e + +# set up conda env +env_name=mindspore_py3${PYTHON_VERSION##*.} +conda create -n $env_name python=${PYTHON_VERSION} -y +conda activate $env_name + +pip install wheel +pip install -U setuptools + +# cmake +cd /tmp +cmake_file_name="cmake-3.19.8-Linux-$(arch).sh" +curl -O "https://cmake.org/files/v3.19/${cmake_file_name}" +sudo mkdir $HOME/cmake-3.19.8 +sudo bash cmake-3.19.8-Linux-*.sh --prefix=$HOME/cmake-3.19.8 --exclude-subdir +add_env PATH $HOME/cmake-3.19.8/bin +source ~/.bashrc +cd - + +# optional openmpi for distributed training +if [[ X"$OPENMPI" == "Xon" ]]; then + origin_wd=$PWD + cd /tmp + curl -O https://download.open-mpi.org/release/open-mpi/v4.0/openmpi-4.0.3.tar.gz + tar xzf openmpi-4.0.3.tar.gz + cd openmpi-4.0.3 + ./configure --prefix=$HOME/openmpi-4.0.3 + make + sudo make install + add_env PATH $HOME/openmpi-4.0.3/bin + add_env LD_LIBRARY_PATH $HOME/openmpi-4.0.3/lib + cd $origin_wd +fi + +echo "The environment is ready to clone and compile mindspore." diff --git a/scripts/install/euleros-ascend310-pip.sh b/scripts/install/euleros-ascend310-pip.sh new file mode 100644 index 00000000000..f3cba7f495e --- /dev/null +++ b/scripts/install/euleros-ascend310-pip.sh @@ -0,0 +1,110 @@ +#!/bin/bash +# Copyright 2022 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. +# ============================================================================ + +# Prepare and Install mindspore ascend by pip on EulerOS 2.8. +# +# This file will: +# - install mindspore dependencies via apt like gcc, libgmp +# - install conda and set up environment for mindspore +# +# Augments: +# - PYTHON_VERSION: python version to set up. [3.7(default), 3.8, 3.9] +# - MINDSPORE_VERSION: mindspore version to install, default 1.6.0 +# +# Usage: +# Run script like `bash ./euleros-ascend310-pip.sh`. +# To set augments, run it as `PYTHON_VERSION=3.9 MINDSPORE_VERSION=1.5.0 bash ./euleros-ascend310-pip.sh`. + +set -e + +PYTHON_VERSION=${PYTHON_VERSION:-3.7} +MINDSPORE_VERSION=${MINDSPORE_VERSION:-1.6.0} +OPENMPI=${OPENMPI:-off} + +available_py_version=(3.7 3.8 3.9) +if [[ " ${available_py_version[*]} " != *" $PYTHON_VERSION "* ]]; then + echo "PYTHON_VERSION is '$PYTHON_VERSION', but available versions are [${available_py_version[*]}]." + exit 1 +fi + +declare -A version_map=() +version_map["3.7"]="${MINDSPORE_VERSION}-cp37-cp37m" +version_map["3.8"]="${MINDSPORE_VERSION}-cp38-cp38" +version_map["3.9"]="${MINDSPORE_VERSION}-cp39-cp39" + +# add value to environment variable if value is not in it +add_env() { + local name=$1 + if [[ ":${!name}:" != *":$2:"* ]]; then + echo -e "export $1=$2:\$$1" >> ~/.bashrc + fi +} + +sudo yum install gcc gmp-devel -y + +install_conda() { + conda_file_name="Miniconda3-py3${PYTHON_VERSION##*.}_4.10.3-Linux-$(arch).sh" + cd /tmp + curl -O https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/$conda_file_name + bash $conda_file_name -b + cd - + . ~/miniconda3/etc/profile.d/conda.sh + conda init bash + # setting up conda mirror with tsinghua source + cat >~/.condarc </dev/null +if [[ $? -eq 0 ]]; then + echo "conda has been installed, skip." + source "$(conda info --base)"/etc/profile.d/conda.sh +else + install_conda +fi +set -e + +# set up conda env +env_name=mindspore_py3${PYTHON_VERSION##*.} +conda create -n $env_name python=${PYTHON_VERSION} -y +conda activate $env_name + +# cmake +cd /tmp +cmake_file_name="cmake-3.19.8-Linux-$(arch).sh" +curl -O "https://cmake.org/files/v3.19/${cmake_file_name}" +sudo mkdir $HOME/cmake-3.19.8 +sudo bash cmake-3.19.8-Linux-*.sh --prefix=$HOME/cmake-3.19.8 --exclude-subdir +add_env PATH $HOME/cmake-3.19.8/bin +source ~/.bashrc +cd - + +ARCH=`uname -m` +pip install https://ms-release.obs.cn-north-4.myhuaweicloud.com/${MINDSPORE_VERSION}/MindSpore/ascend/${ARCH}/mindspore_ascend-${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 diff --git a/scripts/install/ubuntu-cpu-conda.sh b/scripts/install/ubuntu-cpu-conda.sh index e6e395ae86c..5f7656ca21f 100644 --- a/scripts/install/ubuntu-cpu-conda.sh +++ b/scripts/install/ubuntu-cpu-conda.sh @@ -23,7 +23,7 @@ # - install mindspore-cpu by conda # # Augments: -# - PYTHON_VERSION: python version to set up. [3.7(default), 3.9] +# - PYTHON_VERSION: python version to set up. [3.7(default), 3.8, 3.9] # - MINDSPORE_VERSION: mindspore version to install, default 1.6.0 # # Usage: @@ -35,7 +35,7 @@ set -e PYTHON_VERSION=${PYTHON_VERSION:-3.7} MINDSPORE_VERSION=${MINDSPORE_VERSION:-1.6.0} -available_py_version=(3.7 3.9) +available_py_version=(3.7 3.8 3.9) if [[ " ${available_py_version[*]} " != *" $PYTHON_VERSION "* ]]; then echo "PYTHON_VERSION is '$PYTHON_VERSION', but available versions are [${available_py_version[*]}]." exit 1 diff --git a/scripts/install/ubuntu-cpu-pip.sh b/scripts/install/ubuntu-cpu-pip.sh index 16bb554d051..598a49537cd 100644 --- a/scripts/install/ubuntu-cpu-pip.sh +++ b/scripts/install/ubuntu-cpu-pip.sh @@ -23,19 +23,19 @@ # - install mindspore-cpu within new installed python by pip # # Augments: -# - PYTHON_VERSION: python version to install. [3.7(default), 3.9] +# - PYTHON_VERSION: python version to install. [3.7(default), 3.8, 3.9] # - MINDSPORE_VERSION: mindspore version to install, default 1.6.0 # # Usage: -# Need root permission to run, like `sudo bash ./ubuntu-cpu-pip.sh`. -# To set augments, run it as `sudo PYTHON_VERSION=3.9 MINDSPORE_VERSION=1.5.0 bash ./ubuntu-cpu-pip.sh`. +# Run script like `bash ./ubuntu-cpu-pip.sh`. +# To set augments, run it as `PYTHON_VERSION=3.9 MINDSPORE_VERSION=1.5.0 bash ./ubuntu-cpu-pip.sh`. set -e PYTHON_VERSION=${PYTHON_VERSION:-3.7} MINDSPORE_VERSION=${MINDSPORE_VERSION:-1.6.0} -available_py_version=(3.7 3.9) +available_py_version=(3.7 3.8 3.9) if [[ " ${available_py_version[*]} " != *" $PYTHON_VERSION "* ]]; then echo "PYTHON_VERSION is '$PYTHON_VERSION', but available versions are [${available_py_version[*]}]." exit 1 @@ -43,27 +43,28 @@ fi declare -A version_map=() version_map["3.7"]="${MINDSPORE_VERSION}-cp37-cp37m" +version_map["3.8"]="${MINDSPORE_VERSION}-cp38-cp38" version_map["3.9"]="${MINDSPORE_VERSION}-cp39-cp39" # use huaweicloud mirror in China -sed -i "s@http://.*archive.ubuntu.com@http://repo.huaweicloud.com@g" /etc/apt/sources.list -sed -i "s@http://.*security.ubuntu.com@http://repo.huaweicloud.com@g" /etc/apt/sources.list -apt-get update -apt-get install gcc-7 libgmp-dev -y +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 +sudo apt-get install gcc-7 libgmp-dev -y # python -add-apt-repository -y ppa:deadsnakes/ppa -apt-get install python$PYTHON_VERSION python$PYTHON_VERSION-distutils python3-pip -y -update-alternatives --install /usr/bin/python python /usr/bin/python$PYTHON_VERSION 100 +sudo add-apt-repository -y ppa:deadsnakes/ppa +sudo apt-get install python$PYTHON_VERSION python$PYTHON_VERSION-distutils python3-pip -y +sudo update-alternatives --install /usr/bin/python python /usr/bin/python$PYTHON_VERSION 100 # pip -sudo -u $SUDO_USER python -m pip install pip -i https://pypi.tuna.tsinghua.edu.cn/simple -update-alternatives --install /usr/bin/pip pip ~/.local/bin/pip$PYTHON_VERSION 100 -update-alternatives --install /usr/local/bin/pip pip ~/.local/bin/pip$PYTHON_VERSION 100 -sudo -u $SUDO_USER pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple +python -m pip install -U pip -i https://pypi.tuna.tsinghua.edu.cn/simple +echo -e "alias pip='python -m pip'" >> ~/.bashrc +source ~/.bashrc +pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple # install mindspore whl arch=`uname -m` -sudo -u $SUDO_USER pip install https://ms-release.obs.cn-north-4.myhuaweicloud.com/${MINDSPORE_VERSION}/MindSpore/cpu/${arch}/mindspore-${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 +pip install https://ms-release.obs.cn-north-4.myhuaweicloud.com/${MINDSPORE_VERSION}/MindSpore/cpu/${arch}/mindspore-${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 mindspore installation -sudo -u $SUDO_USER python -c "import mindspore;mindspore.run_check()" +python -c "import mindspore;mindspore.run_check()" diff --git a/scripts/install/ubuntu-cpu-source.sh b/scripts/install/ubuntu-cpu-source.sh index 3d1cf1128bc..fdf8ea6092b 100644 --- a/scripts/install/ubuntu-cpu-source.sh +++ b/scripts/install/ubuntu-cpu-source.sh @@ -23,59 +23,59 @@ # - install LLVM if LLVM is set to on. # # Augments: -# - PYTHON_VERSION: python version to install. [3.7(default), 3.9] +# - PYTHON_VERSION: python version to install. [3.7(default), 3.8, 3.9] # - LLVM: whether to install optional dependency LLVM for graph kernel fusion. [on, off(default)] # # Usage: -# Need root permission to run, like `sudo bash ./ubuntu-cpu-source.sh`. -# To set augments, run it as `sudo PYTHON_VERSION=3.9 LLVM=on bash ./ubuntu-cpu-source.sh`. +# Run script like `bash ./ubuntu-cpu-source.sh`. +# To set augments, run it as `PYTHON_VERSION=3.9 LLVM=on bash ./ubuntu-cpu-source.sh`. set -e PYTHON_VERSION=${PYTHON_VERSION:-3.7} LLVM=${LLVM:-off} -available_py_version=(3.7 3.9) +available_py_version=(3.7 3.8 3.9) if [[ " ${available_py_version[*]} " != *" $PYTHON_VERSION "* ]]; then echo "PYTHON_VERSION is '$PYTHON_VERSION', but available versions are [${available_py_version[*]}]." exit 1 fi # use huaweicloud mirror in China -sed -i "s@http://.*archive.ubuntu.com@http://repo.huaweicloud.com@g" /etc/apt/sources.list -sed -i "s@http://.*security.ubuntu.com@http://repo.huaweicloud.com@g" /etc/apt/sources.list +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 # base packages -apt-get update -apt-get install software-properties-common lsb-release -y -apt-get install curl tcl gcc-7 git libgmp-dev patch libnuma-dev -y +sudo apt-get update +sudo apt-get install software-properties-common lsb-release -y +sudo apt-get install curl tcl gcc-7 git libgmp-dev patch libnuma-dev -y # cmake -wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | apt-key add - -apt-add-repository "deb https://apt.kitware.com/ubuntu/ $(lsb_release -cs) main" -apt-get install cmake -y +wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | sudo apt-key add - +sudo apt-add-repository "deb https://apt.kitware.com/ubuntu/ $(lsb_release -cs) main" +sudo apt-get install cmake -y # optional dependency LLVM for graph-computation fusion if [[ X"$LLVM" == "Xon" ]]; then - wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add - - add-apt-repository "deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-12 main" - apt-get update - apt-get install llvm-12-dev -y + wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add - + sudo add-apt-repository "deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-12 main" + sudo apt-get update + sudo apt-get install llvm-12-dev -y fi # python -add-apt-repository -y ppa:deadsnakes/ppa -apt-get install python$PYTHON_VERSION python$PYTHON_VERSION-dev python$PYTHON_VERSION-distutils python3-pip -y -update-alternatives --install /usr/bin/python python /usr/bin/python$PYTHON_VERSION 100 +sudo add-apt-repository -y ppa:deadsnakes/ppa +sudo apt-get install python$PYTHON_VERSION python$PYTHON_VERSION-dev python$PYTHON_VERSION-distutils python3-pip -y +sudo update-alternatives --install /usr/bin/python python /usr/bin/python$PYTHON_VERSION 100 # pip -sudo -u $SUDO_USER python -m pip install pip -i https://pypi.tuna.tsinghua.edu.cn/simple -update-alternatives --install /usr/bin/pip pip ~/.local/bin/pip$PYTHON_VERSION 100 -update-alternatives --install /usr/local/bin/pip pip ~/.local/bin/pip$PYTHON_VERSION 100 -sudo -u $SUDO_USER pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple +python -m pip install -U pip -i https://pypi.tuna.tsinghua.edu.cn/simple +echo -e "alias pip='python -m pip'" >> ~/.bashrc +source ~/.bashrc +pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple # wheel -sudo -u $SUDO_USER pip install wheel +pip install wheel # python 3.9 needs setuptools>44.0 -sudo -u $SUDO_USER pip install -U setuptools +pip install -U setuptools echo "The environment is ready to clone and compile mindspore." diff --git a/scripts/install/ubuntu-gpu-conda.sh b/scripts/install/ubuntu-gpu-conda.sh index 57ce133055a..d783c9ef568 100644 --- a/scripts/install/ubuntu-gpu-conda.sh +++ b/scripts/install/ubuntu-gpu-conda.sh @@ -24,23 +24,23 @@ # - compile and install Open MPI if OPENMPI is set to on. # # Augments: -# - PYTHON_VERSION: python version to install. [3.7(default), 3.9] +# - PYTHON_VERSION: python version to install. [3.7(default), 3.8, 3.9] # - MINDSPORE_VERSION: mindspore version to install, default 1.6.0 -# - CUDA_VERSION: CUDA version to install. [10.1(default), 11.1] +# - CUDA_VERSION: CUDA version to install. [10.1, 11.1(default)] # - OPENMPI: whether to install optional package Open MPI for distributed training. [on, off(default)] # # Usage: # Run script like `bash -i ./ubuntu-gpu-conda.sh`. -# To set augments, run it as `PYTHON_VERSION=3.9 CUDA_VERSION=11.1 OPENMPI=on bash -i ./ubuntu-gpu-conda.sh`. +# To set augments, run it as `PYTHON_VERSION=3.9 CUDA_VERSION=10.1 OPENMPI=on bash -i ./ubuntu-gpu-conda.sh`. set -e PYTHON_VERSION=${PYTHON_VERSION:-3.7} MINDSPORE_VERSION=${MINDSPORE_VERSION:-1.6.0} -CUDA_VERSION=${CUDA_VERSION:-10.1} +CUDA_VERSION=${CUDA_VERSION:-11.1} OPENMPI=${OPENMPI:-off} -available_py_version=(3.7 3.9) +available_py_version=(3.7 3.8 3.9) if [[ " ${available_py_version[*]} " != *" $PYTHON_VERSION "* ]]; then echo "PYTHON_VERSION is '$PYTHON_VERSION', but available versions are [${available_py_version[*]}]." exit 1 @@ -117,6 +117,33 @@ else fi set -e +# install cuda/cudnn +cd /tmp +declare -A cuda_url_map=() +cuda_url_map["10.1"]=https://developer.download.nvidia.com/compute/cuda/10.1/Prod/local_installers/cuda_10.1.243_418.87.00_linux.run +cuda_url_map["11.1"]=https://developer.download.nvidia.com/compute/cuda/11.1.1/local_installers/cuda_11.1.1_455.32.00_linux.run +cuda_url=${cuda_url_map[$CUDA_VERSION]} +wget $cuda_url +sudo sh ${cuda_url##*/} --silent --toolkit +cd - +sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub +sudo add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/ /" +sudo add-apt-repository "deb https://developer.download.nvidia.cn/compute/machine-learning/repos/ubuntu1804/x86_64/ /" +sudo apt-get update +declare -A cudnn_name_map=() +cudnn_name_map["10.1"]="libcudnn7=7.6.5.32-1+cuda10.1 libcudnn7-dev=7.6.5.32-1+cuda10.1" +cudnn_name_map["11.1"]="libcudnn8=8.0.4.30-1+cuda11.1 libcudnn8-dev=8.0.4.30-1+cuda11.1" +sudo apt-get install --no-install-recommends ${cudnn_name_map[$CUDA_VERSION]} -y + +# add cuda to path +set +e && source ~/.bashrc +set -e +add_env PATH /usr/local/cuda/bin +add_env LD_LIBRARY_PATH /usr/local/cuda/lib64 +add_env LD_LIBRARY_PATH /usr/lib/x86_64-linux-gnu +set +e && source ~/.bashrc +set -e + # set up conda env and install mindspore-cpu env_name=mindspore_py3${PYTHON_VERSION##*.} declare -A cudnn_version_map=() diff --git a/scripts/install/ubuntu-gpu-pip.sh b/scripts/install/ubuntu-gpu-pip.sh index dd97b72179c..0852bf904c9 100644 --- a/scripts/install/ubuntu-gpu-pip.sh +++ b/scripts/install/ubuntu-gpu-pip.sh @@ -25,23 +25,23 @@ # - compile and install Open MPI if OPENMPI is set to on. # # Augments: -# - PYTHON_VERSION: python version to install. [3.7(default), 3.9] +# - PYTHON_VERSION: python version to install. [3.7(default), 3.8, 3.9] # - MINDSPORE_VERSION: mindspore version to install, default 1.6.0 -# - CUDA_VERSION: CUDA version to install. [10.1(default), 11.1] +# - CUDA_VERSION: CUDA version to install. [10.1, 11.1(default)] # - OPENMPI: whether to install optional package Open MPI for distributed training. [on, off(default)] # # Usage: -# Need root permission to run, like `sudo bash -i ./ubuntu-gpu-pip.sh`. -# To set augments, run it as `sudo PYTHON_VERSION=3.9 CUDA_VERSION=11.1 OPENMPI=on bash -i ./ubuntu-gpu-pip.sh`. +# Run script like `bash -i ./ubuntu-gpu-pip.sh`. +# To set augments, run it as `PYTHON_VERSION=3.9 CUDA_VERSION=10.1 OPENMPI=on bash -i ./ubuntu-gpu-pip.sh`. set -e PYTHON_VERSION=${PYTHON_VERSION:-3.7} MINDSPORE_VERSION=${MINDSPORE_VERSION:-1.6.0} -CUDA_VERSION=${CUDA_VERSION:-10.1} +CUDA_VERSION=${CUDA_VERSION:-11.1} OPENMPI=${OPENMPI:-off} -available_py_version=(3.7 3.9) +available_py_version=(3.7 3.8 3.9) if [[ " ${available_py_version[*]} " != *" $PYTHON_VERSION "* ]]; then echo "PYTHON_VERSION is '$PYTHON_VERSION', but available versions are [${available_py_version[*]}]." exit 1 @@ -64,6 +64,7 @@ cuda_name="cuda-$CUDA_VERSION" declare -A version_map=() version_map["3.7"]="${MINDSPORE_VERSION}-cp37-cp37m" +version_map["3.8"]="${MINDSPORE_VERSION}-cp38-cp38" version_map["3.9"]="${MINDSPORE_VERSION}-cp39-cp39" # add value to environment variable if value is not in it @@ -75,21 +76,21 @@ add_env() { } # use huaweicloud mirror in China -sed -i "s@http://.*archive.ubuntu.com@http://repo.huaweicloud.com@g" /etc/apt/sources.list -sed -i "s@http://.*security.ubuntu.com@http://repo.huaweicloud.com@g" /etc/apt/sources.list -apt-get update +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 -apt-get install curl make gcc-7 libgmp-dev linux-headers-"$(uname -r)" -y +sudo apt-get install curl make gcc-7 libgmp-dev linux-headers-"$(uname -r)" -y # python -add-apt-repository -y ppa:deadsnakes/ppa -apt-get install python$PYTHON_VERSION python$PYTHON_VERSION-distutils python3-pip -y -update-alternatives --install /usr/bin/python python /usr/bin/python$PYTHON_VERSION 100 +sudo add-apt-repository -y ppa:deadsnakes/ppa +sudo apt-get install python$PYTHON_VERSION python$PYTHON_VERSION-distutils python3-pip -y +sudo update-alternatives --install /usr/bin/python python /usr/bin/python$PYTHON_VERSION 100 # pip -sudo -u $SUDO_USER python -m pip install pip -i https://pypi.tuna.tsinghua.edu.cn/simple -update-alternatives --install /usr/bin/pip pip ~/.local/bin/pip$PYTHON_VERSION 100 -update-alternatives --install /usr/local/bin/pip pip ~/.local/bin/pip$PYTHON_VERSION 100 -sudo -u $SUDO_USER pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple +python -m pip install -U pip -i https://pypi.tuna.tsinghua.edu.cn/simple +echo -e "alias pip='python -m pip'" >> ~/.bashrc +source ~/.bashrc +pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple # install cuda/cudnn cd /tmp @@ -98,16 +99,16 @@ cuda_url_map["10.1"]=https://developer.download.nvidia.com/compute/cuda/10.1/Pro cuda_url_map["11.1"]=https://developer.download.nvidia.com/compute/cuda/11.1.1/local_installers/cuda_11.1.1_455.32.00_linux.run cuda_url=${cuda_url_map[$CUDA_VERSION]} wget $cuda_url -sh ${cuda_url##*/} --silent --toolkit +sudo sh ${cuda_url##*/} --silent --toolkit cd - -apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub -add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/ /" -add-apt-repository "deb https://developer.download.nvidia.cn/compute/machine-learning/repos/ubuntu1804/x86_64/ /" -apt-get update +sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub +sudo add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/ /" +sudo add-apt-repository "deb https://developer.download.nvidia.cn/compute/machine-learning/repos/ubuntu1804/x86_64/ /" +sudo apt-get update declare -A cudnn_name_map=() cudnn_name_map["10.1"]="libcudnn7=7.6.5.32-1+cuda10.1 libcudnn7-dev=7.6.5.32-1+cuda10.1" cudnn_name_map["11.1"]="libcudnn8=8.0.4.30-1+cuda11.1 libcudnn8-dev=8.0.4.30-1+cuda11.1" -apt-get install --no-install-recommends ${cudnn_name_map[$CUDA_VERSION]} -y +sudo apt-get install --no-install-recommends ${cudnn_name_map[$CUDA_VERSION]} -y # add cuda to path set +e && source ~/.bashrc @@ -121,18 +122,18 @@ set -e # optional openmpi for distributed training if [[ X"$OPENMPI" == "Xon" ]]; then cd /tmp - sudo -u $SUDO_USER curl -O https://download.open-mpi.org/release/open-mpi/v4.0/openmpi-4.0.3.tar.gz - sudo -u $SUDO_USER tar xzf openmpi-4.0.3.tar.gz + curl -O https://download.open-mpi.org/release/open-mpi/v4.0/openmpi-4.0.3.tar.gz + tar xzf openmpi-4.0.3.tar.gz cd openmpi-4.0.3 - sudo -u $SUDO_USER ./configure --prefix=/usr/local/openmpi-4.0.3 - sudo -u $SUDO_USER make - make install + ./configure --prefix=/usr/local/openmpi-4.0.3 + make + sudo make install add_env PATH /usr/local/openmpi-4.0.3/bin add_env LD_LIBRARY_PATH /usr/local/openmpi-4.0.3/lib fi arch=`uname -m` -sudo -u $SUDO_USER pip install https://ms-release.obs.cn-north-4.myhuaweicloud.com/${MINDSPORE_VERSION}/MindSpore/gpu/${arch}/${cuda_name}/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 +pip install https://ms-release.obs.cn-north-4.myhuaweicloud.com/${MINDSPORE_VERSION}/MindSpore/gpu/${arch}/${cuda_name}/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 mindspore installation python -c "import mindspore;mindspore.run_check()" diff --git a/scripts/install/ubuntu-gpu-source.sh b/scripts/install/ubuntu-gpu-source.sh index 05e05f71bdf..e5f9adbf107 100644 --- a/scripts/install/ubuntu-gpu-source.sh +++ b/scripts/install/ubuntu-gpu-source.sh @@ -25,23 +25,23 @@ # - install LLVM if LLVM is set to on. # # Augments: -# - PYTHON_VERSION: python version to install. [3.7(default), 3.9] -# - CUDA_VERSION: CUDA version to install. [10.1(default), 11.1] +# - PYTHON_VERSION: python version to install. [3.7(default), 3.8, 3.9] +# - CUDA_VERSION: CUDA version to install. [10.1, 11.1(default)] # - OPENMPI: whether to install optional package Open MPI for distributed training. [on, off(default)] # - LLVM: whether to install optional dependency LLVM for graph kernel fusion. [on, off(default)] # # Usage: -# Need root permission to run, like `sudo bash -i ./ubuntu-gpu-source.sh`. -# To set augments, run it as `sudo PYTHON_VERSION=3.9 CUDA_VERSION=11.1 OPENMPI=on bash -i ./ubuntu-gpu-source.sh`. +# Run script like `bash -i ./ubuntu-gpu-source.sh`. +# To set augments, run it as `PYTHON_VERSION=3.9 CUDA_VERSION=10.1 OPENMPI=on bash -i ./ubuntu-gpu-source.sh`. set -e PYTHON_VERSION=${PYTHON_VERSION:-3.7} -CUDA_VERSION=${CUDA_VERSION:-10.1} +CUDA_VERSION=${CUDA_VERSION:-11.1} OPENMPI=${OPENMPI:-off} LLVM=${LLVM:-off} -available_py_version=(3.7 3.9) +available_py_version=(3.7 3.8 3.9) if [[ " ${available_py_version[*]} " != *" $PYTHON_VERSION "* ]]; then echo "PYTHON_VERSION is '$PYTHON_VERSION', but available versions are [${available_py_version[*]}]." exit 1 @@ -70,51 +70,51 @@ add_env() { } # use huaweicloud mirror in China -sed -i "s@http://.*archive.ubuntu.com@http://repo.huaweicloud.com@g" /etc/apt/sources.list -sed -i "s@http://.*security.ubuntu.com@http://repo.huaweicloud.com@g" /etc/apt/sources.list +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 # base packages -apt-get update -apt-get install software-properties-common lsb-release -y -apt-get install curl tcl automake autoconf libtool gcc-7 git libgmp-dev patch libnuma-dev flex -y +sudo apt-get update +sudo apt-get install software-properties-common lsb-release -y +sudo apt-get install curl tcl automake autoconf libtool gcc-7 git libgmp-dev patch libnuma-dev flex -y # cmake -wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | apt-key add - -apt-add-repository "deb https://apt.kitware.com/ubuntu/ $(lsb_release -cs) main" -apt-get install cmake -y +wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | sudo apt-key add - +sudo apt-add-repository "deb https://apt.kitware.com/ubuntu/ $(lsb_release -cs) main" +sudo apt-get install cmake -y # optional dependency LLVM for graph-computation fusion if [[ X"$LLVM" == "Xon" ]]; then - wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add - - add-apt-repository "deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-12 main" - apt-get update - apt-get install llvm-12-dev -y + wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add - + sudo add-apt-repository "deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-12 main" + sudo apt-get update + sudo apt-get install llvm-12-dev -y fi # optional openmpi for distributed training if [[ X"$OPENMPI" == "Xon" ]]; then origin_wd=$PWD cd /tmp - sudo -u $SUDO_USER curl -O https://download.open-mpi.org/release/open-mpi/v4.0/openmpi-4.0.3.tar.gz - sudo -u $SUDO_USER tar xzf openmpi-4.0.3.tar.gz + curl -O https://download.open-mpi.org/release/open-mpi/v4.0/openmpi-4.0.3.tar.gz + tar xzf openmpi-4.0.3.tar.gz cd openmpi-4.0.3 - sudo -u $SUDO_USER ./configure --prefix=/usr/local/openmpi-4.0.3 - sudo -u $SUDO_USER make - make install + ./configure --prefix=/usr/local/openmpi-4.0.3 + make + sudo make install add_env PATH /usr/local/openmpi-4.0.3/bin add_env LD_LIBRARY_PATH /usr/local/openmpi-4.0.3/lib cd $origin_wd fi # python -add-apt-repository -y ppa:deadsnakes/ppa -apt-get install python$PYTHON_VERSION python$PYTHON_VERSION-dev python$PYTHON_VERSION-distutils python3-pip -y -update-alternatives --install /usr/bin/python python /usr/bin/python$PYTHON_VERSION 100 +sudo add-apt-repository -y ppa:deadsnakes/ppa +sudo apt-get install python$PYTHON_VERSION python$PYTHON_VERSION-dev python$PYTHON_VERSION-distutils python3-pip -y +sudo update-alternatives --install /usr/bin/python python /usr/bin/python$PYTHON_VERSION 100 # pip -sudo -u $SUDO_USER python -m pip install pip -i https://pypi.tuna.tsinghua.edu.cn/simple -update-alternatives --install /usr/bin/pip pip ~/.local/bin/pip$PYTHON_VERSION 100 -update-alternatives --install /usr/local/bin/pip pip ~/.local/bin/pip$PYTHON_VERSION 100 -sudo -u $SUDO_USER pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple +python -m pip install -U pip -i https://pypi.tuna.tsinghua.edu.cn/simple +echo -e "alias pip='python -m pip'" >> ~/.bashrc +source ~/.bashrc +pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple # install cuda/cudnn cd /tmp @@ -123,16 +123,16 @@ cuda_url_map["10.1"]=https://developer.download.nvidia.com/compute/cuda/10.1/Pro cuda_url_map["11.1"]=https://developer.download.nvidia.com/compute/cuda/11.1.1/local_installers/cuda_11.1.1_455.32.00_linux.run cuda_url=${cuda_url_map[$CUDA_VERSION]} wget $cuda_url -sh ${cuda_url##*/} --silent --toolkit +sudo sh ${cuda_url##*/} --silent --toolkit cd - -apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub -add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/ /" -add-apt-repository "deb https://developer.download.nvidia.cn/compute/machine-learning/repos/ubuntu1804/x86_64/ /" -apt-get update +sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub +sudo add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/ /" +sudo add-apt-repository "deb https://developer.download.nvidia.cn/compute/machine-learning/repos/ubuntu1804/x86_64/ /" +sudo apt-get update declare -A cudnn_name_map=() cudnn_name_map["10.1"]="libcudnn7=7.6.5.32-1+cuda10.1 libcudnn7-dev=7.6.5.32-1+cuda10.1" cudnn_name_map["11.1"]="libcudnn8=8.0.4.30-1+cuda11.1 libcudnn8-dev=8.0.4.30-1+cuda11.1" -apt-get install --no-install-recommends ${cudnn_name_map[$CUDA_VERSION]} -y +sudo apt-get install --no-install-recommends ${cudnn_name_map[$CUDA_VERSION]} -y # add cuda to path set +e && source ~/.bashrc @@ -144,8 +144,8 @@ set +e && source ~/.bashrc set -e # wheel -sudo -u $SUDO_USER pip install wheel +pip install wheel # python 3.9 needs setuptools>44.0 -sudo -u $SUDO_USER pip install -U setuptools +pip install -U setuptools echo "The environment is ready to clone and compile mindspore."