This is an automated email from the ASF dual-hosted git repository.
jevans pushed a commit to branch v1.9.x
in repository https://gitbox.apache.org/repos/asf/incubator-mxnet.git
The following commit(s) were added to refs/heads/v1.9.x by this push:
new 67abb85131 [v1.9.x] Refactor dockerfiles in CI, migrate some ubuntu
docker containers to use docker-compose. Update CI to use Cuda 11.7 (#21126)
67abb85131 is described below
commit 67abb851316349aaa035a7a97220476e98c9b8b4
Author: Joe Evans <[email protected]>
AuthorDate: Mon Aug 22 13:58:58 2022 -0700
[v1.9.x] Refactor dockerfiles in CI, migrate some ubuntu docker containers
to use docker-compose. Update CI to use Cuda 11.7 (#21126)
* Remove deprecated dockerfiles.
* Update documentation to use different image.
* Install Scala in centos7 CD container and build tools.
* Update static scala build to use CD container, change julia container.
* Removed deprecated Jenkins pipeline files, remove old disabled build
steps.
* Add new base Dockerfile for docker-compose.
* Migrate ubuntu cuda containers to docker-compose.
* Build python from source on ubuntu for portability.
* Remove old dockerfiles, upgrade nightly gpu image to cuda 11.7.
* Remove Cuda versions from runtime function names to simplify.
* Update Jenkins pipelines to use newer Cuda containers.
* Install LLVM before TVM.
* Fix ubuntu TVM install script (was failing but returning true.)
* Move cmake install into unified script.
* Move cmake install for ubuntu into centralized script.
* Update cudnn version passed to builds.
* Consolidate installation of packages for efficiency.
* Remove unused containers from docker-compose config.
* Fix pylint.
* Set LD_LIBRARY_PATH on ubuntu_gpu images to find libcuda.so.
* Set CUB_IGNORE_DEPRECATED_CPP_DIALECT to prevent build failures with
gcc-4.8 + Cuda 11.7.
* Install sqlite headers/library before building python on ubuntu.
* Revert "Remove unused containers from docker-compose config."
This reverts commit 5de82dfe8f092f589fe18c010ac42b07faf21985.
* Revert "Set CUB_IGNORE_DEPRECATED_CPP_DIALECT to prevent build failures
with gcc-4.8 + Cuda 11.7."
This reverts commit e6496607c0673965c2153ae7167e1785eac26bfb.
* Allow building CUB with c++11 to prevent failures on newer cuda versions.
* Set variable only on gpu make builds.
* Use docker-compose to also build ubuntu_cpu image.
* We no longer need to enable python3.8 on aarch64 since we are building
from source now.
* Add Cuda 11.1 and 11.3 centos7 images which is used by CD testing phase.
* Don't install python-opencv, we are installing the module via pip instead.
* Change Makefile to set CUB_IGNORE_DEPRECATED_CPP_DIALECT when using Cuda,
not only for < 11.0.
* Don't pin down h5py (old versions do not work on aarch64.)
* Conditionally install different versions of h5py dependending on
architecture.
* Fix value for platform_machine.
* Don't install h5py on aarch64 at all.
* Set USE_LAPATH_PATH to correct path on ubuntu 18.04.
* Rearrange dockerfiles to build more efficiently when small changes occur.
Split python install into 2 steps: building python and install requirements.
* Since we are not using multi-stage builds, do not specify target to
ensure docker cache works as expected.
* When building docker-compose based containers, pull the latest version
for caching before building.
* When pulling docker-compose images, pass quiet option to squell CI logs.
* When pulling docker-compose images, pass quiet option to squell CI logs.
* Clean up docker cache build code.
---
Makefile | 3 +-
ci/build.py | 18 ++--
ci/dev_menu.py | 2 +-
ci/docker/Dockerfile.build.centos7 | 15 ++-
ci/docker/Dockerfile.build.centos7_aarch64_cpu | 11 +-
ci/docker/Dockerfile.build.centos7_cd | 24 +++--
ci/docker/Dockerfile.build.ubuntu_base_cpu | 40 -------
ci/docker/Dockerfile.build.ubuntu_base_gpu | 43 --------
ci/docker/Dockerfile.build.ubuntu_build_cuda | 60 -----------
ci/docker/Dockerfile.build.ubuntu_build_cuda110 | 48 ---------
ci/docker/Dockerfile.build.ubuntu_cpu | 12 ++-
ci/docker/Dockerfile.build.ubuntu_cpu_c | 5 +-
ci/docker/Dockerfile.build.ubuntu_cpu_julia | 77 --------------
ci/docker/Dockerfile.build.ubuntu_cpu_lite | 5 +-
ci/docker/Dockerfile.build.ubuntu_cpu_python | 8 +-
ci/docker/Dockerfile.build.ubuntu_cpu_r | 3 +
ci/docker/Dockerfile.build.ubuntu_cpu_scala | 14 ++-
...buntu_gpu_cu102 => Dockerfile.build.ubuntu_gpu} | 25 +++--
ci/docker/Dockerfile.build.ubuntu_gpu_cu100 | 75 -------------
ci/docker/Dockerfile.build.ubuntu_gpu_cu101 | 75 -------------
ci/docker/Dockerfile.build.ubuntu_gpu_cu110 | 43 --------
ci/docker/Dockerfile.build.ubuntu_gpu_cu112 | 43 --------
ci/docker/Dockerfile.build.ubuntu_gpu_tensorrt | 9 +-
ci/docker/Dockerfile.build.ubuntu_nightly_cpu | 12 ++-
ci/docker/Dockerfile.build.ubuntu_nightly_gpu | 25 +++--
ci/docker/Dockerfile.publish.test.centos7_cpu | 38 -------
ci/docker/Dockerfile.publish.test.centos7_gpu | 38 -------
ci/docker/Dockerfile.publish.test.ubuntu1404_cpu | 39 -------
ci/docker/Dockerfile.publish.test.ubuntu1404_gpu | 40 -------
ci/docker/Dockerfile.publish.test.ubuntu1604_cpu | 39 -------
ci/docker/Dockerfile.publish.test.ubuntu1604_gpu | 39 -------
ci/docker/Dockerfile.publish.test.ubuntu1804_cpu | 41 --------
ci/docker/Dockerfile.publish.test.ubuntu1804_gpu | 41 --------
ci/docker/Dockerfile.publish.ubuntu1404_cpu | 39 -------
ci/docker/Dockerfile.publish.ubuntu1404_gpu | 39 -------
ci/docker/Dockerfile.publish.ubuntu1604_cpu | 44 --------
ci/docker/Dockerfile.publish.ubuntu1604_gpu | 44 --------
ci/docker/docker-compose.yml | 117 +++++++++++++++++++--
ci/docker/install/centos7_base.sh | 8 +-
ci/docker/install/centos7_core.sh | 46 ++++----
ci/docker/install/centos7_python.sh | 3 -
ci/docker/install/requirements | 2 +-
ci/docker/install/requirements_aarch64 | 34 ------
ci/docker/install/ubuntu_core.sh | 8 --
ci/docker/install/ubuntu_publish.sh | 96 -----------------
ci/docker/install/ubuntu_python.sh | 25 ++---
ci/docker/install/ubuntu_tutorials.sh | 2 +-
ci/docker/install/ubuntu_tvm.sh | 9 +-
ci/docker/runtime_functions.sh | 40 ++-----
ci/docker_cache.py | 7 +-
ci/jenkins/Jenkins_steps.groovy | 96 +++++------------
ci/jenkins/Jenkinsfile_unix_gpu_cu110 | 52 ---------
ci/publish/Jenkinsfile | 110 -------------------
python/mxnet/contrib/text/utils.py | 2 +-
python/mxnet/numpy/multiarray.py | 4 +-
python/mxnet/optimizer/optimizer.py | 4 +-
tests/nightly/Jenkinsfile | 28 -----
tests/nightly/JenkinsfileForBinaries | 4 +-
58 files changed, 316 insertions(+), 1557 deletions(-)
diff --git a/Makefile b/Makefile
index d4e221d4bb..d03505f7bf 100644
--- a/Makefile
+++ b/Makefile
@@ -579,8 +579,9 @@ ALL_DEP = $(OBJ) $(EXTRA_OBJ) $(PLUGIN_OBJ) $(LIB_DEP)
ifeq ($(USE_CUDA), 1)
CUDA_VERSION_MAJOR := $(shell $(NVCC) --version | grep "release" | awk
'{print $$6}' | cut -c2- | cut -d '.' -f1)
+ CFLAGS += -DCUB_IGNORE_DEPRECATED_CPP_DIALECT
ifeq ($(shell test $(CUDA_VERSION_MAJOR) -lt 11; echo $$?), 0)
- CFLAGS += -I$(ROOTDIR)/3rdparty/nvidia_cub
-DCUB_IGNORE_DEPRECATED_CPP_DIALECT
+ CFLAGS += -I$(ROOTDIR)/3rdparty/nvidia_cub
endif
ALL_DEP += $(CUOBJ) $(EXTRA_CUOBJ) $(PLUGIN_CUOBJ)
diff --git a/ci/build.py b/ci/build.py
index 1998f58ee2..c3de6c9271 100755
--- a/ci/build.py
+++ b/ci/build.py
@@ -187,11 +187,11 @@ def build_docker(platform: str, registry: str,
num_retries: int, no_cache: bool,
env["DOCKER_CACHE_REGISTRY"] = registry
@retry(subprocess.CalledProcessError, tries=num_retries)
- def run_cmd(env=None):
- logging.info("Running command: '%s'", ' '.join(cmd))
- check_call(cmd, env=env)
+ def run_cmd(c, e):
+ logging.info("Running command: '%s'", ' '.join(c))
+ check_call(c, env=e)
- run_cmd(env=env)
+ run_cmd(cmd, env)
# Get image id by reading the tag. It's guaranteed (except race condition)
that the tag exists. Otherwise, the
# check_call would have failed
@@ -308,23 +308,21 @@ def list_platforms(arch=machine()) -> str:
def load_docker_cache(platform, tag, docker_registry) -> None:
"""Imports tagged container from the given docker registry"""
if docker_registry:
+ env = os.environ.copy()
+ env["DOCKER_CACHE_REGISTRY"] = docker_registry
if is_docker_compose(platform):
docker_compose_platform = platform.split(".")[1] if any(x in
platform for x in ['build.', 'publish.']) else platform
- env = os.environ.copy()
- env["DOCKER_CACHE_REGISTRY"] = docker_registry
if "dkr.ecr" in docker_registry:
try:
import docker_cache
docker_cache._ecr_login(docker_registry)
except Exception:
logging.exception('Unable to login to ECR...')
- cmd = ['docker-compose', '-f', 'docker/docker-compose.yml',
'pull', docker_compose_platform]
- logging.info("Running command: 'DOCKER_CACHE_REGISTRY=%s %s'",
docker_registry, ' '.join(cmd))
+ cmd = ['docker-compose', '-f', 'docker/docker-compose.yml',
'pull', '--quiet', docker_compose_platform]
+ logging.info("Running command: '%s'", ' '.join(cmd))
check_call(cmd, env=env)
return
- env = os.environ.copy()
- env["DOCKER_CACHE_REGISTRY"] = docker_registry
# noinspection PyBroadException
try:
import docker_cache
diff --git a/ci/dev_menu.py b/ci/dev_menu.py
index 962e4ecfe0..863907b8ac 100755
--- a/ci/dev_menu.py
+++ b/ci/dev_menu.py
@@ -134,7 +134,7 @@ COMMANDS = OrderedDict([
('[Docker] Build the Java API docs - outputs to
"docs/scala-package/build/docs/java"',
"ci/build.py --platform ubuntu_cpu_scala /work/runtime_functions.sh
build_java_docs"),
('[Docker] Build the Julia API docs - outputs to "julia/docs/site/"',
- "ci/build.py --platform ubuntu_cpu_julia /work/runtime_functions.sh
build_julia_docs"),
+ "ci/build.py --platform ubuntu_cpu /work/runtime_functions.sh
build_julia_docs"),
('[Docker] Build the R API docs - outputs to
"R-package/build/mxnet-r-reference-manual.pdf"',
"ci/build.py --platform ubuntu_cpu_r /work/runtime_functions.sh
build_r_docs"),
('[Docker] Build the Scala API docs - outputs to
"scala-package/docs/build/docs/scala"',
diff --git a/ci/docker/Dockerfile.build.centos7
b/ci/docker/Dockerfile.build.centos7
index 8c0df1d91f..2d285dd8ef 100644
--- a/ci/docker/Dockerfile.build.centos7
+++ b/ci/docker/Dockerfile.build.centos7
@@ -31,20 +31,27 @@
# "--target" option or docker-compose.yml
####################################################################################################
ARG BASE_IMAGE
-FROM $BASE_IMAGE AS base
+FROM $BASE_IMAGE
WORKDIR /work/deps
COPY install/centos7_core.sh /work/
RUN /work/centos7_core.sh
+
+COPY install/centos7_cmake.sh /work/
+RUN /work/centos7_cmake.sh
+
COPY install/centos7_ccache.sh /work/
RUN /work/centos7_ccache.sh
-COPY install/centos7_python.sh /work/
-COPY install/requirements /work/
-RUN /work/centos7_python.sh
+
COPY install/centos7_scala.sh /work/
RUN /work/centos7_scala.sh
+COPY install/centos7_python.sh /work/
+RUN /work/centos7_python.sh
+COPY install/requirements /work/
+RUN pip3 install -r /work/requirements
+
ARG USER_ID=0
COPY install/centos7_adduser.sh /work/
RUN /work/centos7_adduser.sh
diff --git a/ci/docker/Dockerfile.build.centos7_aarch64_cpu
b/ci/docker/Dockerfile.build.centos7_aarch64_cpu
index 46c3e253dd..c4e98dc2ad 100644
--- a/ci/docker/Dockerfile.build.centos7_aarch64_cpu
+++ b/ci/docker/Dockerfile.build.centos7_aarch64_cpu
@@ -55,11 +55,6 @@ SHELL [ "/usr/bin/scl", "enable", "devtoolset-10" ]
# Fix the en_DK.UTF-8 locale to test locale invariance
RUN localedef -i en_DK -f UTF-8 en_DK.UTF-8
-# Install Python and dependency packages
-COPY install/centos7_python.sh /work/
-COPY install/requirements /work/
-RUN /work/centos7_python.sh
-
COPY install/centos7_cmake.sh /work/
RUN /work/centos7_cmake.sh
@@ -71,6 +66,12 @@ RUN cd /usr/local/src && \
rm -rf arm-performance-libraries_21.0_RHEL-7_gcc-8.2.tar
arm-performance-libraries_21.0_RHEL-7_gcc-8.2
ENV LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/opt/arm/armpl_21.0_gcc-8.2/lib
+# Install Python and dependency packages
+COPY install/centos7_python.sh /work/
+RUN /work/centos7_python.sh
+COPY install/requirements /work/
+RUN pip3 install -r /work/requirements
+
ARG USER_ID=0
COPY install/centos7_adduser.sh /work/
RUN /work/centos7_adduser.sh
diff --git a/ci/docker/Dockerfile.build.centos7_cd
b/ci/docker/Dockerfile.build.centos7_cd
index 02bd695e7e..04f6d0e2da 100644
--- a/ci/docker/Dockerfile.build.centos7_cd
+++ b/ci/docker/Dockerfile.build.centos7_cd
@@ -25,23 +25,27 @@ WORKDIR /work/deps
COPY install/centos7_base.sh /work/
RUN /work/centos7_base.sh
-COPY install/centos7_python.sh /work/
-COPY install/requirements /work/
-RUN /work/centos7_python.sh
+COPY install/centos7_scala.sh /work/
+RUN /work/centos7_scala.sh
-ARG USER_ID=0
-COPY install/centos7_adduser.sh /work/
-RUN /work/centos7_adduser.sh
+# Install cmake
+COPY install/centos7_cmake.sh /work/
+RUN /work/centos7_cmake.sh
# Install tools for static dependency builds
-RUN yum install -y sudo patchelf nasm automake libtool file gcc-c++ gcc
gcc-gfortran
+RUN yum install -y sudo patchelf nasm automake libtool file gcc-c++ gcc
gcc-gfortran which
# Allow jenkins user to use sudo for installing cuda libraries
RUN echo "jenkins_slave ALL=(root) NOPASSWD: /usr/bin/yum,
/usr/bin/yum-config-manager" >> /etc/sudoers.d/10_jenkins_slave
-# Install cmake
-COPY install/centos7_cmake.sh /work/
-RUN /work/centos7_cmake.sh
+COPY install/centos7_python.sh /work/
+RUN /work/centos7_python.sh
+COPY install/requirements /work/
+RUN pip3 install -r /work/requirements
+
+ARG USER_ID=0
+COPY install/centos7_adduser.sh /work/
+RUN /work/centos7_adduser.sh
ENV PYTHONPATH=./python/
WORKDIR /work/mxnet
diff --git a/ci/docker/Dockerfile.build.ubuntu_base_cpu
b/ci/docker/Dockerfile.build.ubuntu_base_cpu
deleted file mode 100644
index a75ed0255d..0000000000
--- a/ci/docker/Dockerfile.build.ubuntu_base_cpu
+++ /dev/null
@@ -1,40 +0,0 @@
-# -*- mode: dockerfile -*-
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-#
-# Dockerfile to run the MXNet Installation Tests on Ubuntu 16.04
-# This should run in an empty docker with ubuntu and cuda.
-
-FROM ubuntu:16.04
-
-WORKDIR /work/deps
-
-RUN apt-get update && apt-get -y install sudo
-
-# Always last
-ARG USER_ID=0
-ARG GROUP_ID=0
-COPY install/ubuntu_adduser.sh /work/
-RUN /work/ubuntu_adduser.sh
-
-COPY install/ubuntu_runas_sudo.sh /work/
-RUN /work/ubuntu_runas_sudo.sh
-
-COPY runtime_functions.sh /work/
-
-WORKDIR /work/mxnet
-ENV LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/lib
diff --git a/ci/docker/Dockerfile.build.ubuntu_base_gpu
b/ci/docker/Dockerfile.build.ubuntu_base_gpu
deleted file mode 100644
index 94e6437e57..0000000000
--- a/ci/docker/Dockerfile.build.ubuntu_base_gpu
+++ /dev/null
@@ -1,43 +0,0 @@
-# -*- mode: dockerfile -*-
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-#
-# 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:10.1-devel-ubuntu16.04
-
-WORKDIR /work/deps
-
-RUN apt-get update && apt-get -y install sudo
-
-ENV CUDNN_VERSION=7.6.0.64
-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/
-RUN /work/ubuntu_adduser.sh
-
-COPY install/ubuntu_runas_sudo.sh /work/
-RUN /work/ubuntu_runas_sudo.sh
-
-COPY runtime_functions.sh /work/
-
-WORKDIR /work/mxnet
-ENV LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/lib
diff --git a/ci/docker/Dockerfile.build.ubuntu_build_cuda
b/ci/docker/Dockerfile.build.ubuntu_build_cuda
deleted file mode 100644
index f5e11100e5..0000000000
--- a/ci/docker/Dockerfile.build.ubuntu_build_cuda
+++ /dev/null
@@ -1,60 +0,0 @@
-# -*- mode: dockerfile -*-
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-#
-# Dockerfile to build MXNet on Ubuntu 18.04 for GPU but on
-# a CPU-only instance. This restriction is caused by the CPP-
-# package generation, requiring the actual CUDA library to be
-# present
-
-FROM nvidia/cuda:10.1-cudnn7-devel-ubuntu18.04
-
-WORKDIR /work/deps
-
-COPY install/ubuntu_core.sh /work/
-RUN /work/ubuntu_core.sh
-COPY install/deb_ubuntu_ccache.sh /work/
-RUN /work/deb_ubuntu_ccache.sh
-COPY install/ubuntu_python.sh /work/
-COPY install/requirements /work/
-RUN /work/ubuntu_python.sh
-COPY install/ubuntu_scala.sh /work/
-COPY install/sbt.gpg /work/
-RUN /work/ubuntu_scala.sh
-COPY install/ubuntu_r.sh /work/
-RUN /work/ubuntu_r.sh
-COPY install/ubuntu_perl.sh /work/
-RUN /work/ubuntu_perl.sh
-COPY install/ubuntu_clang.sh /work/
-RUN /work/ubuntu_clang.sh
-COPY install/ubuntu_binutils.sh /work/
-RUN /work/ubuntu_binutils.sh
-
-# Special case because the CPP-Package requires the CUDA runtime libs
-# and not only stubs (which are provided by the base image)
-COPY install/ubuntu_nvidia.sh /work/
-RUN /work/ubuntu_nvidia.sh
-
-# Keep this at the end since this command is not cachable
-ARG USER_ID=0
-ARG GROUP_ID=0
-COPY install/ubuntu_adduser.sh /work/
-RUN /work/ubuntu_adduser.sh
-
-COPY runtime_functions.sh /work/
-
-WORKDIR /work/mxnet
diff --git a/ci/docker/Dockerfile.build.ubuntu_build_cuda110
b/ci/docker/Dockerfile.build.ubuntu_build_cuda110
deleted file mode 100644
index 3dcb3d6595..0000000000
--- a/ci/docker/Dockerfile.build.ubuntu_build_cuda110
+++ /dev/null
@@ -1,48 +0,0 @@
-# -*- mode: dockerfile -*-
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-#
-# Dockerfile to build MXNet on Ubuntu 16.04 for GPU but on
-# a CPU-only instance. This restriction is caused by the CPP-
-# package generation, requiring the actual CUDA library to be
-# present
-
-FROM nvidia/cuda:11.0-cudnn8-devel-ubuntu16.04
-
-WORKDIR /work/deps
-
-COPY install/ubuntu_core.sh /work/
-RUN /work/ubuntu_core.sh
-COPY install/deb_ubuntu_ccache.sh /work/
-RUN /work/deb_ubuntu_ccache.sh
-COPY install/ubuntu_python.sh /work/
-COPY install/requirements /work/
-RUN /work/ubuntu_python.sh
-COPY install/ubuntu_binutils.sh /work/
-RUN /work/ubuntu_binutils.sh
-
-# Keep this at the end since this command is not cachable
-ARG USER_ID=0
-ARG GROUP_ID=0
-COPY install/ubuntu_adduser.sh /work/
-RUN /work/ubuntu_adduser.sh
-
-COPY runtime_functions.sh /work/
-
-WORKDIR /work/mxnet
-ENV LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/cuda/compat
-
diff --git a/ci/docker/Dockerfile.build.ubuntu_cpu
b/ci/docker/Dockerfile.build.ubuntu_cpu
index c8f23edc11..7c222edbb3 100644
--- a/ci/docker/Dockerfile.build.ubuntu_cpu
+++ b/ci/docker/Dockerfile.build.ubuntu_cpu
@@ -25,13 +25,12 @@ WORKDIR /work/deps
COPY install/ubuntu_core.sh /work/
RUN /work/ubuntu_core.sh
+COPY install/ubuntu_cmake.sh /work/
+RUN /work/ubuntu_cmake.sh
+
COPY install/deb_ubuntu_ccache.sh /work/
RUN /work/deb_ubuntu_ccache.sh
-COPY install/ubuntu_python.sh /work/
-COPY install/requirements /work/
-RUN /work/ubuntu_python.sh
-
COPY install/ubuntu_scala.sh /work/
COPY install/sbt.gpg /work/
RUN /work/ubuntu_scala.sh
@@ -60,6 +59,11 @@ RUN /work/ubuntu_mkl.sh
COPY install/ubuntu_caffe.sh /work/
RUN /work/ubuntu_caffe.sh
+COPY install/ubuntu_python.sh /work/
+RUN /work/ubuntu_python.sh
+COPY install/requirements /work/
+RUN pip3 install -r /work/requirements
+
COPY install/ubuntu_onnx.sh /work/
RUN /work/ubuntu_onnx.sh
diff --git a/ci/docker/Dockerfile.build.ubuntu_cpu_c
b/ci/docker/Dockerfile.build.ubuntu_cpu_c
index afe9eea260..42ab7c8f27 100644
--- a/ci/docker/Dockerfile.build.ubuntu_cpu_c
+++ b/ci/docker/Dockerfile.build.ubuntu_cpu_c
@@ -25,6 +25,9 @@ WORKDIR /work/deps
COPY install/ubuntu_core.sh /work/
RUN /work/ubuntu_core.sh
+COPY install/ubuntu_cmake.sh /work/
+RUN /work/ubuntu_cmake.sh
+
COPY install/deb_ubuntu_ccache.sh /work/
RUN /work/deb_ubuntu_ccache.sh
@@ -32,4 +35,4 @@ RUN apt-get update && apt-get install -y doxygen graphviz
COPY runtime_functions.sh /work/
-WORKDIR /work/mxnet
\ No newline at end of file
+WORKDIR /work/mxnet
diff --git a/ci/docker/Dockerfile.build.ubuntu_cpu_julia
b/ci/docker/Dockerfile.build.ubuntu_cpu_julia
deleted file mode 100644
index c8f23edc11..0000000000
--- a/ci/docker/Dockerfile.build.ubuntu_cpu_julia
+++ /dev/null
@@ -1,77 +0,0 @@
-# -*- mode: dockerfile -*-
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-#
-# Dockerfile to build and run MXNet on Ubuntu 18.04 for CPU
-
-FROM ubuntu:18.04
-
-WORKDIR /work/deps
-
-COPY install/ubuntu_core.sh /work/
-RUN /work/ubuntu_core.sh
-
-COPY install/deb_ubuntu_ccache.sh /work/
-RUN /work/deb_ubuntu_ccache.sh
-
-COPY install/ubuntu_python.sh /work/
-COPY install/requirements /work/
-RUN /work/ubuntu_python.sh
-
-COPY install/ubuntu_scala.sh /work/
-COPY install/sbt.gpg /work/
-RUN /work/ubuntu_scala.sh
-
-COPY install/ubuntu_clojure.sh /work/
-RUN /work/ubuntu_clojure.sh
-
-COPY install/ubuntu_r.sh /work/
-RUN /work/ubuntu_r.sh
-
-COPY install/ubuntu_perl.sh /work/
-RUN /work/ubuntu_perl.sh
-
-COPY install/ubuntu_julia.sh /work/
-RUN /work/ubuntu_julia.sh
-
-COPY install/ubuntu_clang.sh /work/
-RUN /work/ubuntu_clang.sh
-
-COPY install/ubuntu_gcc8.sh /work/
-RUN /work/ubuntu_gcc8.sh
-
-COPY install/ubuntu_mkl.sh /work/
-RUN /work/ubuntu_mkl.sh
-
-COPY install/ubuntu_caffe.sh /work/
-RUN /work/ubuntu_caffe.sh
-
-COPY install/ubuntu_onnx.sh /work/
-RUN /work/ubuntu_onnx.sh
-
-COPY install/ubuntu_docs.sh /work/
-RUN /work/ubuntu_docs.sh
-
-# Always last
-ARG USER_ID=0
-ARG GROUP_ID=0
-COPY install/ubuntu_adduser.sh /work/
-RUN /work/ubuntu_adduser.sh
-
-COPY runtime_functions.sh /work/
-
-WORKDIR /work/mxnet
diff --git a/ci/docker/Dockerfile.build.ubuntu_cpu_lite
b/ci/docker/Dockerfile.build.ubuntu_cpu_lite
index ff97e68da9..9a2080f440 100644
--- a/ci/docker/Dockerfile.build.ubuntu_cpu_lite
+++ b/ci/docker/Dockerfile.build.ubuntu_cpu_lite
@@ -25,6 +25,9 @@ WORKDIR /work/deps
COPY install/ubuntu_core.sh /work/
RUN /work/ubuntu_core.sh
+COPY install/ubuntu_cmake.sh /work/
+RUN /work/ubuntu_cmake.sh
+
COPY install/deb_ubuntu_ccache.sh /work/
RUN /work/deb_ubuntu_ccache.sh
@@ -42,4 +45,4 @@ RUN /work/ubuntu_adduser.sh
COPY runtime_functions.sh /work/
-WORKDIR /work/mxnet
\ No newline at end of file
+WORKDIR /work/mxnet
diff --git a/ci/docker/Dockerfile.build.ubuntu_cpu_python
b/ci/docker/Dockerfile.build.ubuntu_cpu_python
index 74eae602f7..e1990fd6dd 100644
--- a/ci/docker/Dockerfile.build.ubuntu_cpu_python
+++ b/ci/docker/Dockerfile.build.ubuntu_cpu_python
@@ -25,12 +25,16 @@ WORKDIR /work/deps
COPY install/ubuntu_core.sh /work/
RUN /work/ubuntu_core.sh
+COPY install/ubuntu_cmake.sh /work/
+RUN /work/ubuntu_cmake.sh
+
COPY install/deb_ubuntu_ccache.sh /work/
RUN /work/deb_ubuntu_ccache.sh
COPY install/ubuntu_python.sh /work/
-COPY install/requirements /work/
RUN /work/ubuntu_python.sh
+COPY install/requirements /work/
+RUN pip3 install -r /work/requirements
COPY install/ubuntu_onnx.sh /work/
RUN /work/ubuntu_onnx.sh
@@ -46,4 +50,4 @@ RUN /work/ubuntu_adduser.sh
COPY runtime_functions.sh /work/
-WORKDIR /work/mxnet
\ No newline at end of file
+WORKDIR /work/mxnet
diff --git a/ci/docker/Dockerfile.build.ubuntu_cpu_r
b/ci/docker/Dockerfile.build.ubuntu_cpu_r
index 3d17e09d87..e59cb0993f 100644
--- a/ci/docker/Dockerfile.build.ubuntu_cpu_r
+++ b/ci/docker/Dockerfile.build.ubuntu_cpu_r
@@ -25,6 +25,9 @@ WORKDIR /work/deps
COPY install/ubuntu_core.sh /work/
RUN /work/ubuntu_core.sh
+COPY install/ubuntu_cmake.sh /work/
+RUN /work/ubuntu_cmake.sh
+
COPY install/deb_ubuntu_ccache.sh /work/
RUN /work/deb_ubuntu_ccache.sh
diff --git a/ci/docker/Dockerfile.build.ubuntu_cpu_scala
b/ci/docker/Dockerfile.build.ubuntu_cpu_scala
index 4a5ffe2784..d3c8f42014 100644
--- a/ci/docker/Dockerfile.build.ubuntu_cpu_scala
+++ b/ci/docker/Dockerfile.build.ubuntu_cpu_scala
@@ -25,13 +25,12 @@ WORKDIR /work/deps
COPY install/ubuntu_core.sh /work/
RUN /work/ubuntu_core.sh
+COPY install/ubuntu_cmake.sh /work/
+RUN /work/ubuntu_cmake.sh
+
COPY install/deb_ubuntu_ccache.sh /work/
RUN /work/deb_ubuntu_ccache.sh
-COPY install/ubuntu_python.sh /work/
-COPY install/requirements /work/
-RUN /work/ubuntu_python.sh
-
COPY install/ubuntu_scala.sh /work/
COPY install/sbt.gpg /work/
RUN /work/ubuntu_scala.sh
@@ -39,6 +38,11 @@ RUN /work/ubuntu_scala.sh
COPY install/ubuntu_clojure.sh /work/
RUN /work/ubuntu_clojure.sh
+COPY install/ubuntu_python.sh /work/
+RUN /work/ubuntu_python.sh
+COPY install/requirements /work/
+RUN pip3 install -r /work/requirements
+
# Always last
ARG USER_ID=0
ARG GROUP_ID=0
@@ -47,4 +51,4 @@ RUN /work/ubuntu_adduser.sh
COPY runtime_functions.sh /work/
-WORKDIR /work/mxnet
\ No newline at end of file
+WORKDIR /work/mxnet
diff --git a/ci/docker/Dockerfile.build.ubuntu_gpu_cu102
b/ci/docker/Dockerfile.build.ubuntu_gpu
similarity index 88%
rename from ci/docker/Dockerfile.build.ubuntu_gpu_cu102
rename to ci/docker/Dockerfile.build.ubuntu_gpu
index 21dd41fdbd..e8fd499d92 100644
--- a/ci/docker/Dockerfile.build.ubuntu_gpu_cu102
+++ b/ci/docker/Dockerfile.build.ubuntu_gpu
@@ -16,22 +16,22 @@
# specific language governing permissions and limitations
# under the License.
#
-# Dockerfile to run MXNet on Ubuntu 18.04 for GPU
+# Dockerfile base to run MXNet on Ubuntu 18.04 for GPU
-FROM nvidia/cuda:10.2-cudnn8-devel-ubuntu18.04
+ARG BASE_IMAGE
+FROM $BASE_IMAGE
WORKDIR /work/deps
COPY install/ubuntu_core.sh /work/
RUN /work/ubuntu_core.sh
+COPY install/ubuntu_cmake.sh /work/
+RUN /work/ubuntu_cmake.sh
+
COPY install/deb_ubuntu_ccache.sh /work/
RUN /work/deb_ubuntu_ccache.sh
-COPY install/ubuntu_python.sh /work/
-COPY install/requirements /work/
-RUN /work/ubuntu_python.sh
-
COPY install/ubuntu_scala.sh /work/
COPY install/sbt.gpg /work/
RUN /work/ubuntu_scala.sh
@@ -45,15 +45,20 @@ RUN /work/ubuntu_perl.sh
COPY install/ubuntu_clang.sh /work/
RUN /work/ubuntu_clang.sh
-COPY install/ubuntu_tvm.sh /work/
-RUN /work/ubuntu_tvm.sh
-
COPY install/ubuntu_llvm.sh /work/
RUN /work/ubuntu_llvm.sh
COPY install/ubuntu_caffe.sh /work/
RUN /work/ubuntu_caffe.sh
+COPY install/ubuntu_python.sh /work/
+RUN /work/ubuntu_python.sh
+COPY install/requirements /work/
+RUN pip3 install -r /work/requirements
+
+COPY install/ubuntu_tvm.sh /work/
+RUN /work/ubuntu_tvm.sh
+
COPY install/ubuntu_onnx.sh /work/
RUN /work/ubuntu_onnx.sh
@@ -72,4 +77,6 @@ RUN /work/ubuntu_adduser.sh
COPY runtime_functions.sh /work/
+ENV LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/cuda/compat
+
WORKDIR /work/mxnet
diff --git a/ci/docker/Dockerfile.build.ubuntu_gpu_cu100
b/ci/docker/Dockerfile.build.ubuntu_gpu_cu100
deleted file mode 100644
index b48dfa598e..0000000000
--- a/ci/docker/Dockerfile.build.ubuntu_gpu_cu100
+++ /dev/null
@@ -1,75 +0,0 @@
-# -*- mode: dockerfile -*-
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-#
-# Dockerfile to run MXNet on Ubuntu 18.04 for GPU
-
-FROM nvidia/cuda:10.0-cudnn7-devel-ubuntu18.04
-
-WORKDIR /work/deps
-
-COPY install/ubuntu_core.sh /work/
-RUN /work/ubuntu_core.sh
-
-COPY install/deb_ubuntu_ccache.sh /work/
-RUN /work/deb_ubuntu_ccache.sh
-
-COPY install/ubuntu_python.sh /work/
-COPY install/requirements /work/
-RUN /work/ubuntu_python.sh
-
-COPY install/ubuntu_scala.sh /work/
-COPY install/sbt.gpg /work/
-RUN /work/ubuntu_scala.sh
-
-COPY install/ubuntu_r.sh /work/
-RUN /work/ubuntu_r.sh
-
-COPY install/ubuntu_perl.sh /work/
-RUN /work/ubuntu_perl.sh
-
-COPY install/ubuntu_clang.sh /work/
-RUN /work/ubuntu_clang.sh
-
-COPY install/ubuntu_tvm.sh /work/
-RUN /work/ubuntu_tvm.sh
-
-COPY install/ubuntu_llvm.sh /work/
-RUN /work/ubuntu_llvm.sh
-
-COPY install/ubuntu_caffe.sh /work/
-RUN /work/ubuntu_caffe.sh
-
-COPY install/ubuntu_onnx.sh /work/
-RUN /work/ubuntu_onnx.sh
-
-COPY install/ubuntu_docs.sh /work/
-COPY install/requirements /work/
-RUN /work/ubuntu_docs.sh
-
-COPY install/ubuntu_tutorials.sh /work/
-RUN /work/ubuntu_tutorials.sh
-
-# Always last
-ARG USER_ID=0
-ARG GROUP_ID=0
-COPY install/ubuntu_adduser.sh /work/
-RUN /work/ubuntu_adduser.sh
-
-COPY runtime_functions.sh /work/
-
-WORKDIR /work/mxnet
diff --git a/ci/docker/Dockerfile.build.ubuntu_gpu_cu101
b/ci/docker/Dockerfile.build.ubuntu_gpu_cu101
deleted file mode 100644
index 5f038b437d..0000000000
--- a/ci/docker/Dockerfile.build.ubuntu_gpu_cu101
+++ /dev/null
@@ -1,75 +0,0 @@
-# -*- mode: dockerfile -*-
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-#
-# Dockerfile to run MXNet on Ubuntu 18.04 for GPU
-
-FROM nvidia/cuda:10.1-cudnn7-devel-ubuntu18.04
-
-WORKDIR /work/deps
-
-COPY install/ubuntu_core.sh /work/
-RUN /work/ubuntu_core.sh
-
-COPY install/deb_ubuntu_ccache.sh /work/
-RUN /work/deb_ubuntu_ccache.sh
-
-COPY install/ubuntu_python.sh /work/
-COPY install/requirements /work/
-RUN /work/ubuntu_python.sh
-
-COPY install/ubuntu_scala.sh /work/
-COPY install/sbt.gpg /work/
-RUN /work/ubuntu_scala.sh
-
-COPY install/ubuntu_r.sh /work/
-RUN /work/ubuntu_r.sh
-
-COPY install/ubuntu_perl.sh /work/
-RUN /work/ubuntu_perl.sh
-
-COPY install/ubuntu_clang.sh /work/
-RUN /work/ubuntu_clang.sh
-
-COPY install/ubuntu_tvm.sh /work/
-RUN /work/ubuntu_tvm.sh
-
-COPY install/ubuntu_llvm.sh /work/
-RUN /work/ubuntu_llvm.sh
-
-COPY install/ubuntu_caffe.sh /work/
-RUN /work/ubuntu_caffe.sh
-
-COPY install/ubuntu_onnx.sh /work/
-RUN /work/ubuntu_onnx.sh
-
-COPY install/ubuntu_docs.sh /work/
-COPY install/requirements /work/
-RUN /work/ubuntu_docs.sh
-
-COPY install/ubuntu_tutorials.sh /work/
-RUN /work/ubuntu_tutorials.sh
-
-# Always last
-ARG USER_ID=0
-ARG GROUP_ID=0
-COPY install/ubuntu_adduser.sh /work/
-RUN /work/ubuntu_adduser.sh
-
-COPY runtime_functions.sh /work/
-
-WORKDIR /work/mxnet
diff --git a/ci/docker/Dockerfile.build.ubuntu_gpu_cu110
b/ci/docker/Dockerfile.build.ubuntu_gpu_cu110
deleted file mode 100644
index 923c06979d..0000000000
--- a/ci/docker/Dockerfile.build.ubuntu_gpu_cu110
+++ /dev/null
@@ -1,43 +0,0 @@
-# -*- mode: dockerfile -*-
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-#
-# Dockerfile to run MXNet on Ubuntu 18.04 for GPU
-
-FROM nvidia/cuda:11.0-cudnn8-devel-ubuntu18.04
-
-WORKDIR /work/deps
-
-COPY install/ubuntu_core.sh /work/
-RUN /work/ubuntu_core.sh
-
-COPY install/deb_ubuntu_ccache.sh /work/
-RUN /work/deb_ubuntu_ccache.sh
-
-COPY install/ubuntu_python.sh /work/
-COPY install/requirements /work/
-RUN /work/ubuntu_python.sh
-
-# Always last
-ARG USER_ID=0
-ARG GROUP_ID=0
-COPY install/ubuntu_adduser.sh /work/
-RUN /work/ubuntu_adduser.sh
-
-COPY runtime_functions.sh /work/
-
-WORKDIR /work/mxnet
diff --git a/ci/docker/Dockerfile.build.ubuntu_gpu_cu112
b/ci/docker/Dockerfile.build.ubuntu_gpu_cu112
deleted file mode 100644
index f45ceed734..0000000000
--- a/ci/docker/Dockerfile.build.ubuntu_gpu_cu112
+++ /dev/null
@@ -1,43 +0,0 @@
-# -*- mode: dockerfile -*-
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-#
-# Dockerfile to run MXNet on Ubuntu 18.04 for GPU
-
-FROM nvidia/cuda:11.2.1-cudnn8-devel-ubuntu18.04
-
-WORKDIR /work/deps
-
-COPY install/ubuntu_core.sh /work/
-RUN /work/ubuntu_core.sh
-
-COPY install/deb_ubuntu_ccache.sh /work/
-RUN /work/deb_ubuntu_ccache.sh
-
-COPY install/ubuntu_python.sh /work/
-COPY install/requirements /work/
-RUN /work/ubuntu_python.sh
-
-# Always last
-ARG USER_ID=0
-ARG GROUP_ID=0
-COPY install/ubuntu_adduser.sh /work/
-RUN /work/ubuntu_adduser.sh
-
-COPY runtime_functions.sh /work/
-
-WORKDIR /work/mxnet
diff --git a/ci/docker/Dockerfile.build.ubuntu_gpu_tensorrt
b/ci/docker/Dockerfile.build.ubuntu_gpu_tensorrt
index 5e9af00266..0b7584c0db 100644
--- a/ci/docker/Dockerfile.build.ubuntu_gpu_tensorrt
+++ b/ci/docker/Dockerfile.build.ubuntu_gpu_tensorrt
@@ -26,11 +26,18 @@ RUN apt-key adv --fetch-keys
https://developer.download.nvidia.com/compute/cuda/
COPY install/ubuntu_core.sh /work/
RUN /work/ubuntu_core.sh
+
+COPY install/ubuntu_cmake.sh /work/
+RUN /work/ubuntu_cmake.sh
+
COPY install/deb_ubuntu_ccache.sh /work/
RUN /work/deb_ubuntu_ccache.sh
+
COPY install/ubuntu_python.sh /work/
-COPY install/requirements /work/
RUN /work/ubuntu_python.sh
+COPY install/requirements /work/
+RUN pip3 install -r /work/requirements
+
COPY install/tensorrt.sh /work
RUN /work/tensorrt.sh
diff --git a/ci/docker/Dockerfile.build.ubuntu_nightly_cpu
b/ci/docker/Dockerfile.build.ubuntu_nightly_cpu
index 65ea937c45..740e0143ff 100644
--- a/ci/docker/Dockerfile.build.ubuntu_nightly_cpu
+++ b/ci/docker/Dockerfile.build.ubuntu_nightly_cpu
@@ -25,13 +25,12 @@ WORKDIR /work/deps
COPY install/ubuntu_core.sh /work/
RUN /work/ubuntu_core.sh
+COPY install/ubuntu_cmake.sh /work/
+RUN /work/ubuntu_cmake.sh
+
COPY install/deb_ubuntu_ccache.sh /work/
RUN /work/deb_ubuntu_ccache.sh
-COPY install/ubuntu_python.sh /work/
-COPY install/requirements /work/
-RUN /work/ubuntu_python.sh
-
COPY install/ubuntu_scala.sh /work/
COPY install/sbt.gpg /work/
RUN /work/ubuntu_scala.sh
@@ -48,6 +47,11 @@ RUN /work/ubuntu_clang.sh
COPY install/ubuntu_caffe.sh /work/
RUN /work/ubuntu_caffe.sh
+COPY install/ubuntu_python.sh /work/
+RUN /work/ubuntu_python.sh
+COPY install/requirements /work/
+RUN pip3 install -r /work/requirements
+
COPY install/ubuntu_onnx.sh /work/
RUN /work/ubuntu_onnx.sh
diff --git a/ci/docker/Dockerfile.build.ubuntu_nightly_gpu
b/ci/docker/Dockerfile.build.ubuntu_nightly_gpu
index c2d255bfe2..4ea27b3212 100644
--- a/ci/docker/Dockerfile.build.ubuntu_nightly_gpu
+++ b/ci/docker/Dockerfile.build.ubuntu_nightly_gpu
@@ -18,20 +18,19 @@
#
# Dockerfile to run MXNet on Ubuntu 18.04 for GPU
-FROM nvidia/cuda:10.1-devel-ubuntu18.04
+FROM nvidia/cuda:11.7.1-cudnn8-devel-ubuntu18.04
WORKDIR /work/deps
COPY install/ubuntu_core.sh /work/
RUN /work/ubuntu_core.sh
+COPY install/ubuntu_cmake.sh /work/
+RUN /work/ubuntu_cmake.sh
+
COPY install/deb_ubuntu_ccache.sh /work/
RUN /work/deb_ubuntu_ccache.sh
-COPY install/ubuntu_python.sh /work/
-COPY install/requirements /work/
-RUN /work/ubuntu_python.sh
-
COPY install/ubuntu_scala.sh /work/
COPY install/sbt.gpg /work/
RUN /work/ubuntu_scala.sh
@@ -45,15 +44,20 @@ RUN /work/ubuntu_perl.sh
COPY install/ubuntu_clang.sh /work/
RUN /work/ubuntu_clang.sh
-COPY install/ubuntu_tvm.sh /work/
-RUN /work/ubuntu_tvm.sh
-
COPY install/ubuntu_llvm.sh /work/
RUN /work/ubuntu_llvm.sh
COPY install/ubuntu_caffe.sh /work/
RUN /work/ubuntu_caffe.sh
+COPY install/ubuntu_python.sh /work/
+RUN /work/ubuntu_python.sh
+COPY install/requirements /work/
+RUN pip3 install -r /work/requirements
+
+COPY install/ubuntu_tvm.sh /work/
+RUN /work/ubuntu_tvm.sh
+
COPY install/ubuntu_onnx.sh /work/
RUN /work/ubuntu_onnx.sh
@@ -67,11 +71,6 @@ RUN /work/ubuntu_tutorials.sh
COPY install/ubuntu_nightly_tests.sh /work/
RUN /work/ubuntu_nightly_tests.sh
-ENV CUDA_VERSION=10.1.105
-ENV CUDNN_VERSION=7.6.5.32
-COPY install/ubuntu_cudnn.sh /work/
-RUN /work/ubuntu_cudnn.sh
-
# Always last
ARG USER_ID=0
ARG GROUP_ID=0
diff --git a/ci/docker/Dockerfile.publish.test.centos7_cpu
b/ci/docker/Dockerfile.publish.test.centos7_cpu
deleted file mode 100644
index 7d28445297..0000000000
--- a/ci/docker/Dockerfile.publish.test.centos7_cpu
+++ /dev/null
@@ -1,38 +0,0 @@
-# -*- mode: dockerfile -*-
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-#
-# Dockerfile to build and run MXNet on CentOS 7 for CPU
-
-FROM centos:7
-
-WORKDIR /work/deps
-
-COPY install/centos7_base.sh /work/
-RUN /work/centos7_base.sh
-
-COPY install/centos7_scala.sh /work/
-RUN /work/centos7_scala.sh
-
-ARG USER_ID=0
-COPY install/centos7_adduser.sh /work/
-RUN /work/centos7_adduser.sh
-
-ENV PYTHONPATH=./python/
-WORKDIR /work/mxnet
-
-COPY runtime_functions.sh /work/
diff --git a/ci/docker/Dockerfile.publish.test.centos7_gpu
b/ci/docker/Dockerfile.publish.test.centos7_gpu
deleted file mode 100644
index e7f5846831..0000000000
--- a/ci/docker/Dockerfile.publish.test.centos7_gpu
+++ /dev/null
@@ -1,38 +0,0 @@
-# -*- mode: dockerfile -*-
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-#
-# Dockerfile to build and run MXNet on CentOS 7 for CPU
-
-FROM nvidia/cuda:9.2-cudnn7-devel-centos7
-
-WORKDIR /work/deps
-
-COPY install/centos7_base.sh /work/
-RUN /work/centos7_base.sh
-
-COPY install/centos7_scala.sh /work/
-RUN /work/centos7_scala.sh
-
-ARG USER_ID=0
-COPY install/centos7_adduser.sh /work/
-RUN /work/centos7_adduser.sh
-
-ENV PYTHONPATH=./python/
-WORKDIR /work/mxnet
-
-COPY runtime_functions.sh /work/
diff --git a/ci/docker/Dockerfile.publish.test.ubuntu1404_cpu
b/ci/docker/Dockerfile.publish.test.ubuntu1404_cpu
deleted file mode 100644
index 0358376865..0000000000
--- a/ci/docker/Dockerfile.publish.test.ubuntu1404_cpu
+++ /dev/null
@@ -1,39 +0,0 @@
-# -*- mode: dockerfile -*-
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-#
-# Dockerfile to build and run MXNet on Ubuntu 14.04 for CPU
-
-FROM ubuntu:14.04
-
-WORKDIR /work/deps
-
-COPY install/ubuntu_base.sh /work/
-RUN /work/ubuntu_base.sh
-
-COPY install/ubuntu_scala.sh /work/
-RUN /work/ubuntu_scala.sh
-
-ARG USER_ID=0
-ARG GROUP_ID=0
-COPY install/ubuntu_adduser.sh /work/
-RUN /work/ubuntu_adduser.sh
-
-COPY runtime_functions.sh /work/
-
-WORKDIR /work/mxnet
-ENV LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/lib
diff --git a/ci/docker/Dockerfile.publish.test.ubuntu1404_gpu
b/ci/docker/Dockerfile.publish.test.ubuntu1404_gpu
deleted file mode 100644
index 854dd68a63..0000000000
--- a/ci/docker/Dockerfile.publish.test.ubuntu1404_gpu
+++ /dev/null
@@ -1,40 +0,0 @@
-# -*- mode: dockerfile -*-
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-#
-# Dockerfile to run MXNet on Ubuntu 14.04 for GPU
-
-# Use CPU with setup_gpu script
-FROM ubuntu:14.04
-
-WORKDIR /work/deps
-
-COPY install/ubuntu_base.sh /work/
-RUN /work/ubuntu_base.sh
-
-COPY install/ubuntu_scala.sh /work/
-RUN /work/ubuntu_scala.sh
-
-ARG USER_ID=0
-ARG GROUP_ID=0
-COPY install/ubuntu_adduser.sh /work/
-RUN /work/ubuntu_adduser.sh
-
-COPY runtime_functions.sh /work/
-
-WORKDIR /work/mxnet
-ENV LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/lib
diff --git a/ci/docker/Dockerfile.publish.test.ubuntu1604_cpu
b/ci/docker/Dockerfile.publish.test.ubuntu1604_cpu
deleted file mode 100644
index bbb7b6a0d7..0000000000
--- a/ci/docker/Dockerfile.publish.test.ubuntu1604_cpu
+++ /dev/null
@@ -1,39 +0,0 @@
-# -*- mode: dockerfile -*-
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-#
-# Dockerfile to build and run MXNet on Ubuntu 16.04 for CPU
-
-FROM ubuntu:16.04
-
-WORKDIR /work/deps
-
-COPY install/ubuntu_base.sh /work/
-RUN /work/ubuntu_base.sh
-
-COPY install/ubuntu_scala.sh /work/
-RUN /work/ubuntu_scala.sh
-
-ARG USER_ID=0
-ARG GROUP_ID=0
-COPY install/ubuntu_adduser.sh /work/
-RUN /work/ubuntu_adduser.sh
-
-COPY runtime_functions.sh /work/
-
-WORKDIR /work/mxnet
-ENV LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/lib
diff --git a/ci/docker/Dockerfile.publish.test.ubuntu1604_gpu
b/ci/docker/Dockerfile.publish.test.ubuntu1604_gpu
deleted file mode 100644
index 660461dc0c..0000000000
--- a/ci/docker/Dockerfile.publish.test.ubuntu1604_gpu
+++ /dev/null
@@ -1,39 +0,0 @@
-# -*- mode: dockerfile -*-
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-#
-# Dockerfile to run MXNet on Ubuntu 16.04 for GPU
-
-FROM nvidia/cuda:9.2-cudnn7-devel-ubuntu16.04
-
-WORKDIR /work/deps
-
-COPY install/ubuntu_base.sh /work/
-RUN /work/ubuntu_base.sh
-
-COPY install/ubuntu_scala.sh /work/
-RUN /work/ubuntu_scala.sh
-
-ARG USER_ID=0
-ARG GROUP_ID=0
-COPY install/ubuntu_adduser.sh /work/
-RUN /work/ubuntu_adduser.sh
-
-COPY runtime_functions.sh /work/
-
-WORKDIR /work/mxnet
-ENV LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/lib
diff --git a/ci/docker/Dockerfile.publish.test.ubuntu1804_cpu
b/ci/docker/Dockerfile.publish.test.ubuntu1804_cpu
deleted file mode 100644
index e3a8c193f2..0000000000
--- a/ci/docker/Dockerfile.publish.test.ubuntu1804_cpu
+++ /dev/null
@@ -1,41 +0,0 @@
-# -*- mode: dockerfile -*-
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-#
-# Dockerfile to build and run MXNet on Ubuntu 18.04 for CPU
-
-FROM ubuntu:18.04
-
-WORKDIR /work/deps
-
-ENV DEBIAN_FRONTEND noninteractive
-
-COPY install/ubuntu_base.sh /work/
-RUN /work/ubuntu_base.sh
-
-COPY install/ubuntu_scala.sh /work/
-RUN /work/ubuntu_scala.sh
-
-ARG USER_ID=0
-ARG GROUP_ID=0
-COPY install/ubuntu_adduser.sh /work/
-RUN /work/ubuntu_adduser.sh
-
-COPY runtime_functions.sh /work/
-
-WORKDIR /work/mxnet
-ENV LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/lib
diff --git a/ci/docker/Dockerfile.publish.test.ubuntu1804_gpu
b/ci/docker/Dockerfile.publish.test.ubuntu1804_gpu
deleted file mode 100644
index 99f7e0d3ef..0000000000
--- a/ci/docker/Dockerfile.publish.test.ubuntu1804_gpu
+++ /dev/null
@@ -1,41 +0,0 @@
-# -*- mode: dockerfile -*-
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-#
-# Dockerfile to run MXNet on Ubuntu 18.04 for GPU
-
-FROM nvidia/cuda:9.2-cudnn7-devel-ubuntu18.04
-
-WORKDIR /work/deps
-
-ENV DEBIAN_FRONTEND noninteractive
-
-COPY install/ubuntu_base.sh /work/
-RUN /work/ubuntu_base.sh
-
-COPY install/ubuntu_scala.sh /work/
-RUN /work/ubuntu_scala.sh
-
-ARG USER_ID=0
-ARG GROUP_ID=0
-COPY install/ubuntu_adduser.sh /work/
-RUN /work/ubuntu_adduser.sh
-
-COPY runtime_functions.sh /work/
-
-WORKDIR /work/mxnet
-ENV LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/lib
diff --git a/ci/docker/Dockerfile.publish.ubuntu1404_cpu
b/ci/docker/Dockerfile.publish.ubuntu1404_cpu
deleted file mode 100644
index 8ccc41b214..0000000000
--- a/ci/docker/Dockerfile.publish.ubuntu1404_cpu
+++ /dev/null
@@ -1,39 +0,0 @@
-# -*- mode: dockerfile -*-
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-#
-# Dockerfile to build and run MXNet on Ubuntu 14.04 for CPU
-
-FROM ubuntu:14.04
-
-WORKDIR /work/deps
-
-COPY install/ubuntu_publish.sh /work/
-RUN /work/ubuntu_publish.sh
-
-COPY install/ubuntu_binutils.sh /work/
-RUN /work/ubuntu_binutils.sh
-
-ARG USER_ID=0
-ARG GROUP_ID=0
-COPY install/ubuntu_adduser.sh /work/
-RUN /work/ubuntu_adduser.sh
-
-COPY runtime_functions.sh /work/
-
-WORKDIR /work/mxnet
-ENV LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/lib
diff --git a/ci/docker/Dockerfile.publish.ubuntu1404_gpu
b/ci/docker/Dockerfile.publish.ubuntu1404_gpu
deleted file mode 100644
index 3a005cadec..0000000000
--- a/ci/docker/Dockerfile.publish.ubuntu1404_gpu
+++ /dev/null
@@ -1,39 +0,0 @@
-# -*- mode: dockerfile -*-
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-#
-# Dockerfile to run MXNet on Ubuntu 14.04 for GPU
-
-FROM nvidia/cuda:10.1-cudnn7-devel-ubuntu14.04
-
-WORKDIR /work/deps
-
-COPY install/ubuntu_publish.sh /work/
-RUN /work/ubuntu_publish.sh
-
-COPY install/ubuntu_binutils.sh /work/
-RUN /work/ubuntu_binutils.sh
-
-ARG USER_ID=0
-ARG GROUP_ID=0
-COPY install/ubuntu_adduser.sh /work/
-RUN /work/ubuntu_adduser.sh
-
-COPY runtime_functions.sh /work/
-
-WORKDIR /work/mxnet
-ENV LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/lib
diff --git a/ci/docker/Dockerfile.publish.ubuntu1604_cpu
b/ci/docker/Dockerfile.publish.ubuntu1604_cpu
deleted file mode 100644
index e5898b66c1..0000000000
--- a/ci/docker/Dockerfile.publish.ubuntu1604_cpu
+++ /dev/null
@@ -1,44 +0,0 @@
-# -*- mode: dockerfile -*-
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-#
-# Dockerfile to build and run MXNet on Ubuntu 16.04 for CPU
-
-FROM ubuntu:16.04
-
-WORKDIR /work/deps
-
-COPY install/ubuntu_base.sh /work/
-RUN /work/ubuntu_base.sh
-
-COPY install/ubuntu_python.sh /work/
-COPY install/requirements /work/
-RUN /work/ubuntu_python.sh
-
-COPY install/ubuntu_scala.sh /work/
-COPY install/sbt.gpg /work/
-RUN /work/ubuntu_scala.sh
-
-ARG USER_ID=0
-ARG GROUP_ID=0
-COPY install/ubuntu_adduser.sh /work/
-RUN /work/ubuntu_adduser.sh
-
-COPY runtime_functions.sh /work/
-
-WORKDIR /work/mxnet
-ENV LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/lib
diff --git a/ci/docker/Dockerfile.publish.ubuntu1604_gpu
b/ci/docker/Dockerfile.publish.ubuntu1604_gpu
deleted file mode 100644
index 0bd8b8259b..0000000000
--- a/ci/docker/Dockerfile.publish.ubuntu1604_gpu
+++ /dev/null
@@ -1,44 +0,0 @@
-# -*- mode: dockerfile -*-
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-#
-# Dockerfile to run MXNet on Ubuntu 16.04 for GPU
-
-FROM nvidia/cuda:9.2-cudnn7-devel-ubuntu16.04
-
-WORKDIR /work/deps
-
-COPY install/ubuntu_base.sh /work/
-RUN /work/ubuntu_base.sh
-
-COPY install/ubuntu_python.sh /work/
-COPY install/requirements /work/
-RUN /work/ubuntu_python.sh
-
-COPY install/ubuntu_scala.sh /work/
-COPY install/sbt.gpg /work/
-RUN /work/ubuntu_scala.sh
-
-ARG USER_ID=0
-ARG GROUP_ID=0
-COPY install/ubuntu_adduser.sh /work/
-RUN /work/ubuntu_adduser.sh
-
-COPY runtime_functions.sh /work/
-
-WORKDIR /work/mxnet
-ENV LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/lib
diff --git a/ci/docker/docker-compose.yml b/ci/docker/docker-compose.yml
index f5f49a2460..02d988b595 100644
--- a/ci/docker/docker-compose.yml
+++ b/ci/docker/docker-compose.yml
@@ -35,8 +35,6 @@ services:
build:
context: .
dockerfile: Dockerfile.build.centos7
- # Use "base" target declared in Dockerfile.build.centos7 as
"build.centos7_cpu:latest"
- target: base
args:
# BASE_IMAGE is used to dynamically specify the FROM image in
Dockerfile.build.centos7
BASE_IMAGE: centos:7
@@ -47,7 +45,6 @@ services:
build:
context: .
dockerfile: Dockerfile.build.centos7
- target: base
args:
BASE_IMAGE: nvidia/cuda:10.0-cudnn7-devel-centos7
cache_from:
@@ -57,7 +54,6 @@ services:
build:
context: .
dockerfile: Dockerfile.build.centos7
- target: base
args:
BASE_IMAGE: nvidia/cuda:10.1-cudnn7-devel-centos7
cache_from:
@@ -67,7 +63,6 @@ services:
build:
context: .
dockerfile: Dockerfile.build.centos7
- target: base
args:
BASE_IMAGE: nvidia/cuda:10.2-cudnn8-devel-centos7
cache_from:
@@ -77,27 +72,42 @@ services:
build:
context: .
dockerfile: Dockerfile.build.centos7
- target: base
args:
BASE_IMAGE: nvidia/cuda:11.0.3-cudnn8-devel-centos7
cache_from:
- ${DOCKER_CACHE_REGISTRY}:build.centos7_gpu_cu110
+ centos7_gpu_cu111:
+ image: ${DOCKER_CACHE_REGISTRY}:build.centos7_gpu_cu111
+ build:
+ context: .
+ dockerfile: Dockerfile.build.centos7
+ args:
+ BASE_IMAGE: nvidia/cuda:11.1.1-cudnn8-devel-centos7
+ cache_from:
+ - ${DOCKER_CACHE_REGISTRY}:build.centos7_gpu_cu111
centos7_gpu_cu112:
image: ${DOCKER_CACHE_REGISTRY}:build.centos7_gpu_cu112
build:
context: .
dockerfile: Dockerfile.build.centos7
- target: base
args:
BASE_IMAGE: nvidia/cuda:11.2.2-cudnn8-devel-centos7
cache_from:
- ${DOCKER_CACHE_REGISTRY}:build.centos7_gpu_cu112
+ centos7_gpu_cu113:
+ image: ${DOCKER_CACHE_REGISTRY}:build.centos7_gpu_cu113
+ build:
+ context: .
+ dockerfile: Dockerfile.build.centos7
+ args:
+ BASE_IMAGE: nvidia/cuda:11.3.1-cudnn8-devel-centos7
+ cache_from:
+ - ${DOCKER_CACHE_REGISTRY}:build.centos7_gpu_cu113
centos7_gpu_cu114:
image: ${DOCKER_CACHE_REGISTRY}:build.centos7_gpu_cu114
build:
context: .
dockerfile: Dockerfile.build.centos7
- target: base
args:
BASE_IMAGE: nvidia/cuda:11.4.3-cudnn8-devel-centos7
cache_from:
@@ -107,7 +117,6 @@ services:
build:
context: .
dockerfile: Dockerfile.build.centos7
- target: base
args:
BASE_IMAGE: nvidia/cuda:11.5.2-cudnn8-devel-centos7
cache_from:
@@ -117,7 +126,6 @@ services:
build:
context: .
dockerfile: Dockerfile.build.centos7
- target: base
args:
BASE_IMAGE: nvidia/cuda:11.6.2-cudnn8-devel-centos7
cache_from:
@@ -127,8 +135,95 @@ services:
build:
context: .
dockerfile: Dockerfile.build.centos7
- target: base
args:
BASE_IMAGE: nvidia/cuda:11.7.1-cudnn8-devel-centos7
cache_from:
- ${DOCKER_CACHE_REGISTRY}:build.centos7_gpu_cu117
+ ubuntu_cpu:
+ image: ${DOCKER_CACHE_REGISTRY}:build.ubuntu_cpu
+ build:
+ context: .
+ dockerfile: Dockerfile.build.ubuntu_cpu
+ cache_from:
+ - ${DOCKER_CACHE_REGISTRY}:build.ubuntu_cpu
+ ubuntu_gpu_cu100:
+ image: ${DOCKER_CACHE_REGISTRY}:build.ubuntu_gpu_cu100
+ build:
+ context: .
+ dockerfile: Dockerfile.build.ubuntu_gpu
+ args:
+ BASE_IMAGE: nvidia/cuda:10.0-cudnn7-devel-ubuntu18.04
+ cache_from:
+ - ${DOCKER_CACHE_REGISTRY}:build.ubuntu_gpu_cu100
+ ubuntu_gpu_cu101:
+ image: ${DOCKER_CACHE_REGISTRY}:build.ubuntu_gpu_cu101
+ build:
+ context: .
+ dockerfile: Dockerfile.build.ubuntu_gpu
+ args:
+ BASE_IMAGE: nvidia/cuda:10.1-cudnn7-devel-ubuntu18.04
+ cache_from:
+ - ${DOCKER_CACHE_REGISTRY}:build.ubuntu_gpu_cu101
+ ubuntu_gpu_cu102:
+ image: ${DOCKER_CACHE_REGISTRY}:build.ubuntu_gpu_cu102
+ build:
+ context: .
+ dockerfile: Dockerfile.build.ubuntu_gpu
+ args:
+ BASE_IMAGE: nvidia/cuda:10.2-cudnn8-devel-ubuntu18.04
+ cache_from:
+ - ${DOCKER_CACHE_REGISTRY}:build.ubuntu_gpu_cu102
+ ubuntu_gpu_cu110:
+ image: ${DOCKER_CACHE_REGISTRY}:build.ubuntu_gpu_cu110
+ build:
+ context: .
+ dockerfile: Dockerfile.build.ubuntu_gpu
+ args:
+ BASE_IMAGE: nvidia/cuda:11.0.3-cudnn8-devel-ubuntu18.04
+ cache_from:
+ - ${DOCKER_CACHE_REGISTRY}:build.ubuntu_gpu_cu110
+ ubuntu_gpu_cu112:
+ image: ${DOCKER_CACHE_REGISTRY}:build.ubuntu_gpu_cu112
+ build:
+ context: .
+ dockerfile: Dockerfile.build.ubuntu_gpu
+ args:
+ BASE_IMAGE: nvidia/cuda:11.2.2-cudnn8-devel-ubuntu18.04
+ cache_from:
+ - ${DOCKER_CACHE_REGISTRY}:build.ubuntu_gpu_cu112
+ ubuntu_gpu_cu114:
+ image: ${DOCKER_CACHE_REGISTRY}:build.ubuntu_gpu_cu114
+ build:
+ context: .
+ dockerfile: Dockerfile.build.ubuntu_gpu
+ args:
+ BASE_IMAGE: nvidia/cuda:11.4.3-cudnn8-devel-ubuntu18.04
+ cache_from:
+ - ${DOCKER_CACHE_REGISTRY}:build.ubuntu_gpu_cu114
+ ubuntu_gpu_cu115:
+ image: ${DOCKER_CACHE_REGISTRY}:build.ubuntu_gpu_cu115
+ build:
+ context: .
+ dockerfile: Dockerfile.build.ubuntu_gpu
+ args:
+ BASE_IMAGE: nvidia/cuda:11.5.2-cudnn8-devel-ubuntu18.04
+ cache_from:
+ - ${DOCKER_CACHE_REGISTRY}:build.ubuntu_gpu_cu115
+ ubuntu_gpu_cu116:
+ image: ${DOCKER_CACHE_REGISTRY}:build.ubuntu_gpu_cu116
+ build:
+ context: .
+ dockerfile: Dockerfile.build.ubuntu_gpu
+ args:
+ BASE_IMAGE: nvidia/cuda:11.6.2-cudnn8-devel-ubuntu18.04
+ cache_from:
+ - ${DOCKER_CACHE_REGISTRY}:build.ubuntu_gpu_cu116
+ ubuntu_gpu_cu117:
+ image: ${DOCKER_CACHE_REGISTRY}:build.ubuntu_gpu_cu117
+ build:
+ context: .
+ dockerfile: Dockerfile.build.ubuntu_gpu
+ args:
+ BASE_IMAGE: nvidia/cuda:11.7.1-cudnn8-devel-ubuntu18.04
+ cache_from:
+ - ${DOCKER_CACHE_REGISTRY}:build.ubuntu_gpu_cu117
diff --git a/ci/docker/install/centos7_base.sh
b/ci/docker/install/centos7_base.sh
index 3b84aeb57b..9d66e427a0 100755
--- a/ci/docker/install/centos7_base.sh
+++ b/ci/docker/install/centos7_base.sh
@@ -24,10 +24,4 @@ set -ex
# Multipackage installation does not fail in yum
yum -y install epel-release
-yum -y install git
-yum -y install wget
-yum -y install make
-yum -y install cmake
-yum -y install unzip
-yum -y install ninja-build
-yum -y install gcc-gfortran
+yum -y install git wget make unzip ninja-build gcc-gfortran
diff --git a/ci/docker/install/centos7_core.sh
b/ci/docker/install/centos7_core.sh
index f9aa7a718e..4ff2eabd7c 100755
--- a/ci/docker/install/centos7_core.sh
+++ b/ci/docker/install/centos7_core.sh
@@ -25,31 +25,23 @@ set -ex
# Multipackage installation does not fail in yum
yum -y install ca-certificates
yum -y install epel-release
-yum -y install git
-yum -y install wget
-yum -y install atlas-devel # Provide clbas headerfiles
-yum -y install openblas-devel
-yum -y install lapack-devel
-yum -y install opencv-devel
-yum -y install protobuf-compiler
-yum -y install protobuf-devel
-yum -y install zeromq-devel
-yum -y install openssl-devel
-yum -y install gcc-c++-4.8.*
-yum -y install make
-yum -y install wget
-yum -y install unzip
-yum -y install ninja-build
-yum -y install automake
-yum -y install patchelf
-yum -y install nasm
-yum -y install libtool
-yum -y install dpkg-dev
+yum -y install git \
+ wget \
+ atlas-devel \
+ openblas-devel \
+ lapack-devel \
+ opencv-devel \
+ protobuf-compiler \
+ protobuf-devel \
+ zeromq-devel \
+ openssl-devel \
+ gcc-c++-4.8.* \
+ make \
+ unzip \
+ ninja-build \
+ automake \
+ patchelf \
+ nasm \
+ libtool \
+ dpkg-dev
-# CMake 3.13.2+ is required
-mkdir /opt/cmake && cd /opt/cmake
-wget -nv https://cmake.org/files/v3.13/cmake-3.13.5-Linux-x86_64.sh
-sh cmake-3.13.5-Linux-x86_64.sh --prefix=/opt/cmake --skip-license
-ln -s /opt/cmake/bin/cmake /usr/local/bin/cmake
-rm cmake-3.13.5-Linux-x86_64.sh
-cmake --version
diff --git a/ci/docker/install/centos7_python.sh
b/ci/docker/install/centos7_python.sh
index edaff09537..1856f68061 100755
--- a/ci/docker/install/centos7_python.sh
+++ b/ci/docker/install/centos7_python.sh
@@ -35,6 +35,3 @@ make install
cd ..
rm -rf Python-$PYTHON_VERSION*
pip3 install --upgrade pip setuptools wheel
-if [[ -f /work/requirements ]]; then
- pip3 install -r /work/requirements
-fi
diff --git a/ci/docker/install/requirements b/ci/docker/install/requirements
index 468a7bb456..8e27a1f31c 100644
--- a/ci/docker/install/requirements
+++ b/ci/docker/install/requirements
@@ -22,7 +22,7 @@ boto3==1.9.229
cpplint==1.3.0
Cython
decorator==4.4.0
-h5py<3
+h5py<3; platform_machine != 'aarch64'
mock==2.0.0
nose==1.3.7
nose-timer==0.7.3
diff --git a/ci/docker/install/requirements_aarch64
b/ci/docker/install/requirements_aarch64
deleted file mode 100644
index 6f45950ded..0000000000
--- a/ci/docker/install/requirements_aarch64
+++ /dev/null
@@ -1,34 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# 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
-
-boto3==1.9.229
-cpplint==1.3.0
-Cython
-decorator==4.4.0
-mock==2.0.0
-nose==1.3.7
-nose-timer==0.7.3
-pylint==2.3.1 # pylint and astroid need to be aligned
-astroid==2.3.3 # pylint and astroid need to be aligned
-requests<2.19.0,>=2.18.4
-setuptools
-coverage
-wheel
-packaging
diff --git a/ci/docker/install/ubuntu_core.sh b/ci/docker/install/ubuntu_core.sh
index 3cf48b55bf..f49ac218a2 100755
--- a/ci/docker/install/ubuntu_core.sh
+++ b/ci/docker/install/ubuntu_core.sh
@@ -68,11 +68,3 @@ if [[ "$VERSION_ID" != "16.04" ]]; then
apt-get install -y libturbojpeg0-dev
fi
-
-# CMake 3.13.2+ is required
-mkdir /opt/cmake && cd /opt/cmake
-wget -nv https://cmake.org/files/v3.13/cmake-3.13.5-Linux-x86_64.sh
-sh cmake-3.13.5-Linux-x86_64.sh --prefix=/opt/cmake --skip-license
-ln -s /opt/cmake/bin/cmake /usr/local/bin/cmake
-rm cmake-3.13.5-Linux-x86_64.sh
-cmake --version
diff --git a/ci/docker/install/ubuntu_publish.sh
b/ci/docker/install/ubuntu_publish.sh
deleted file mode 100755
index b5a8906cc2..0000000000
--- a/ci/docker/install/ubuntu_publish.sh
+++ /dev/null
@@ -1,96 +0,0 @@
-#!/usr/bin/env bash
-
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-# Build on Ubuntu 14.04 LTS for LINUX CPU/GPU
-set -ex
-
-# replace https with http to force apt-get update to use http
-# nvidia-docker no longer supports ubuntu 14.04
-# refer https://github.com/apache/incubator-mxnet/issues/18005
-sudo sed -i 's/https/http/g' /etc/apt/sources.list.d/*.list
-apt-get update
-apt-get install -y software-properties-common
-add-apt-repository ppa:ubuntu-toolchain-r/test -y
-add-apt-repository ppa:openjdk-r/ppa -y # Java lib
-apt-get update
-apt-get install -y git \
- cmake3 \
- ninja-build \
- libcurl4-openssl-dev \
- unzip \
- gcc-4.8 \
- g++-4.8 \
- gfortran \
- gfortran-4.8 \
- binutils \
- nasm \
- libtool \
- curl \
- wget \
- sudo \
- gnupg \
- gnupg2 \
- gnupg-agent \
- pandoc \
- python3-pip \
- automake \
- pkg-config \
- openjdk-8-jdk
-
-# disable expired cert that causes download issues with let's encrypt certs
-sed -i 's/mozilla\/DST_Root_CA_X3.crt/!mozilla\/DST_Root_CA_X3.crt/g'
/etc/ca-certificates.conf
-update-ca-certificates
-
-curl -o apache-maven-3.3.9-bin.tar.gz -L
http://www.eu.apache.org/dist/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz
\
- || curl -o apache-maven-3.3.9-bin.tar.gz -L
https://search.maven.org/remotecontent?filepath=org/apache/maven/apache-maven/3.3.9/apache-maven-3.3.9-bin.tar.gz
-
-tar xzf apache-maven-3.3.9-bin.tar.gz
-mkdir /usr/local/maven
-mv apache-maven-3.3.9/ /usr/local/maven/
-update-alternatives --install /usr/bin/mvn mvn
/usr/local/maven/apache-maven-3.3.9/bin/mvn 1
-update-ca-certificates -f
-
-# patchelf available starting Ubuntu 16.04; compile from source for Ubuntu
14.04
-mkdir /usr/local/patchelf
-cd /usr/local/patchelf
-curl -L -o patchelf-0.10.tar.gz
https://github.com/NixOS/patchelf/archive/0.10.tar.gz
-tar xzf patchelf-0.10.tar.gz
-cd /usr/local/patchelf/patchelf-0.10
-./bootstrap.sh
-./configure
-make
-sudo make install
-cd /
-
-apt-get install -y python python-pip python3 python3-pip
-
-# the version of the pip shipped with ubuntu may be too lower, install a
recent version here
-# Restrict pip version to <19 due to use of Python 3.4 on Ubuntu 14.04
-python3 -m pip install --upgrade 'pip<19'
-
-# Allow numpy version as advanced as 1.19.5 to avoid CVE-2021-41495 and
CVE-2021-41496 affecting <1.19.1.
-python3 -m pip install --upgrade --ignore-installed nose cpplint==1.3.0
pylint==2.3.1 'numpy>=1.16.0,<1.20.0' nose-timer 'requests<2.19.0,>=2.18.4'
'h5py<3' scipy==1.0.1 boto3 packaging
-
-# CMake 3.13.2+ is required
-mkdir /opt/cmake && cd /opt/cmake
-wget -nv https://cmake.org/files/v3.13/cmake-3.13.5-Linux-x86_64.sh
-sh cmake-3.13.5-Linux-x86_64.sh --prefix=/opt/cmake --skip-license
-ln -s /opt/cmake/bin/cmake /usr/local/bin/cmake
-rm cmake-3.13.5-Linux-x86_64.sh
-cmake --version
diff --git a/ci/docker/install/ubuntu_python.sh
b/ci/docker/install/ubuntu_python.sh
index bdce2ab862..a9e3df0ce5 100755
--- a/ci/docker/install/ubuntu_python.sh
+++ b/ci/docker/install/ubuntu_python.sh
@@ -21,16 +21,17 @@
# the whole docker cache for the image
set -ex
-# install libraries for mxnet's python package on ubuntu
-apt-get update || true
-apt-get install -y software-properties-common
-add-apt-repository -y ppa:deadsnakes/ppa
-apt-get update || true
-apt-get install -y python3.7-dev python3.7-distutils virtualenv wget
-# setup symlink in /usr/local/bin to override python3 version
-ln -sf /usr/bin/python3.7 /usr/local/bin/python3
-# the version of the pip shipped with ubuntu may be too lower, install a
recent version here
-wget -nv https://bootstrap.pypa.io/get-pip.py
-/usr/local/bin/python3 get-pip.py
-/usr/local/bin/python3 -m pip install -r /work/requirements
+apt-get update
+apt-get install -y make wget libssl-dev libbz2-dev libffi-dev libhdf5-dev
libsqlite3-dev
+
+PYTHON_VERSION=3.8.12
+wget -q
https://www.python.org/ftp/python/$PYTHON_VERSION/Python-$PYTHON_VERSION.tgz
+tar -xzf Python-$PYTHON_VERSION.tgz
+cd Python-$PYTHON_VERSION
+./configure --prefix=/usr/local
+make -j $(nproc)
+make install
+cd ..
+rm -rf Python-$PYTHON_VERSION*
+pip3 install --upgrade pip setuptools wheel
diff --git a/ci/docker/install/ubuntu_tutorials.sh
b/ci/docker/install/ubuntu_tutorials.sh
index 469df6190e..4757c69534 100755
--- a/ci/docker/install/ubuntu_tutorials.sh
+++ b/ci/docker/install/ubuntu_tutorials.sh
@@ -22,7 +22,7 @@
set -ex
apt-get update || true
-apt-get install graphviz python-opencv
+apt-get install graphviz
# sckit-learn past version 0.20 does not support python version 2 and 3.4
pip3 install jupyter matplotlib Pillow opencv-python scikit-learn
graphviz==0.8.4 tqdm mxboard scipy gluoncv
diff --git a/ci/docker/install/ubuntu_tvm.sh b/ci/docker/install/ubuntu_tvm.sh
index 2ee4e534ed..ba4d2353e0 100755
--- a/ci/docker/install/ubuntu_tvm.sh
+++ b/ci/docker/install/ubuntu_tvm.sh
@@ -17,15 +17,18 @@
# specific language governing permissions and limitations
# under the License.
+set -e
+
# Build and install TVM
cd /tmp
-git clone https://github.com/dmlc/tvm/ --recursive
+git clone https://github.com/dmlc/tvm.git tvm
cd tvm
# This is a stable tag that support MXNet TVM bridge.
# We use this since support for mxnet bridge just checked
# into master and there is yet a version tag
git checkout v0.4
+git submodule update --init --recursive
cp cmake/config.cmake .
echo set\(USE_CUDA /usr/local/cuda\) >> config.cmake
@@ -36,9 +39,9 @@ echo set\(USE_GRAPH_RUNTIME ON\) >> config.cmake
make -j$(nproc)
cd python
-python setup.py install
+python3 setup.py install
cd -
cd topi/python
-python setup.py install
+python3 setup.py install
cd -
diff --git a/ci/docker/runtime_functions.sh b/ci/docker/runtime_functions.sh
index 006c0a31a7..81377c5ffe 100755
--- a/ci/docker/runtime_functions.sh
+++ b/ci/docker/runtime_functions.sh
@@ -705,7 +705,7 @@ build_ubuntu_cpu_mkldnn_mkl() {
}
build_ubuntu_gpu() {
- build_ubuntu_gpu_cuda101_cudnn7
+ build_ubuntu_gpu_cudnn8
}
build_ubuntu_gpu_tensorrt() {
@@ -771,7 +771,7 @@ build_ubuntu_gpu_mkldnn_nocudnn() {
-j$(nproc)
}
-build_ubuntu_gpu_cuda101_cudnn7() {
+build_ubuntu_gpu_cudnn7() {
set -ex
build_ccache_wrappers
make \
@@ -790,7 +790,7 @@ build_ubuntu_gpu_cuda101_cudnn7() {
make cython PYTHON=python3
}
-build_ubuntu_gpu_cuda110_cudnn8() {
+build_ubuntu_gpu_cudnn8() {
set -ex
build_ccache_wrappers
local CUDA_ARCH="-gencode=arch=compute_52,code=sm_52 \
@@ -807,11 +807,12 @@ build_ubuntu_gpu_cuda110_cudnn8() {
USE_DIST_KVSTORE=1 \
CUDA_ARCH="$CUDA_ARCH" \
USE_SIGNAL_HANDLER=1 \
+ USE_LAPACK_PATH=/usr/lib/x86_64-linux-gnu \
-j$(nproc)
make cython PYTHON=python3
}
-build_ubuntu_gpu_cuda101_cudnn7_mkldnn_cpp_test() {
+build_ubuntu_gpu_cudnn8_mkldnn_cpp_test() {
set -ex
build_ccache_wrappers
make \
@@ -984,10 +985,6 @@ cd_unittest_ubuntu() {
local nose_cmd="nosetests-3.4"
- if [[ ${mxnet_variant} = aarch64_cpu ]]; then
- source /opt/rh/rh-python38/enable
- fi
-
$nose_cmd $NOSE_TIMER_ARGUMENTS --verbose tests/python/unittest
$nose_cmd $NOSE_TIMER_ARGUMENTS --verbose tests/python/quantization
@@ -1043,7 +1040,7 @@ unittest_ubuntu_python3_gpu() {
export MXNET_MKLDNN_DEBUG=0 # Ignored if not present
export MXNET_STORAGE_FALLBACK_LOG_VERBOSE=0
export MXNET_SUBGRAPH_VERBOSE=0
- export CUDNN_VERSION=${CUDNN_VERSION:-7.0.3}
+ export CUDNN_VERSION=${CUDNN_VERSION:-8.5.0.96}
export MXNET_ENABLE_CYTHON=0
export DMLC_LOG_STACK_TRACE_DEPTH=10
nosetests-3.4 $NOSE_COVERAGE_ARGUMENTS $NOSE_TIMER_ARGUMENTS --with-xunit
--xunit-file nosetests_gpu.xml --verbose tests/python/gpu
@@ -1055,7 +1052,7 @@ unittest_ubuntu_python3_gpu_cython() {
export MXNET_MKLDNN_DEBUG=1 # Ignored if not present
export MXNET_STORAGE_FALLBACK_LOG_VERBOSE=0
export MXNET_SUBGRAPH_VERBOSE=0
- export CUDNN_VERSION=${CUDNN_VERSION:-7.0.3}
+ export CUDNN_VERSION=${CUDNN_VERSION:-8.5.0.96}
export MXNET_ENABLE_CYTHON=1
export MXNET_ENFORCE_CYTHON=1
export DMLC_LOG_STACK_TRACE_DEPTH=10
@@ -1098,19 +1095,7 @@ unittest_ubuntu_python3_quantization_gpu() {
export MXNET_MKLDNN_DEBUG=0 # Ignored if not present
export MXNET_STORAGE_FALLBACK_LOG_VERBOSE=0
export MXNET_SUBGRAPH_VERBOSE=0
- export CUDNN_VERSION=${CUDNN_VERSION:-7.0.3}
- export MXNET_ENABLE_CYTHON=0
- export DMLC_LOG_STACK_TRACE_DEPTH=10
- nosetests-3.4 $NOSE_COVERAGE_ARGUMENTS $NOSE_TIMER_ARGUMENTS --with-xunit
--xunit-file nosetests_quantization_gpu.xml --verbose
tests/python/quantization_gpu
-}
-
-unittest_ubuntu_python3_quantization_gpu_cu110() {
- set -ex
- export PYTHONPATH=./python/
- export MXNET_MKLDNN_DEBUG=0 # Ignored if not present
- export MXNET_STORAGE_FALLBACK_LOG_VERBOSE=0
- export MXNET_SUBGRAPH_VERBOSE=0
- export CUDNN_VERSION=${CUDNN_VERSION:-8.0.33}
+ export CUDNN_VERSION=${CUDNN_VERSION:-8.5.0.96}
export MXNET_ENABLE_CYTHON=0
export DMLC_LOG_STACK_TRACE_DEPTH=10
nosetests-3.4 $NOSE_COVERAGE_ARGUMENTS $NOSE_TIMER_ARGUMENTS --with-xunit
--xunit-file nosetests_quantization_gpu.xml --verbose
tests/python/quantization_gpu
@@ -1251,7 +1236,7 @@ unittest_centos7_cpu() {
unittest_centos7_gpu() {
set -ex
cd /work/mxnet
- export CUDNN_VERSION=${CUDNN_VERSION:-7.0.3}
+ export CUDNN_VERSION=${CUDNN_VERSION:-8.5.0.96}
export DMLC_LOG_STACK_TRACE_DEPTH=10
python3 -m "nose" $NOSE_COVERAGE_ARGUMENTS $NOSE_TIMER_ARGUMENTS
--with-xunit --xunit-file nosetests_gpu.xml --verbose tests/python/gpu
}
@@ -2023,9 +2008,6 @@ cd_package_pypi() {
set -ex
pushd .
local mxnet_variant=${1:?"This function requires a python command as the
first argument"}
- if [[ ${mxnet_variant} = aarch64_cpu ]]; then
- source /opt/rh/rh-python38/enable
- fi
./cd/python/pypi/pypi_package.sh ${mxnet_variant}
popd
}
@@ -2044,10 +2026,6 @@ cd_integration_test_pypi() {
test_conv_params="--gpu"
fi
- if [[ ${mxnet_variant} = aarch64_cpu ]]; then
- source /opt/rh/rh-python38/enable
- fi
-
# install mxnet wheel package
python3 -m pip install --user ./wheel_build/dist/*.whl
diff --git a/ci/docker_cache.py b/ci/docker_cache.py
index a51203480d..f349a804b2 100755
--- a/ci/docker_cache.py
+++ b/ci/docker_cache.py
@@ -81,11 +81,14 @@ def _build_save_container(platform, registry, load_cache)
-> Optional[str]:
if build_util.is_docker_compose(platform):
if "dkr.ecr" in registry:
_ecr_login(registry)
- build_util.build_docker(platform=platform, registry=registry,
- num_retries=DOCKER_BUILD_NUM_RETRIES,
no_cache=False)
docker_compose_service = platform.split(".")[1]
env = os.environ.copy()
env["DOCKER_CACHE_REGISTRY"] = registry
+ if load_cache:
+ push_cmd = ['docker-compose', '-f', 'docker/docker-compose.yml',
'pull', '--quiet', docker_compose_service]
+ subprocess.check_call(push_cmd, env=env)
+ build_util.build_docker(platform=platform, registry=registry,
+ num_retries=DOCKER_BUILD_NUM_RETRIES,
no_cache=False)
push_cmd = ['docker-compose', '-f', 'docker/docker-compose.yml',
'push', docker_compose_service]
subprocess.check_call(push_cmd, env=env)
return None
diff --git a/ci/jenkins/Jenkins_steps.groovy b/ci/jenkins/Jenkins_steps.groovy
index 42e52a3c17..c80b71d2b2 100644
--- a/ci/jenkins/Jenkins_steps.groovy
+++ b/ci/jenkins/Jenkins_steps.groovy
@@ -147,7 +147,7 @@ def compile_unix_int64_gpu() {
ws('workspace/build-gpu-int64') {
timeout(time: max_time, unit: 'MINUTES') {
utils.init_git()
- utils.docker_run('ubuntu_gpu_cu101',
'build_ubuntu_gpu_large_tensor', false)
+ utils.docker_run('ubuntu_gpu_cu117',
'build_ubuntu_gpu_large_tensor', false)
utils.pack_lib('ubuntu_gpu_int64', mx_cmake_lib)
}
}
@@ -203,7 +203,7 @@ def compile_unix_mkldnn_gpu() {
ws('workspace/build-mkldnn-gpu') {
timeout(time: max_time, unit: 'MINUTES') {
utils.init_git()
- utils.docker_run('ubuntu_build_cuda', 'build_ubuntu_gpu_mkldnn',
false)
+ utils.docker_run('ubuntu_gpu_cu117', 'build_ubuntu_gpu_mkldnn',
false)
utils.pack_lib('mkldnn_gpu', mx_mkldnn_lib)
}
}
@@ -217,7 +217,7 @@ def compile_unix_mkldnn_nocudnn_gpu() {
ws('workspace/build-mkldnn-gpu-nocudnn') {
timeout(time: max_time, unit: 'MINUTES') {
utils.init_git()
- utils.docker_run('ubuntu_build_cuda',
'build_ubuntu_gpu_mkldnn_nocudnn', false)
+ utils.docker_run('ubuntu_gpu_cu117',
'build_ubuntu_gpu_mkldnn_nocudnn', false)
utils.pack_lib('mkldnn_gpu_nocudnn', mx_mkldnn_lib)
}
}
@@ -226,12 +226,12 @@ def compile_unix_mkldnn_nocudnn_gpu() {
}
def compile_unix_full_gpu() {
- return ['GPU: CUDA10.1+cuDNN7': {
+ return ['GPU: CUDA11.7+cuDNN8': {
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_cuda101_cudnn7', false)
+ utils.docker_run('ubuntu_gpu_cu117', 'build_ubuntu_gpu_cudnn8',
false)
utils.pack_lib('gpu', mx_lib_cpp_examples)
}
}
@@ -239,27 +239,13 @@ def compile_unix_full_gpu() {
}]
}
-def compile_unix_full_gpu_cu110() {
- return ['GPU: CUDA11.0+cuDNN8': {
- node(NODE_LINUX_CPU) {
- ws('workspace/build-gpu') {
- timeout(time: max_time, unit: 'MINUTES') {
- utils.init_git()
- utils.docker_run('ubuntu_build_cuda110',
'build_ubuntu_gpu_cuda110_cudnn8', false)
- utils.pack_lib('gpu_cu110', mx_lib_cpp_examples)
- }
- }
- }
- }]
-}
-
def compile_unix_full_gpu_mkldnn_cpp_test() {
- return ['GPU: CUDA10.1+cuDNN7+MKLDNN+CPPTEST': {
+ return ['GPU: CUDA11.7+cuDNN8+MKLDNN+CPPTEST': {
node(NODE_LINUX_CPU) {
ws('workspace/build-gpu-mkldnn-cpp') {
timeout(time: max_time, unit: 'MINUTES') {
utils.init_git()
- utils.docker_run('ubuntu_build_cuda',
'build_ubuntu_gpu_cuda101_cudnn7_mkldnn_cpp_test', false)
+ utils.docker_run('ubuntu_gpu_cu117',
'build_ubuntu_gpu_cudnn8_mkldnn_cpp_test', false)
utils.pack_lib('gpu_mkldnn_cpp_test', mx_lib_cpp_capi)
}
}
@@ -273,7 +259,7 @@ def compile_unix_cmake_mkldnn_gpu() {
ws('workspace/build-cmake-mkldnn-gpu') {
timeout(time: max_time, unit: 'MINUTES') {
utils.init_git()
- utils.docker_run('ubuntu_gpu_cu101',
'build_ubuntu_gpu_cmake_mkldnn', false)
+ utils.docker_run('ubuntu_gpu_cu117',
'build_ubuntu_gpu_cmake_mkldnn', false)
utils.pack_lib('cmake_mkldnn_gpu', mx_cmake_mkldnn_lib)
}
}
@@ -287,7 +273,7 @@ def compile_unix_cmake_gpu() {
ws('workspace/build-cmake-gpu') {
timeout(time: max_time, unit: 'MINUTES') {
utils.init_git()
- utils.docker_run('ubuntu_gpu_cu101', 'build_ubuntu_gpu_cmake',
false)
+ utils.docker_run('ubuntu_gpu_cu117', 'build_ubuntu_gpu_cmake',
false)
utils.pack_lib('cmake_gpu', mx_cmake_lib_cython)
}
}
@@ -301,7 +287,7 @@ def compile_unix_cmake_gpu_no_rtc() {
ws('workspace/build-cmake-gpu-no-rtc') {
timeout(time: max_time, unit: 'MINUTES') {
utils.init_git()
- utils.docker_run('ubuntu_gpu_cu101',
'build_ubuntu_gpu_cmake_no_rtc', false)
+ utils.docker_run('ubuntu_gpu_cu117',
'build_ubuntu_gpu_cmake_no_rtc', false)
}
}
}
@@ -356,7 +342,7 @@ def compile_centos7_gpu() {
ws('workspace/build-centos7-gpu') {
timeout(time: max_time, unit: 'MINUTES') {
utils.init_git()
- utils.docker_run('centos7_gpu_cu101', 'build_centos7_gpu', false)
+ utils.docker_run('centos7_gpu_cu117', 'build_centos7_gpu', false)
utils.pack_lib('centos7_gpu', mx_lib)
}
}
@@ -642,7 +628,7 @@ def test_static_scala_cpu() {
ws('workspace/ut-publish-scala-cpu') {
timeout(time: max_time, unit: 'MINUTES') {
utils.init_git()
- utils.docker_run('publish.ubuntu1404_cpu',
'build_static_scala_cpu', false)
+ utils.docker_run('centos7_cd', 'build_static_scala_cpu', false)
}
}
}
@@ -730,19 +716,7 @@ def test_unix_python3_gpu() {
node(NODE_LINUX_GPU_G4) {
ws('workspace/ut-python3-gpu') {
utils.unpack_and_init('gpu', mx_lib_cython)
- python3_gpu_ut_cython('ubuntu_gpu_cu101')
- utils.publish_test_coverage()
- }
- }
- }]
-}
-
-def test_unix_python3_gpu_cu110() {
- return ['Python3+CUDA11.0: GPU': {
- node(NODE_LINUX_GPU_G4) {
- ws('workspace/ut-python3-gpu') {
- utils.unpack_and_init('gpu_cu110', mx_lib_cython)
- python3_gpu_ut_cython('ubuntu_gpu_cu110')
+ python3_gpu_ut_cython('ubuntu_gpu_cu117')
utils.publish_test_coverage()
}
}
@@ -755,21 +729,7 @@ def test_unix_python3_quantize_gpu() {
ws('workspace/ut-python3-quantize-gpu') {
timeout(time: max_time, unit: 'MINUTES') {
utils.unpack_and_init('gpu', mx_lib)
- utils.docker_run('ubuntu_gpu_cu101',
'unittest_ubuntu_python3_quantization_gpu', true)
- utils.publish_test_coverage()
- }
- }
- }
- }]
-}
-
-def test_unix_python3_quantize_gpu_cu110() {
- return ['Python3+CUDA11.0: Quantize GPU': {
- node(NODE_LINUX_GPU_G4) {
- ws('workspace/ut-python3-quantize-gpu') {
- timeout(time: max_time, unit: 'MINUTES') {
- utils.unpack_and_init('gpu_cu110', mx_lib)
- utils.docker_run('ubuntu_gpu_cu110',
'unittest_ubuntu_python3_quantization_gpu', true)
+ utils.docker_run('ubuntu_gpu_cu117',
'unittest_ubuntu_python3_quantization_gpu', true)
utils.publish_test_coverage()
}
}
@@ -828,7 +788,7 @@ def test_unix_python3_mkldnn_gpu() {
node(NODE_LINUX_GPU_G4) {
ws('workspace/ut-python3-mkldnn-gpu') {
utils.unpack_and_init('mkldnn_gpu', mx_mkldnn_lib)
- python3_gpu_ut('ubuntu_gpu_cu101')
+ python3_gpu_ut('ubuntu_gpu_cu117')
utils.publish_test_coverage()
}
}
@@ -840,7 +800,7 @@ def test_unix_python3_mkldnn_nocudnn_gpu() {
node(NODE_LINUX_GPU_G4) {
ws('workspace/ut-python3-mkldnn-gpu-nocudnn') {
utils.unpack_and_init('mkldnn_gpu_nocudnn', mx_mkldnn_lib)
- python3_gpu_ut_nocudnn('ubuntu_gpu_cu101')
+ python3_gpu_ut_nocudnn('ubuntu_gpu_cu117')
utils.publish_test_coverage()
}
}
@@ -867,7 +827,7 @@ def test_unix_python3_integration_gpu() {
ws('workspace/it-python-gpu') {
timeout(time: max_time, unit: 'MINUTES') {
utils.unpack_and_init('gpu', mx_lib)
- utils.docker_run('ubuntu_gpu_cu101',
'integrationtest_ubuntu_gpu_python', true)
+ utils.docker_run('ubuntu_gpu_cu117',
'integrationtest_ubuntu_gpu_python', true)
utils.publish_test_coverage()
}
}
@@ -882,7 +842,7 @@ def test_unix_caffe_gpu() {
timeout(time: max_time, unit: 'MINUTES') {
utils.init_git()
utils.unpack_lib('gpu', mx_lib)
- utils.docker_run('ubuntu_gpu_cu101',
'integrationtest_ubuntu_gpu_caffe', true)
+ utils.docker_run('ubuntu_gpu_cu117',
'integrationtest_ubuntu_gpu_caffe', true)
utils.publish_test_coverage()
}
}
@@ -896,7 +856,7 @@ def test_unix_cpp_package_gpu() {
ws('workspace/it-cpp-package') {
timeout(time: max_time, unit: 'MINUTES') {
utils.unpack_and_init('gpu', mx_lib_cpp_examples)
- utils.docker_run('ubuntu_gpu_cu101',
'integrationtest_ubuntu_gpu_cpp_package', true)
+ utils.docker_run('ubuntu_gpu_cu117',
'integrationtest_ubuntu_gpu_cpp_package', true)
utils.publish_test_coverage()
}
}
@@ -910,7 +870,7 @@ def test_unix_capi_cpp_package() {
ws('workspace/it-capi-cpp-package') {
timeout(time: max_time, unit: 'MINUTES') {
utils.unpack_and_init('gpu_mkldnn_cpp_test', mx_lib_cpp_capi)
- utils.docker_run('ubuntu_gpu_cu101',
'integrationtest_ubuntu_gpu_capi_cpp_package', true)
+ utils.docker_run('ubuntu_gpu_cu117',
'integrationtest_ubuntu_gpu_capi_cpp_package', true)
utils.publish_test_coverage()
}
}
@@ -952,7 +912,7 @@ def test_unix_scala_gpu() {
ws('workspace/ut-scala-gpu') {
timeout(time: max_time, unit: 'MINUTES') {
utils.unpack_and_init('gpu', mx_lib)
- utils.docker_run('ubuntu_gpu_cu101',
'integrationtest_ubuntu_gpu_scala', true)
+ utils.docker_run('ubuntu_gpu_cu117',
'integrationtest_ubuntu_gpu_scala', true)
utils.publish_test_coverage()
}
}
@@ -1035,7 +995,7 @@ def test_unix_cpp_gpu() {
ws('workspace/ut-cpp-gpu') {
timeout(time: max_time, unit: 'MINUTES') {
utils.unpack_and_init('cmake_gpu', mx_cmake_lib)
- utils.docker_run('ubuntu_gpu_cu101', 'unittest_cpp', true)
+ utils.docker_run('ubuntu_gpu_cu117', 'unittest_cpp', true)
utils.publish_test_coverage()
}
}
@@ -1049,7 +1009,7 @@ def test_unix_cpp_mkldnn_gpu() {
ws('workspace/ut-cpp-mkldnn-gpu') {
timeout(time: max_time, unit: 'MINUTES') {
utils.unpack_and_init('cmake_mkldnn_gpu', mx_cmake_mkldnn_lib)
- utils.docker_run('ubuntu_gpu_cu101', 'unittest_cpp', true)
+ utils.docker_run('ubuntu_gpu_cu117', 'unittest_cpp', true)
utils.publish_test_coverage()
}
}
@@ -1077,7 +1037,7 @@ def test_unix_perl_gpu() {
ws('workspace/ut-perl-gpu') {
timeout(time: max_time, unit: 'MINUTES') {
utils.unpack_and_init('gpu', mx_lib)
- utils.docker_run('ubuntu_gpu_cu101',
'unittest_ubuntu_cpugpu_perl', true)
+ utils.docker_run('ubuntu_gpu_cu117',
'unittest_ubuntu_cpugpu_perl', true)
utils.publish_test_coverage()
}
}
@@ -1091,7 +1051,7 @@ def test_unix_r_gpu() {
ws('workspace/ut-r-gpu') {
timeout(time: max_time, unit: 'MINUTES') {
utils.unpack_and_init('gpu', mx_lib)
- utils.docker_run('ubuntu_gpu_cu101', 'unittest_ubuntu_gpu_R', true)
+ utils.docker_run('ubuntu_gpu_cu117', 'unittest_ubuntu_gpu_R', true)
utils.publish_test_coverage()
}
}
@@ -1159,7 +1119,7 @@ def test_unix_distributed_kvstore_gpu() {
ws('workspace/it-dist-kvstore') {
timeout(time: max_time, unit: 'MINUTES') {
utils.unpack_and_init('gpu', mx_lib)
- utils.docker_run('ubuntu_gpu_cu101',
'integrationtest_ubuntu_gpu_dist_kvstore', true)
+ utils.docker_run('ubuntu_gpu_cu117',
'integrationtest_ubuntu_gpu_dist_kvstore', true)
utils.publish_test_coverage()
}
}
@@ -1187,7 +1147,7 @@ def test_centos7_python3_gpu() {
ws('workspace/build-centos7-gpu') {
timeout(time: max_time, unit: 'MINUTES') {
utils.unpack_and_init('centos7_gpu', mx_lib)
- utils.docker_run('centos7_gpu_cu101', 'unittest_centos7_gpu', true)
+ utils.docker_run('centos7_gpu_cu117', 'unittest_centos7_gpu', true)
utils.publish_test_coverage()
}
}
@@ -1403,7 +1363,7 @@ def docs_julia() {
ws('workspace/docs') {
timeout(time: max_time, unit: 'MINUTES') {
utils.unpack_and_init('libmxnet', mx_lib, false)
- utils.docker_run('ubuntu_cpu_julia', 'build_julia_docs', false)
+ utils.docker_run('ubuntu_cpu', 'build_julia_docs', false)
if (should_pack_website()) {
utils.pack_lib('julia-artifacts',
'docs/_build/julia-artifacts.tgz', false)
}
diff --git a/ci/jenkins/Jenkinsfile_unix_gpu_cu110
b/ci/jenkins/Jenkinsfile_unix_gpu_cu110
deleted file mode 100644
index 3f663dc996..0000000000
--- a/ci/jenkins/Jenkinsfile_unix_gpu_cu110
+++ /dev/null
@@ -1,52 +0,0 @@
-// -*- mode: groovy -*-
-
-// Licensed to the Apache Software Foundation (ASF) under one
-// or more contributor license agreements. See the NOTICE file
-// distributed with this work for additional information
-// regarding copyright ownership. The ASF licenses this file
-// to you under the Apache License, Version 2.0 (the
-// "License"); you may not use this file except in compliance
-// with the License. You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing,
-// software distributed under the License is distributed on an
-// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-// KIND, either express or implied. See the License for the
-// specific language governing permissions and limitations
-// under the License.
-//
-// Jenkins pipeline
-// See documents at https://jenkins.io/doc/book/pipeline/jenkinsfile/
-
-// timeout in minutes
-max_time = 180
-
-node('utility') {
- // Loading the utilities requires a node context unfortunately
- checkout scm
- utils = load('ci/Jenkinsfile_utils.groovy')
- custom_steps = load('ci/jenkins/Jenkins_steps.groovy')
-}
-utils.assign_node_labels(utility: 'utility', linux_cpu: 'mxnetlinux-cpu',
linux_gpu: 'mxnetlinux-gpu', linux_gpu_p3: 'mxnetlinux-gpu-p3', linux_gpu_g4:
'mxnetlinux-gpu-g4')
-
-utils.main_wrapper(
-core_logic: {
- utils.parallel_stage('Build', [
- custom_steps.compile_unix_full_gpu_cu110()
- ])
-
- utils.parallel_stage('Tests', [
- custom_steps.test_unix_python3_gpu_cu110(),
- custom_steps.test_unix_python3_quantize_gpu_cu110()
- ])
-}
-,
-failure_handler: {
- // Only send email if master or release branches failed
- if (currentBuild.result == "FAILURE" && (env.BRANCH_NAME == "master" ||
env.BRANCH_NAME.startsWith("v"))) {
- emailext body: 'Build for MXNet branch ${BRANCH_NAME} has broken. Please
view the build at ${BUILD_URL}', replyTo: '${EMAIL}', subject: '[BUILD FAILED]
Branch ${BRANCH_NAME} build ${BUILD_NUMBER}', to: '${EMAIL}'
- }
-}
-)
diff --git a/ci/publish/Jenkinsfile b/ci/publish/Jenkinsfile
deleted file mode 100644
index ed09b4c2ef..0000000000
--- a/ci/publish/Jenkinsfile
+++ /dev/null
@@ -1,110 +0,0 @@
-// -*- mode: groovy -*-
-
-// Licensed to the Apache Software Foundation (ASF) under one
-// or more contributor license agreements. See the NOTICE file
-// distributed with this work for additional information
-// regarding copyright ownership. The ASF licenses this file
-// to you under the Apache License, Version 2.0 (the
-// "License"); you may not use this file except in compliance
-// with the License. You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing,
-// software distributed under the License is distributed on an
-// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-// KIND, either express or implied. See the License for the
-// specific language governing permissions and limitations
-// under the License.
-
-// Jenkins pipeline
-// See documents at https://jenkins.io/doc/book/pipeline/jenkinsfile/
-
-//mxnet libraries
-mx_scala_pub = 'lib/**, 3rdparty/dmlc-core/libdmlc.a,
3rdparty/tvm/nnvm/lib/libnnvm.a, 3rdparty/ps-lite/build/libps.a,
deps/lib/libprotobuf-lite.a, deps/lib/libzmq.a, config.mk,
scala-package/pom.xml, scala-package/**/pom.xml, scala-package/**/target/**,
scala-package/*/target/repo/**'
-
-// timeout in minutes
-max_time = 120
-
-node('restricted-utility') {
- // Loading the utilities requires a node context unfortunately
- checkout scm
- utils = load('ci/Jenkinsfile_utils.groovy')
-}
-utils.assign_node_labels(utility: 'restricted-utility', linux_cpu:
'restricted-mxnetlinux-cpu', linux_gpu: 'restricted-mxnetlinux-gpu',
linux_gpu_p3: 'restricted-mxnetlinux-gpu-p3', windows_cpu:
'restricted-mxnetwindows-cpu', windows_gpu: 'restricted-mxnetwindows-gpu')
-
-// CPU and GPU. OSX nodes are not currently supported by Jenkins
-def nodeMap = ['cpu': NODE_LINUX_CPU, 'gpu': NODE_LINUX_GPU_P3]
-def scalaOSMap = ['cpu': 'linux-x86_64-cpu', 'gpu': 'linux-x86_64-gpu']
-def scalaVariantMap = ['cpu': 'cpu', 'gpu': 'cu92']
-
-def wrapStep(nodeToRun, workspaceName, step) {
- return {
- node(nodeToRun) {
- ws("workspace/${workspaceName}") {
- timeout(time: max_time, unit: 'MINUTES') {
- step()
- }
- }
- }
- }
-}
-
-def toBuild = [:]
-def labels = ['cpu', 'gpu']
-for (x in labels) {
- def label = x // Required due to language
- toBuild["Scala Build ${label}"] = wrapStep(nodeMap['cpu'],
"build-scala-${label}") {
- withEnv(["MAVEN_PUBLISH_OS_TYPE=${scalaOSMap[label]}",
"mxnet_variant=${scalaVariantMap[label]}"]) {
- utils.init_git()
- utils.docker_run("publish.ubuntu1404_cpu", 'publish_scala_build', false,
'500m', 'MAVEN_PUBLISH_OS_TYPE mxnet_variant')
- utils.pack_lib("scala_${label}", mx_scala_pub, false)
- }
- }
-}
-
-def toTest = [:]
-def systems = ['ubuntu1604', 'ubuntu1804', 'centos7']
-for (x in labels) {
- def label = x // Required due to language
- for (y in systems) {
- def system = y // Required due to language
- toTest["Scala Test ${system} ${label}"] = wrapStep(nodeMap[label],
"test-scala-${system}-${label}") {
- withEnv(["mxnet_variant=${scalaVariantMap[label]}"]) {
- utils.unpack_and_init("scala_${label}", mx_scala_pub, false)
- utils.docker_run("publish.test.${system}_${label}",
'publish_scala_test', label == 'gpu', '500m', 'mxnet_variant')
- }
- }
- }
-}
-
-def toDeploy = [:]
-for (x in labels) {
- def label = x // Required due to language
- toDeploy["Scala Deploy ${label}"] = wrapStep(nodeMap[label],
"deploy-scala-${label}") {
- withEnv(["MAVEN_PUBLISH_OS_TYPE=${scalaOSMap[label]}",
"mxnet_variant=${scalaVariantMap[label]}"]) {
- utils.unpack_and_init("scala_${label}", mx_scala_pub, false)
- utils.docker_run("publish.ubuntu1604_${label}", 'publish_scala_deploy',
label == 'gpu' ? true : false, '500m', 'MAVEN_PUBLISH_OS_TYPE
MAVEN_PUBLISH_SECRET_ENDPOINT_URL MAVEN_PUBLISH_SECRET_NAME_CREDENTIALS
MAVEN_PUBLISH_SECRET_NAME_GPG DOCKERHUB_SECRET_ENDPOINT_REGION mxnet_variant')
- }
- }
-}
-
-utils.main_wrapper(
-core_logic: {
- stage('Build Packages') {
- parallel toBuild
- }
- stage('Test Packages') {
- parallel toTest
- }
- stage('Deploy Packages') {
- parallel toDeploy
- }
-}
-,
-failure_handler: {
- if (currentBuild.result == "FAILURE") {
- emailext body: 'Generating the nightly maven has failed. Please view the
build at ${BUILD_URL}', replyTo: '${EMAIL}', subject: '[NIGHTLY MAVEN FAILED]
Build ${BUILD_NUMBER}', to: '${EMAIL}'
- }
-}
-)
diff --git a/python/mxnet/contrib/text/utils.py
b/python/mxnet/contrib/text/utils.py
index 79cf903edb..2250979754 100644
--- a/python/mxnet/contrib/text/utils.py
+++ b/python/mxnet/contrib/text/utils.py
@@ -77,7 +77,7 @@ def count_tokens_from_str(source_str, token_delim=' ',
seq_delim='\n',
source_str = [t.lower() for t in source_str]
if counter_to_update is None:
- return collections.Counter(source_str)
+ return collections.Counter(source_str) # pylint:
disable=too-many-function-args
else:
counter_to_update.update(source_str)
return counter_to_update
diff --git a/python/mxnet/numpy/multiarray.py b/python/mxnet/numpy/multiarray.py
index 9a803d48b5..7c5ef0092a 100644
--- a/python/mxnet/numpy/multiarray.py
+++ b/python/mxnet/numpy/multiarray.py
@@ -193,8 +193,8 @@ _NUMPY_ARRAY_FUNCTION_DICT = {}
_NUMPY_ARRAY_UFUNC_DICT = {}
-@set_module('mxnet.numpy') # pylint: disable=invalid-name
-class ndarray(NDArray):
+@set_module('mxnet.numpy')
+class ndarray(NDArray): # pylint: disable=invalid-name
"""
ndarray(handle, writable=True):
diff --git a/python/mxnet/optimizer/optimizer.py
b/python/mxnet/optimizer/optimizer.py
index 737a947509..c92c35e98e 100755
--- a/python/mxnet/optimizer/optimizer.py
+++ b/python/mxnet/optimizer/optimizer.py
@@ -1537,8 +1537,8 @@ class SGLD(Optimizer):
-@register # pylint: disable=invalid-name
-class ccSGD(SGD):
+@register
+class ccSGD(SGD): # pylint: disable=invalid-name
"""[DEPRECATED] Same as `SGD`. Left here for backward compatibility."""
def __init__(self, *args, **kwargs):
super(ccSGD, self).__init__(*args, **kwargs)
diff --git a/tests/nightly/Jenkinsfile b/tests/nightly/Jenkinsfile
index 192f3d3452..0d1c881fad 100755
--- a/tests/nightly/Jenkinsfile
+++ b/tests/nightly/Jenkinsfile
@@ -38,34 +38,6 @@ core_logic: {
}
}
},
- 'InstallationGuide: CPU': {
- node(NODE_LINUX_CPU) {
- ws('workspace/nt-Installation-cpu') {
- utils.init_git()
- //Some install guide tests are currently diabled and tracked here:
- //1. https://github.com/apache/incubator-mxnet/issues/11369
- //2. https://github.com/apache/incubator-mxnet/issues/11288
- //utils.docker_run('ubuntu_base_cpu', 'nightly_test_installation
ubuntu_python_cpu_virtualenv', false)
- //docker_run('ubuntu_base_cpu', 'nightly_test_installation
ubuntu_python_cpu_pip', false)
- //docker_run('ubuntu_base_cpu', 'nightly_test_installation
ubuntu_python_cpu_docker', false)
- //docker_run('ubuntu_base_cpu', 'nightly_test_installation
ubuntu_python_cpu_source', false)
- }
- }
- },
- 'InstallationGuide: GPU': {
- node(NODE_LINUX_GPU) {
- ws('workspace/nt-Installation-gpu') {
- utils.init_git()
- //Some install guide tests are currently diabled and tracked here:
- //1. https://github.com/apache/incubator-mxnet/issues/11369
- //2. https://github.com/apache/incubator-mxnet/issues/11288
- //utils.docker_run('ubuntu_base_gpu', 'nightly_test_installation
ubuntu_python_gpu_virtualenv', true)
- //docker_run('ubuntu_base_gpu', 'nightly_test_installation
ubuntu_python_gpu_pip', true)
- //docker_run('ubuntu_base_gpu', 'nightly_test_installation
ubuntu_python_gpu_docker', true)
- //utils.docker_run('ubuntu_base_gpu', 'nightly_test_installation
ubuntu_python_gpu_source', true)
- }
- }
- },
'PipTest: GPU': {
node(NODE_LINUX_GPU) {
ws('workspace/nt-pipTest') {
diff --git a/tests/nightly/JenkinsfileForBinaries
b/tests/nightly/JenkinsfileForBinaries
index e44ad415cf..c8f52c2b05 100755
--- a/tests/nightly/JenkinsfileForBinaries
+++ b/tests/nightly/JenkinsfileForBinaries
@@ -32,11 +32,11 @@ utils.assign_node_labels(utility: 'utility', linux_cpu:
'mxnetlinux-cpu', linux_
utils.main_wrapper(
core_logic: {
stage('Build') {
- parallel 'GPU: CUDA10.1+cuDNN7': {
+ parallel 'GPU: CUDA11.7+cuDNN8': {
node(NODE_LINUX_CPU) {
ws('workspace/build-mkldnn-gpu') {
utils.init_git()
- utils.docker_run('ubuntu_build_cuda', 'build_ubuntu_gpu_mkldnn',
false)
+ utils.docker_run('ubuntu_gpu_cu117', 'build_ubuntu_gpu_mkldnn',
false)
utils.pack_lib('gpu', mx_lib_cpp_example_mkl)
}
}