google-research
50 строк · 1.6 Кб
1FROM nvidia/cuda:10.1-cudnn7-devel-ubuntu18.04
2
3# Install tools and dependencies.
4RUN apt-get -y update --fix-missing
5RUN apt-get install -y \
6emacs \
7git \
8wget \
9libgoogle-glog-dev
10
11# Install TensorFlow.
12RUN apt-get install -y python3-dev python3-pip
13RUN pip3 install --upgrade pip && pip install --upgrade tensorflow_gpu==2.3
14RUN pip install --upgrade tensor2tensor
15
16# Install CMake.
17RUN apt-get install -y software-properties-common && \
18apt-get update && \
19wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | gpg --dearmor - | tee /etc/apt/trusted.gpg.d/kitware.gpg >/dev/null && \
20apt-add-repository 'deb https://apt.kitware.com/ubuntu/ bionic main' && \
21apt-get update && apt-get install -y cmake
22
23# Install Sputnik.
24RUN mkdir /mount
25WORKDIR /mount
26RUN git clone --recursive https://github.com/google-research/sputnik.git && \
27mkdir sputnik/build
28WORKDIR /mount/sputnik/build
29RUN cmake .. -DCMAKE_BUILD_TYPE=Release -DBUILD_TEST=OFF -DBUILD_BENCHMARK=OFF \
30-DCUDA_ARCHS="60;70" -DCMAKE_INSTALL_PREFIX=/usr/local/sputnik && \
31make -j8 install
32
33# Copy the source into the image.
34RUN mkdir -p /mount/sgk
35COPY . /mount/sgk/
36
37# Install SGK.
38RUN mkdir /mount/sgk/build
39WORKDIR /mount/sgk/build
40RUN cmake .. -DCMAKE_BUILD_TYPE=Release -DCUDA_ARCHS="60;70" \
41-DCMAKE_INSTALL_PREFIX=/usr/local/sgk && \
42make -j8 install
43
44# Setup the environment.
45ENV PYTHONPATH="/mount:${PYTHONPATH}"
46ENV LD_LIBRARY_PATH="`python3 -c 'import tensorflow as tf; print(tf.sysconfig.get_lib())'`:${LD_LIBRARY_PATH}"
47ENV LD_LIBRARY_PATH="/usr/local/sputnik/lib:${LD_LIBRARY_PATH}"
48
49# Set the working directory.
50WORKDIR /mount/sgk
51