-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDockerfile-cuda8
executable file
·86 lines (60 loc) · 2.86 KB
/
Dockerfile-cuda8
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
FROM mjmg/centos-mro-rstudio-opencpu-shiny-server-cuda
#ENV MXNET_VERSION 0.11.0
ENV MXNET_VERSION 1.0.0
WORKDIR /tmp
# Setup NVIDIA CUDNN 7 devel
# From https://gitlab.com/nvidia/cuda/blob/centos7/8.0/devel/cudnn7/Dockerfile
#ENV CUDNN_VERSION 7.0.4.31
#LABEL com.nvidia.cudnn.version="${CUDNN_VERSION}"
## cuDNN license: https://developer.nvidia.com/cudnn/license_agreement
#RUN CUDNN_DOWNLOAD_SUM=c9d6e482063407edaa799c944279e5a1a3a27fd75534982076e62b1bebb4af48 && \
# curl -fsSL http://developer.download.nvidia.com/compute/redist/cudnn/v7.0.4/cudnn-8.0-linux-x64-v7.tgz -O && \
# echo "$CUDNN_DOWNLOAD_SUM cudnn-8.0-linux-x64-v7.tgz" | sha256sum -c - && \
# tar --no-same-owner -xzf cudnn-8.0-linux-x64-v7.tgz -C /usr/local && \
# rm cudnn-8.0-linux-x64-v7.tgz && \
# ldconfig
ENV CUDNN_VERSION 7.1.1.5
LABEL com.nvidia.cudnn.version="${CUDNN_VERSION}"
# cuDNN license: https://developer.nvidia.com/cudnn/license_agreement
RUN CUDNN_DOWNLOAD_SUM=4a9d59ecee53e830f24e90d689dbab1aa9f69efced823f33046040901c4151e1 && \
curl -fsSL http://developer.download.nvidia.com/compute/redist/cudnn/v7.1.1/cudnn-8.0-linux-x64-v7.1.tgz -O && \
echo "$CUDNN_DOWNLOAD_SUM cudnn-8.0-linux-x64-v7.1.tgz" | sha256sum -c - && \
tar --no-same-owner -xzf cudnn-8.0-linux-x64-v7.1.tgz -C /usr/local && \
rm cudnn-8.0-linux-x64-v7.1.tgz && \
ldconfig
RUN \
yum install -y cairo-devel libXt-devel opencv-devel gperftools-devel
WORKDIR /tmp
RUN \
git clone --recursive https://github.com/apache/incubator-mxnet.git mxnet --branch $MXNET_VERSION
RUN \
env
WORKDIR /tmp/mxnet
#ENV MKLROOT /opt/microsoft/ropen/$MRO_VERSION/lib64/R/lib/
RUN \
# make -j$(nproc --ignore=1) USE_OPENCV=1 USE_BLAS=mkl USE_MKL2017=1 USE_MKL2017_EXPERIMENTAL=1 USE_CUDA=1 USE_CUDA_PATH=$CUDA_HOME USE_CUDNN=1
export LDFLAGS="-lmkl_gf_lp64 -lmkl_gf_ilp64" && \
make -j$(nproc --ignore=1) USE_OPENCV=1 USE_BLAS=mkl USE_LAPACK=1 USE_MKLML=1 USE_MKL2017=1 USE_MKL2017_EXPERIMENTAL=1 USE_CUDA=1 USE_CUDA_PATH=$CUDA_HOME USE_CUDNN=1 USE_GPERFTOOLS=1
# make -j$(nproc --ignore=1) USE_OPENCV=1 USE_BLAS= USE_MKL2017=1 USE_MKL2017_EXPERIMENTAL=1 USE_CUDA=1 USE_CUDA_PATH=$CUDA_HOME USE_CUDNN=1 USE_GPERFTOOLS=1
RUN \
echo "/usr/local/lib" >> /etc/ld.so.conf.d/local-lib.conf && \
ldconfig
WORKDIR /tmp/mxnet
RUN \
ln -s /usr/local/cuda/lib64/stubs/libcuda.so /usr/local/cuda/lib64/stubs/libcuda.so.1 && \
ldconfig
RUN \
LD_LIBRARY_PATH=/usr/local/cuda/lib64/stubs/:$LD_LIBRARY_PATH make USE_GPERFTOOLS=1 rpkg
#RUN \
# R CMD INSTALL mxnet_current_r.tar.gz --no-test-load
WORKDIR /tmp
ADD \
test-mxnet.R /tmp/test-mxnet.R
# Test MXnet on docker host using CPU and with supported GPU
#RUN \
# Rscript -e "source('test-mxnet.R')"
RUN \
rm /usr/local/cuda/lib64/stubs/libcuda.so.1 && \
ldconfig
# Define default command.
CMD ["/usr/bin/supervisord","-c","/etc/supervisor/supervisord.conf"]