# Precondition:
# 1. Install OS: https://tools.mindspore.cn/productrepo/iso/ubuntu/ubuntu18.04/ubuntu-18.04.2-server-amd64.iso
# 2. Set IP
# 3. Set DNS

#######################################################################
# sonconfig(ubuntu)
cd /tmp
rm -f install_sysconfig.sh
wget http://tools.mindspore.cn/scripts/sysconfig/ubuntu/install_sysconfig.sh
bash install_sysconfig.sh -h gpu45

# Install tools
cd /tmp
rm -f install_tools.sh
wget http://tools.mindspore.cn/scripts/sysconfig/common/install_tools.sh
bash install_tools.sh -m on -s on

# Create user
cd /tmp
rm -f create_user.sh
wget http://tools.mindspore.cn/scripts/sysconfig/common/create_user.sh
bash create_user.sh -u jenkins -g jenkins -p 'P******'

# Common disk
cd /tmp
rm -f mount_disk.sh
wget http://tools.mindspore.cn/scripts/sysconfig/common/mount_disk.sh
bash mount_disk.sh -d sdb -p /data
#bash mount_disk.sh -d sdc -p /data2
#echo "/dev/sdb1   /data   ext4    defaults     0  0" >> /etc/fstab
#echo "/dev/sdc1   /data2  ext4    defaults     0  0" >> /etc/fstab
#######################################################################


#######################################################################
# Install cuda-10.1
# 1. Download
mkdir -p /home/cuda
cd /home/cuda
wget https://tools.mindspore.cn/tools/driver/cuda/cuda-10.1/ubuntu18.04/cuda_10.1.105_418.39_linux.run
wget https://tools.mindspore.cn/tools/driver/cuda/cuda-10.1/cudnn-10.1-linux-x64-v7.6.5.32.tgz

# 2. Install cuda
bash cuda_10.1.105_418.39_linux.run
#    accept
#    x CUDA Installer                                                               x
#    x - [X] Driver                                                                 x
#    x      [X] 418.39                                                              x
#    x + [X] CUDA Toolkit 10.1                                                      x
#    x   [ ] CUDA Samples 10.1                                                      x
#    x   [ ] CUDA Demo Suite 10.1                                                   x
#    x   [ ] CUDA Documentation 10.1                                                x
#    x   Install                                                                    x
#    x   Options 

# 3. Install cudnn
tar xf cudnn-10.1-linux-x64-v7.6.5.32.tgz
cp -r cuda/include/cudnn.h /usr/local/cuda-10.1/include/
cp -r cuda/lib64/lib* /usr/local/cuda-10.1/lib64/
ls -l /usr/local/cuda-10.1/lib64/libcudnn*
#######################################################################


#######################################################################
# Uninstall ompi-3.1.5
#cd /tmp
#rm -f uninstall_ompi.sh
#wget https://tools.mindspore.cn/tools/run/ompi/ompi-3.1.5/uninstall_ompi.sh
#sh uninstall_ompi.sh
#rm -f uninstall_ompi.sh

# Uninstall nccl-2.4.8-1
#cd /tmp
#rm -f uninstall_nccl.sh
#wget https://tools.mindspore.cn/tools/run/nccl/nccl-2.4.8-1/uninstall_nccl.sh
#sh uninstall_nccl.sh
#rm -f uninstall_nccl.sh
#######################################################################


#######################################################################
# Set env
export CUDA_HOME=/usr/local/cuda-10.1
export CUDNN_PATH=${CUDA_HOME}
export PATH=${CUDA_HOME}/bin:$PATH
export LD_LIBRARY_PATH=${CUDA_HOME}/lib64:${CUDA_HOME}/extras/CUPTI/lib64:$LD_LIBRARY_PATH

# Install nccl
cd /tmp
rm -f install_nccl.sh
wget http://tools.mindspore.cn/tools/run/nccl/install_nccl.sh
sh install_nccl.sh
rm -f install_nccl.sh

# Install ompi
cd /tmp
rm -f install_ompi.sh
wget http://tools.mindspore.cn/tools/run/ompi/install_ompi.sh
sh install_ompi.sh
rm -f install_ompi.sh
#######################################################################


#######################################################################
# mount nfs
mkdir -pv /nfs
if [ -f /etc/rc.d/rc.local ]; then
    filename=/etc/rc.d/rc.local
    chmod 755 ${filename}
else
    filename=/etc/rc.local
fi
grep '8.92.9.30:/data/nfs' ${filename}
if [ $? -ne 0 ]; then
    echo "" >> ${filename}
    echo "# NFS" >> ${filename}
    echo "mount -t nfs -o vers=3,nolock 8.92.9.30:/data/nfs /nfs" >> ${filename}
fi
cat ${filename}
mount -t nfs -o vers=3,nolock 8.92.9.30:/data/nfs /nfs
#######################################################################


#######################################################################
# Copy dataset
cp -a /nfs/dataset/workspace /data/
chown -R root:root /data/workspace
chmod 755 -R /data/workspace
rm -rf /home/workspace
ln -s /data/workspace /home/workspace
ls -ld /home/workspace
#######################################################################
