1
1
ARG BASE_TAG=staging
2
- FROM nvidia/cuda:10.2-cudnn7 -devel-ubuntu18.04 AS nvidia
2
+ FROM nvidia/cuda:11.4.2-cudnn8 -devel-ubuntu18.04 AS nvidia
3
3
FROM gcr.io/kaggle-images/rstats:${BASE_TAG}
4
4
ARG ncpus=1
5
5
6
6
ADD clean-layer.sh /tmp/clean-layer.sh
7
7
8
8
# Cuda support
9
9
COPY --from=nvidia /etc/apt/sources.list.d/cuda.list /etc/apt/sources.list.d/
10
- COPY --from=nvidia /etc/apt/sources.list.d/nvidia-ml.list /etc/apt/sources.list.d/
11
10
COPY --from=nvidia /etc/apt/trusted.gpg /etc/apt/trusted.gpg.d/cuda.gpg
12
11
13
- ENV CUDA_MAJOR_VERSION=10
14
- ENV CUDA_MINOR_VERSION=2
15
- ENV CUDA_PATCH_VERSION=89
12
+ ENV CUDA_MAJOR_VERSION=11
13
+ ENV CUDA_MINOR_VERSION=4
14
+ ENV CUDA_PATCH_VERSION=2
16
15
ENV CUDA_VERSION=$CUDA_MAJOR_VERSION.$CUDA_MINOR_VERSION.$CUDA_PATCH_VERSION
17
- ENV CUDA_PKG_VERSION=$CUDA_MAJOR_VERSION-$CUDA_MINOR_VERSION=$CUDA_VERSION-1
18
- ENV CUDNN_VERSION=7.6.5.32
19
- ENV CUBLAS_VERSION=10.2.2.89
16
+ ENV CUDA_PKG_VERSION=$CUDA_MAJOR_VERSION-$CUDA_MINOR_VERSION
17
+ ENV CUDNN_VERSION=8.2.4.15
20
18
LABEL com.nvidia.volumes.needed="nvidia_driver"
21
19
LABEL com.nvidia.cuda.version="${CUDA_VERSION}"
22
20
LABEL com.nvidia.cudnn.version="${CUDNN_VERSION}"
@@ -39,17 +37,12 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
39
37
cuda-nvml-dev-$CUDA_PKG_VERSION \
40
38
cuda-minimal-build-$CUDA_PKG_VERSION \
41
39
cuda-command-line-tools-$CUDA_PKG_VERSION \
42
- libcudnn7=$CUDNN_VERSION-1+cuda$CUDA_MAJOR_VERSION.$CUDA_MINOR_VERSION \
43
- libcudnn7-dev=$CUDNN_VERSION-1+cuda$CUDA_MAJOR_VERSION.$CUDA_MINOR_VERSION \
44
- libcublas10=$CUBLAS_VERSION-1 \
45
- libcublas-dev=$CUBLAS_VERSION-1 \
46
- libnccl2=2.5.6-1+cuda$CUDA_MAJOR_VERSION.$CUDA_MINOR_VERSION \
47
- libnccl-dev=2.5.6-1+cuda$CUDA_MAJOR_VERSION.$CUDA_MINOR_VERSION && \
48
- ln -s /usr/local/cuda-$CUDA_MAJOR_VERSION.$CUDA_MINOR_VERSION /usr/local/cuda && \
49
- ln -s /usr/local/cuda/lib64/stubs/libcuda.so /usr/local/cuda/lib64/stubs/libcuda.so.1 && \
50
- # TODO: remove this hack when we move past tensorflow 2.3
51
- # https://github.com/tensorflow/tensorflow/issues/38578#issuecomment-760175854
52
- ln -sf /usr/local/cuda/lib64/libcudart.so.10.2 /usr/local/cuda/lib64/libcudart.so.10.1 && \
40
+ libcudnn8=$CUDNN_VERSION-1+cuda$CUDA_MAJOR_VERSION.$CUDA_MINOR_VERSION \
41
+ libcudnn8-dev=$CUDNN_VERSION-1+cuda$CUDA_MAJOR_VERSION.$CUDA_MINOR_VERSION \
42
+ libcublas-$CUDA_PKG_VERSION \
43
+ libcublas-dev-$CUDA_PKG_VERSION \
44
+ libnccl2=2.11.4-1+cuda$CUDA_MAJOR_VERSION.$CUDA_MINOR_VERSION \
45
+ libnccl-dev=2.11.4-1+cuda$CUDA_MAJOR_VERSION.$CUDA_MINOR_VERSION && \
53
46
/tmp/clean-layer.sh
54
47
55
48
ENV CUDA_HOME=/usr/local/cuda
@@ -62,7 +55,7 @@ ENV CUDA_HOME=/usr/local/cuda
62
55
ADD ldpaths $R_HOME/etc/ldpaths
63
56
64
57
# Install tensorflow with GPU support
65
- RUN R -e 'keras::install_keras(tensorflow = "2.3 -gpu")' && \
58
+ RUN R -e 'keras::install_keras(tensorflow = "2.6 -gpu")' && \
66
59
rm -rf /tmp/tensorflow_gpu && \
67
60
/tmp/clean-layer.sh
68
61
@@ -77,8 +70,9 @@ RUN CPATH=/usr/local/cuda/targets/x86_64-linux/include install2.r --error --ncpu
77
70
78
71
# Torch: install the full package upfront otherwise it will be installed on loading the package which doesn't work for kernels
79
72
# without internet (competitions for example). It will detect CUDA and install the proper version.
80
- # TODO(b/224540778) Unpin Torch.
81
- RUN R -e 'library(devtools); install_version("torch", version = "0.6.0", ask=FALSE)'
82
- RUN R -e 'library(torch); install_torch(reinstall = TRUE)'
73
+ # Make Torch think we use CUDA 11.3 (https://github.com/mlverse/torch/issues/807)
74
+ ENV CUDA=11.3
75
+ RUN R -e 'install.packages("torch")'
76
+ RUN R -e 'library(torch); install_torch()'
83
77
84
78
CMD ["R" ]
0 commit comments