• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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