1FROM nvidia/cuda:11.6.2-cudnn8-devel-ubuntu18.04 2 3MAINTAINER MindSpore Authors 4 5# Set env 6ENV PYTHON_ROOT_PATH /usr/local/python-3.7.5 7ENV OMPI_ROOT_PATH /usr/local/openmpi-4.0.3 8ENV CUDA_PATH /usr/local/cuda 9ENV PATH ${PYTHON_ROOT_PATH}/bin:${OMPI_ROOT_PATH}/bin:${CUDA_PATH}/bin:/usr/local/bin:$PATH 10ENV LD_LIBRARY_PATH ${OMPI_ROOT_PATH}/lib:${CUDA_PATH}/lib64:$LD_LIBRARY_PATH 11 12# install basic tools 13RUN DEBIAN_FRONTEND=noninteractive apt-get update && \ 14 DEBIAN_FRONTEND=noninteractive apt install -y \ 15 vim \ 16 wget \ 17 curl \ 18 xz-utils \ 19 net-tools \ 20 openssh-client \ 21 git \ 22 ntpdate \ 23 tzdata \ 24 tcl \ 25 sudo \ 26 bash-completion 27 28# Install compile tools 29RUN DEBIAN_FRONTEND=noninteractive apt install -y \ 30 gcc \ 31 g++ \ 32 zlibc \ 33 make \ 34 libgmp-dev \ 35 patch \ 36 autoconf \ 37 libtool \ 38 automake \ 39 flex \ 40 libjpeg8-dev 41 42# Install the rest dependent tools 43RUN DEBIAN_FRONTEND=noninteractive apt install -y \ 44 libnuma-dev 45 46# Set bash 47RUN echo "dash dash/sh boolean false" | debconf-set-selections 48RUN DEBIAN_FRONTEND=noninteractive dpkg-reconfigure dash 49 50# Install python (v3.7.5) 51RUN apt install -y libffi-dev libssl-dev zlib1g-dev libbz2-dev libncurses5-dev \ 52 libgdbm-dev libgdbm-compat-dev liblzma-dev libreadline-dev libsqlite3-dev \ 53 && rm -rf /var/lib/apt/lists/* \ 54 && cd /tmp \ 55 && wget https://github.com/python/cpython/archive/v3.7.5.tar.gz \ 56 && tar -xvf v3.7.5.tar.gz \ 57 && cd /tmp/cpython-3.7.5 \ 58 && mkdir -p ${PYTHON_ROOT_PATH} \ 59 && ./configure --prefix=${PYTHON_ROOT_PATH} --enable-shared \ 60 && make -j4 \ 61 && make install -j4 \ 62 && rm -f /usr/local/bin/python \ 63 && rm -f /usr/local/bin/pip \ 64 && rm -f /usr/local/lib/libpython3.7m.so.1.0 \ 65 && ln -s ${PYTHON_ROOT_PATH}/bin/python3.7 /usr/local/bin/python \ 66 && ln -s ${PYTHON_ROOT_PATH}/bin/pip3.7 /usr/local/bin/pip \ 67 && ln -s ${PYTHON_ROOT_PATH}/lib/libpython3.7m.so.1.0 /usr/local/lib/libpython3.7m.so.1.0 \ 68 && ldconfig \ 69 && rm -rf /tmp/cpython-3.7.5 \ 70 && rm -f /tmp/v3.7.5.tar.gz 71 72# Set pip source 73RUN mkdir -pv /root/.pip \ 74 && echo "[global]" > /root/.pip/pip.conf \ 75 && echo "trusted-host=mirrors.aliyun.com" >> /root/.pip/pip.conf \ 76 && echo "index-url=http://mirrors.aliyun.com/pypi/simple/" >> /root/.pip/pip.conf \ 77 && pip install --upgrade pip \ 78 && pip cache purge 79 80# Install openmpi (v4.0.3) 81RUN cd /tmp \ 82 && wget https://download.open-mpi.org/release/open-mpi/v4.0/openmpi-4.0.3.tar.gz \ 83 && tar -xvf openmpi-4.0.3.tar.gz \ 84 && cd /tmp/openmpi-4.0.3 \ 85 && mkdir -p ${OMPI_ROOT_PATH} \ 86 && ./configure --prefix=${OMPI_ROOT_PATH} \ 87 && make -j4 \ 88 && make install -j4 \ 89 && rm -rf /tmp/openmpi-4.0.3 \ 90 && rm -f /tmp/openmpi-4.0.3.tar.gz 91 92# Install frequently used python packages 93RUN pip install --no-cache-dir decorator pandas sklearn pyyaml 94