@@ -33,18 +33,19 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
3333 pkg-config \
3434 libsox-dev
3535
36-
36+ # Install NCCL 2.2
37+ RUN apt-get install -qq -y --allow-downgrades --allow-change-held-packages libnccl2=2.2.13-1+cuda9.0 libnccl-dev=2.2.13-1+cuda9.0
3738
3839
3940# Install Bazel
4041RUN apt-get install -y openjdk-8-jdk
4142# Use bazel 0.11.1 cause newer bazel fails to compile TensorFlow (https://github.com/tensorflow/tensorflow/issues/18450#issuecomment-381380000)
4243RUN apt-get install -y --no-install-recommends bash-completion g++ zlib1g-dev
43- RUN curl -LO "https://github.com/bazelbuild/bazel/releases/download/0.11.1 /bazel_0.11.1 -linux-x86_64.deb"
44+ RUN curl -LO "https://github.com/bazelbuild/bazel/releases/download/0.15.2 /bazel_0.15.2 -linux-x86_64.deb"
4445RUN dpkg -i bazel_*.deb
4546
4647# Install CUDA CLI Tools
47- RUN apt-get install -y cuda-command-line-tools-9-0
48+ RUN apt-get install -qq - y cuda-command-line-tools-9-0
4849
4950# Install pip
5051RUN wget https://bootstrap.pypa.io/get-pip.py && \
@@ -61,7 +62,7 @@ RUN wget https://bootstrap.pypa.io/get-pip.py && \
6162# Clone TensoFlow from Mozilla repo
6263RUN git clone https://github.com/mozilla/tensorflow/
6364WORKDIR /tensorflow
64- RUN git checkout r1.6
65+ RUN git checkout r1.11
6566
6667
6768# GPU Environment Setup
@@ -70,9 +71,11 @@ ENV CUDA_TOOLKIT_PATH /usr/local/cuda
7071ENV CUDA_PKG_VERSION 9-0=9.0.176-1
7172ENV CUDA_VERSION 9.0.176
7273ENV TF_CUDA_VERSION 9.0
73- ENV TF_CUDNN_VERSION 7.2.1
74+ ENV TF_CUDNN_VERSION 7.3.0
7475ENV CUDNN_INSTALL_PATH /usr/lib/x86_64-linux-gnu/
7576ENV TF_CUDA_COMPUTE_CAPABILITIES 6.0
77+ ENV TF_NCCL_VERSION 2.2.13
78+ # ENV NCCL_INSTALL_PATH /usr/lib/x86_64-linux-gnu/
7679
7780# Common Environment Setup
7881ENV TF_BUILD_CONTAINER_TYPE GPU
@@ -92,6 +95,14 @@ ENV TF_NEED_OPENCL 0
9295ENV TF_CUDA_CLANG 0
9396ENV TF_NEED_MKL 0
9497ENV TF_ENABLE_XLA 0
98+ ENV TF_NEED_AWS 0
99+ ENV TF_NEED_KAFKA 0
100+ ENV TF_NEED_NGRAPH 0
101+ ENV TF_DOWNLOAD_CLANG 0
102+ ENV TF_NEED_TENSORRT 0
103+ ENV TF_NEED_GDR 0
104+ ENV TF_NEED_VERBS 0
105+ ENV TF_NEED_OPENCL_SYCL 0
95106ENV PYTHON_BIN_PATH /usr/bin/python2.7
96107ENV PYTHON_LIB_PATH /usr/lib/python2.7/dist-packages
97108
@@ -112,8 +123,12 @@ RUN echo "build --spawn_strategy=standalone --genrule_strategy=standalone" \
112123 >>/etc/bazel.bazelrc
113124
114125# Put cuda libraries to where they are expected to be
115- RUN ln -s /usr/local/cuda/lib64/stubs/libcuda.so /usr/local/cuda/lib64/stubs/libcuda.so.1
116- RUN cp /usr/include/cudnn.h /usr/local/cuda/include/cudnn.h
126+ RUN mkdir /usr/local/cuda/lib && \
127+ ln -s /usr/lib/x86_64-linux-gnu/libnccl.so.2 /usr/local/cuda/lib/libnccl.so.2 && \
128+ ln -s /usr/include/nccl.h /usr/local/cuda/include/nccl.h && \
129+ ln -s /usr/local/cuda/lib64/stubs/libcuda.so /usr/local/cuda/lib64/stubs/libcuda.so.1 && \
130+ ln -s /usr/include/cudnn.h /usr/local/cuda/include/cudnn.h
131+
117132
118133# Set library paths
119134ENV LD_LIBRARY_PATH $LD_LIBRARY_PATH:/usr/local/cuda/extras/CUPTI/lib64:/usr/local/cuda/lib64:/usr/lib/x86_64-linux-gnu/:/usr/local/cuda/lib64/stubs/
@@ -140,6 +155,9 @@ RUN ln -s /DeepSpeech/native_client /tensorflow
140155
141156WORKDIR /tensorflow
142157
158+ # Fix for not found script https://github.com/tensorflow/tensorflow/issues/471
159+ RUN ./configure
160+
143161# Using CPU optimizations:
144162# -mtune=generic -march=x86-64 -msse -msse2 -msse3 -msse4.1 -msse4.2 -mavx.
145163# Adding --config=cuda flag to build using CUDA.
@@ -153,24 +171,27 @@ RUN bazel build -c opt --copt=-O3 --copt="-D_GLIBCXX_USE_CXX11_ABI=0" --copt=-mt
153171# Build DeepSpeech
154172RUN bazel build --config=monolithic --config=cuda -c opt --copt=-O3 --copt="-D_GLIBCXX_USE_CXX11_ABI=0" --copt=-mtune=generic --copt=-march=x86-64 --copt=-msse --copt=-msse2 --copt=-msse3 --copt=-msse4.1 --copt=-msse4.2 --copt=-mavx --copt=-fvisibility=hidden //native_client:libdeepspeech.so //native_client:generate_trie --verbose_failures --action_env=LD_LIBRARY_PATH=${LD_LIBRARY_PATH}
155173
156-
157- # Build TF pip package
158- RUN bazel build --config=opt --config=cuda --copt="-D_GLIBCXX_USE_CXX11_ABI=0" --copt=-mtune=generic --copt=-march=x86-64 --copt=-msse --copt=-msse2 --copt=-msse3 --copt=-msse4.1 --copt=-msse4.2 --copt=-mavx //tensorflow/tools/pip_package:build_pip_package --verbose_failures --action_env=LD_LIBRARY_PATH=${LD_LIBRARY_PATH}
159-
160- # Fix for not found script https://github.com/tensorflow/tensorflow/issues/471
161- RUN ./configure
162-
163- # Build wheel
164- RUN bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg
165-
166- # Install tensorflow from our custom wheel
167- RUN pip install /tmp/tensorflow_pkg/*.whl
174+ # ##
175+ # ## Using TensorFlow upstream should work
176+ # ##
177+ # # Build TF pip package
178+ # RUN bazel build --config=opt --config=cuda --copt="-D_GLIBCXX_USE_CXX11_ABI=0" --copt=-mtune=generic --copt=-march=x86-64 --copt=-msse --copt=-msse2 --copt=-msse3 --copt=-msse4.1 --copt=-msse4.2 --copt=-mavx //tensorflow/tools/pip_package:build_pip_package --verbose_failures --action_env=LD_LIBRARY_PATH=${LD_LIBRARY_PATH}
179+ #
180+ # # Build wheel
181+ # RUN bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg
182+ #
183+ # # Install tensorflow from our custom wheel
184+ # RUN pip install /tmp/tensorflow_pkg/*.whl
168185
169186# Copy built libs to /DeepSpeech/native_client
170187RUN cp /tensorflow/bazel-bin/native_client/libctc_decoder_with_kenlm.so /DeepSpeech/native_client/ \
171188 && cp /tensorflow/bazel-bin/native_client/generate_trie /DeepSpeech/native_client/ \
172189 && cp /tensorflow/bazel-bin/native_client/libdeepspeech.so /DeepSpeech/native_client/
173-
190+
191+ # Install TensorFlow
192+ WORKDIR /DeepSpeech/
193+ RUN pip install tensorflow-gpu==1.11.0rc2
194+
174195
175196# Make DeepSpeech and install Python bindings
176197ENV TFDIR /tensorflow
@@ -197,6 +218,5 @@ RUN rm -rf kenlm \
197218 && cmake .. \
198219 && make -j 4
199220
200-
201221# Done
202- WORKDIR /DeepSpeech
222+ WORKDIR /DeepSpeech
0 commit comments