You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mxnet.apache.org by ma...@apache.org on 2019/05/02 14:58:27 UTC

[incubator-mxnet] branch master updated: Update base CUDA image for CI to v10.0 cuDNN 7.3.1 (#14513)

This is an automated email from the ASF dual-hosted git repository.

marcoabreu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-mxnet.git


The following commit(s) were added to refs/heads/master by this push:
     new 36c3306  Update base CUDA image for CI to v10.0 cuDNN 7.3.1 (#14513)
36c3306 is described below

commit 36c33067455aed773fe374e84a9a79511ec5567d
Author: perdasilva <pe...@gmail.com>
AuthorDate: Thu May 2 16:57:50 2019 +0200

    Update base CUDA image for CI to v10.0 cuDNN 7.3.1 (#14513)
    
    * Updates Ubuntu GPU CI image base image to cuda10-devel and manually installs cuDNN version 7.3.1.20
    
    * Updates CentOS 7 GPU CI image base image to cuda10-devel and manually installs cuDNN version 7.3.1.20
---
 ci/docker/Dockerfile.build.centos7_gpu                   |  6 +++++-
 ci/docker/Dockerfile.build.ubuntu_base_gpu               |  7 ++++++-
 ci/docker/Dockerfile.build.ubuntu_build_cuda             |  6 +++++-
 ci/docker/Dockerfile.build.ubuntu_gpu                    |  7 ++++++-
 ci/docker/Dockerfile.build.ubuntu_nightly_gpu            |  7 ++++++-
 ci/docker/install/{ubuntu_nvidia.sh => centos7_cudnn.sh} | 15 +++++++++++----
 ci/docker/install/{ubuntu_nvidia.sh => ubuntu_cudnn.sh}  | 12 ++++++++----
 ci/docker/install/ubuntu_nvidia.sh                       |  2 +-
 ci/docker/runtime_functions.sh                           |  4 ++--
 ci/jenkins/Jenkins_steps.groovy                          |  4 ++--
 10 files changed, 52 insertions(+), 18 deletions(-)

diff --git a/ci/docker/Dockerfile.build.centos7_gpu b/ci/docker/Dockerfile.build.centos7_gpu
index 8bf2442..cb3ae82 100644
--- a/ci/docker/Dockerfile.build.centos7_gpu
+++ b/ci/docker/Dockerfile.build.centos7_gpu
@@ -18,7 +18,9 @@
 #
 # Dockerfile to build and run MXNet on CentOS 7 for GPU
 
-FROM nvidia/cuda:9.1-cudnn7-devel-centos7
+FROM nvidia/cuda:10.0-devel-centos7
+
+ENV CUDNN_VERSION=7.3.1.20
 
 WORKDIR /work/deps
 
@@ -28,6 +30,8 @@ COPY install/centos7_ccache.sh /work/
 RUN /work/centos7_ccache.sh
 COPY install/centos7_python.sh /work/
 RUN /work/centos7_python.sh
+COPY install/centos7_cudnn.sh /work/
+RUN /work/centos7_cudnn.sh
 
 ARG USER_ID=0
 COPY install/centos7_adduser.sh /work/
diff --git a/ci/docker/Dockerfile.build.ubuntu_base_gpu b/ci/docker/Dockerfile.build.ubuntu_base_gpu
index 99b79f5..94e49b6 100644
--- a/ci/docker/Dockerfile.build.ubuntu_base_gpu
+++ b/ci/docker/Dockerfile.build.ubuntu_base_gpu
@@ -19,12 +19,17 @@
 # Dockerfile to run the MXNet Installation Tests on Ubuntu 16.04
 # This should run in an empty docker with ubuntu and cuda.
 
-FROM nvidia/cuda:9.1-cudnn7-devel
+FROM nvidia/cuda:10.0-devel-ubuntu16.04
+
+ENV CUDNN_VERSION=7.3.1.20
 
 WORKDIR /work/deps
 
 RUN apt-get update && apt-get -y install sudo
 
+COPY install/ubuntu_cudnn.sh /work/
+RUN /work/ubuntu_cudnn.sh
+
 ARG USER_ID=0
 ARG GROUP_ID=0
 COPY install/ubuntu_adduser.sh /work/
diff --git a/ci/docker/Dockerfile.build.ubuntu_build_cuda b/ci/docker/Dockerfile.build.ubuntu_build_cuda
index 9ed0cbb..08c67cd 100644
--- a/ci/docker/Dockerfile.build.ubuntu_build_cuda
+++ b/ci/docker/Dockerfile.build.ubuntu_build_cuda
@@ -21,7 +21,9 @@
 # package generation, requiring the actual CUDA library to be
 # present
 
-FROM nvidia/cuda:9.1-cudnn7-devel
+FROM nvidia/cuda:10.0-devel-ubuntu16.04
+
+ENV CUDNN_VERSION=7.3.1.20
 
 WORKDIR /work/deps
 
@@ -43,6 +45,8 @@ COPY install/ubuntu_clang.sh /work/
 RUN /work/ubuntu_clang.sh
 COPY install/ubuntu_mklml.sh /work/
 RUN /work/ubuntu_mklml.sh
+COPY install/ubuntu_cudnn.sh /work/
+RUN /work/ubuntu_cudnn.sh
 
 # Special case because the CPP-Package requires the CUDA runtime libs
 # and not only stubs (which are provided by the base image)
diff --git a/ci/docker/Dockerfile.build.ubuntu_gpu b/ci/docker/Dockerfile.build.ubuntu_gpu
index 8fcbcbb..63fd597 100644
--- a/ci/docker/Dockerfile.build.ubuntu_gpu
+++ b/ci/docker/Dockerfile.build.ubuntu_gpu
@@ -18,7 +18,9 @@
 #
 # Dockerfile to run MXNet on Ubuntu 16.04 for GPU
 
-FROM nvidia/cuda:9.1-cudnn7-devel
+FROM nvidia/cuda:10.0-devel-ubuntu16.04
+
+ENV CUDNN_VERSION=7.3.1.20
 
 WORKDIR /work/deps
 
@@ -72,6 +74,9 @@ ARG GROUP_ID=0
 COPY install/ubuntu_adduser.sh /work/
 RUN /work/ubuntu_adduser.sh
 
+COPY install/ubuntu_cudnn.sh /work/
+RUN /work/ubuntu_cudnn.sh
+
 COPY runtime_functions.sh /work/
 
 WORKDIR /work/mxnet
diff --git a/ci/docker/Dockerfile.build.ubuntu_nightly_gpu b/ci/docker/Dockerfile.build.ubuntu_nightly_gpu
index deeed8b..934aded 100644
--- a/ci/docker/Dockerfile.build.ubuntu_nightly_gpu
+++ b/ci/docker/Dockerfile.build.ubuntu_nightly_gpu
@@ -18,7 +18,9 @@
 #
 # Dockerfile to run MXNet on Ubuntu 16.04 for CPU
 
-FROM nvidia/cuda:9.1-cudnn7-devel
+FROM nvidia/cuda:10.0-devel-ubuntu16.04
+
+ENV CUDNN_VERSION=7.3.1.20
 
 WORKDIR /work/deps
 
@@ -70,6 +72,9 @@ RUN /work/ubuntu_tutorials.sh
 COPY install/ubuntu_nightly_tests.sh /work/
 RUN /work/ubuntu_nightly_tests.sh
 
+COPY install/ubuntu_cudnn.sh /work/
+RUN /work/ubuntu_cudnn.sh
+
 ARG USER_ID=0
 ARG GROUP_ID=0
 COPY install/ubuntu_adduser.sh /work/
diff --git a/ci/docker/install/ubuntu_nvidia.sh b/ci/docker/install/centos7_cudnn.sh
similarity index 59%
copy from ci/docker/install/ubuntu_nvidia.sh
copy to ci/docker/install/centos7_cudnn.sh
index 7012b89..43ff89b 100755
--- a/ci/docker/install/ubuntu_nvidia.sh
+++ b/ci/docker/install/centos7_cudnn.sh
@@ -17,9 +17,16 @@
 # specific language governing permissions and limitations
 # under the License.
 
+# build and install are separated so changes to build don't invalidate
+# the whole docker cache for the image
+
 set -ex
 
-# Retrieve ppa:graphics-drivers and install nvidia-drivers.
-# Note: DEBIAN_FRONTEND required to skip the interactive setup steps
-apt update
-DEBIAN_FRONTEND=noninteractive apt install -y --no-install-recommends cuda-9-1
+# Multipackage installation does not fail in yum
+CUDNN_DOWNLOAD_SUM=4e15a323f2edffa928b4574f696fc0e449a32e6bc35c9ccb03a47af26c2de3fa
+curl -fsSL http://developer.download.nvidia.com/compute/redist/cudnn/v7.3.1/cudnn-10.0-linux-x64-v7.3.1.20.tgz -O
+echo "$CUDNN_DOWNLOAD_SUM cudnn-10.0-linux-x64-v7.3.1.20.tgz" | sha256sum -c -
+tar --no-same-owner -xzf cudnn-10.0-linux-x64-v7.3.1.20.tgz -C /usr/local
+rm cudnn-10.0-linux-x64-v7.3.1.20.tgz
+ldconfig
+
diff --git a/ci/docker/install/ubuntu_nvidia.sh b/ci/docker/install/ubuntu_cudnn.sh
similarity index 75%
copy from ci/docker/install/ubuntu_nvidia.sh
copy to ci/docker/install/ubuntu_cudnn.sh
index 7012b89..12b6486 100755
--- a/ci/docker/install/ubuntu_nvidia.sh
+++ b/ci/docker/install/ubuntu_cudnn.sh
@@ -17,9 +17,13 @@
 # specific language governing permissions and limitations
 # under the License.
 
+# build and install are separated so changes to build don't invalidate
+# the whole docker cache for the image
+
+# Assumes base image is from nvidia/cuda
+
 set -ex
 
-# Retrieve ppa:graphics-drivers and install nvidia-drivers.
-# Note: DEBIAN_FRONTEND required to skip the interactive setup steps
-apt update
-DEBIAN_FRONTEND=noninteractive apt install -y --no-install-recommends cuda-9-1
+apt-get update || true
+apt-get install -y libcudnn7=7.3.1.20-1+cuda10.0 libcudnn7-dev=7.3.1.20-1+cuda10.0
+
diff --git a/ci/docker/install/ubuntu_nvidia.sh b/ci/docker/install/ubuntu_nvidia.sh
index 7012b89..36eb21b 100755
--- a/ci/docker/install/ubuntu_nvidia.sh
+++ b/ci/docker/install/ubuntu_nvidia.sh
@@ -22,4 +22,4 @@ set -ex
 # Retrieve ppa:graphics-drivers and install nvidia-drivers.
 # Note: DEBIAN_FRONTEND required to skip the interactive setup steps
 apt update
-DEBIAN_FRONTEND=noninteractive apt install -y --no-install-recommends cuda-9-1
+DEBIAN_FRONTEND=noninteractive apt install -y --no-install-recommends cuda-10-0
diff --git a/ci/docker/runtime_functions.sh b/ci/docker/runtime_functions.sh
index c3610d2..091ffdf 100755
--- a/ci/docker/runtime_functions.sh
+++ b/ci/docker/runtime_functions.sh
@@ -565,7 +565,7 @@ build_ubuntu_cpu_mkldnn_mkl() {
 }
 
 build_ubuntu_gpu() {
-    build_ubuntu_gpu_cuda91_cudnn7
+    build_ubuntu_gpu_cuda100_cudnn7
 }
 
 build_ubuntu_gpu_tensorrt() {
@@ -665,7 +665,7 @@ build_ubuntu_gpu_mkldnn_nocudnn() {
         -j$(nproc)
 }
 
-build_ubuntu_gpu_cuda91_cudnn7() {
+build_ubuntu_gpu_cuda100_cudnn7() {
     set -ex
     # unfortunately this build has problems in 3rdparty dependencies with ccache and make
     # build_ccache_wrappers
diff --git a/ci/jenkins/Jenkins_steps.groovy b/ci/jenkins/Jenkins_steps.groovy
index 12c1a0a..1352e92 100644
--- a/ci/jenkins/Jenkins_steps.groovy
+++ b/ci/jenkins/Jenkins_steps.groovy
@@ -218,12 +218,12 @@ def compile_unix_mkldnn_nocudnn_gpu() {
 }
 
 def compile_unix_full_gpu() {
-    return ['GPU: CUDA9.1+cuDNN7': {
+    return ['GPU: CUDA10.0+cuDNN7': {
       node(NODE_LINUX_CPU) {
         ws('workspace/build-gpu') {
           timeout(time: max_time, unit: 'MINUTES') {
             utils.init_git()
-            utils.docker_run('ubuntu_build_cuda', 'build_ubuntu_gpu_cuda91_cudnn7', false)
+            utils.docker_run('ubuntu_build_cuda', 'build_ubuntu_gpu_cuda100_cudnn7', false)
             utils.pack_lib('gpu', mx_lib_cpp_examples, true)
           }
         }