From 845ae9f3954eca4c3487cb3452ea6a16015decc6 Mon Sep 17 00:00:00 2001 From: Wei Chu Date: Thu, 1 Oct 2020 19:51:14 -0700 Subject: [PATCH 1/5] static build with cuda 11.0 --- make/staticbuild/linux_cu110.mk | 173 ++++++++++++++++++++++++++++++++ tools/pip/setup.py | 6 +- tools/setup_gpu_build_tools.sh | 60 +++++++++-- 3 files changed, 226 insertions(+), 13 deletions(-) create mode 100644 make/staticbuild/linux_cu110.mk diff --git a/make/staticbuild/linux_cu110.mk b/make/staticbuild/linux_cu110.mk new file mode 100644 index 000000000000..fda9130a5fdf --- /dev/null +++ b/make/staticbuild/linux_cu110.mk @@ -0,0 +1,173 @@ +# 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. +# +#------------------------------------------------------------------------------- +# Template configuration for compiling mxnet for making python wheel +#------------------------------------------------------------------------------- + +#--------------------- +# choice of compiler +#-------------------- + +export CC = gcc +export CXX = g++ +export NVCC = nvcc + +# whether compile with options for MXNet developer +DEV = 0 + +# whether compile with debug +DEBUG = 0 + +# whether to turn on signal handler (e.g. segfault logger) +USE_SIGNAL_HANDLER = 1 + +# the additional link flags you want to add +ADD_LDFLAGS += -L$(DEPS_PATH)/lib $(DEPS_PATH)/lib/libculibos.a -lpng -ltiff -ljpeg -lz -ldl -lgfortran -Wl,--version-script=$(CURDIR)/make/config/libmxnet.ver,-rpath,'$${ORIGIN}',--gc-sections + +# the additional compile flags you want to add +ADD_CFLAGS += -I$(DEPS_PATH)/include -ffunction-sections -fdata-sections + +#--------------------------------------------- +# matrix computation libraries for CPU/GPU +#--------------------------------------------- + +# choose the version of blas you want to use +# can be: mkl, blas, atlas, openblas +# in default use atlas for linux while apple for osx +USE_BLAS=openblas + +# whether use opencv during compilation +# you can disable it, however, you will not able to use +# imbin iterator +USE_OPENCV = 1 +# Add OpenCV include path, in which the directory `opencv2` exists +USE_OPENCV_INC_PATH = NONE +# Add OpenCV shared library path, in which the shared library exists +USE_OPENCV_LIB_PATH = NONE + +# whether use CUDA during compile +USE_CUDA = 1 + +# add the path to CUDA library to link and compile flag +# if you have already add them to environment variable, leave it as NONE +# USE_CUDA_PATH = /usr/local/cuda +USE_CUDA_PATH = $(DEPS_PATH)/usr/local/cuda-11.0 + +# whether to use CuDNN library +USE_CUDNN = 1 + +# whether to use NCCL library +USE_NCCL = 1 + +# CUDA architecture setting: going with all of them. +# For CUDA < 6.0, comment the *_50 lines for compatibility. +# CUDA_ARCH := + +# whether use cuda runtime compiling for writing kernels in native language (i.e. Python) +ENABLE_CUDA_RTC = 1 + +USE_NVTX=1 + +# use openmp for parallelization +USE_OPENMP = 1 +USE_OPERATOR_TUNING = 1 +USE_LIBJPEG_TURBO = 1 + +# whether use MKL-DNN library +USE_MKLDNN = 1 + +# whether use NNPACK library +USE_NNPACK = 0 + +# whether use lapack during compilation +# only effective when compiled with blas versions openblas/apple/atlas/mkl +USE_LAPACK = 1 + +# path to lapack library in case of a non-standard installation +USE_LAPACK_PATH = $(DEPS_PATH)/lib + +# add path to intel library, you may need it for MKL, if you did not add the path +# to environment variable +USE_INTEL_PATH = NONE + +# If use MKL, choose static link automatically to allow python wrapper +ifeq ($(USE_BLAS), mkl) +USE_STATIC_MKL = 1 +else +USE_STATIC_MKL = NONE +endif + +#---------------------------- +# Settings for power and arm arch +#---------------------------- +ARCH := $(shell uname -a) +ifneq (,$(filter $(ARCH), armv6l armv7l powerpc64le ppc64le aarch64)) + USE_SSE=0 +else + USE_SSE=1 +endif + +#---------------------------- +# distributed computing +#---------------------------- + +# whether or not to enable multi-machine supporting +USE_DIST_KVSTORE = 1 + +# whether or not allow to read and write HDFS directly. If yes, then hadoop is +# required +USE_HDFS = 0 + +# path to libjvm.so. required if USE_HDFS=1 +LIBJVM=$(JAVA_HOME)/jre/lib/amd64/server + +# whether or not allow to read and write AWS S3 directly. If yes, then +# libcurl4-openssl-dev is required, it can be installed on Ubuntu by +# sudo apt-get install -y libcurl4-openssl-dev +USE_S3 = 1 + +#---------------------------- +# additional operators +#---------------------------- + +# path to folders containing projects specific operators that you don't want to put in src/operators +EXTRA_OPERATORS = + + +#---------------------------- +# plugins +#---------------------------- + +# whether to use caffe integration. This requires installing caffe. +# You also need to add CAFFE_PATH/build/lib to your LD_LIBRARY_PATH +# CAFFE_PATH = $(HOME)/caffe +# MXNET_PLUGINS += plugin/caffe/caffe.mk + +# whether to use torch integration. This requires installing torch. +# You also need to add TORCH_PATH/install/lib to your LD_LIBRARY_PATH +# TORCH_PATH = $(HOME)/torch +# MXNET_PLUGINS += plugin/torch/torch.mk + +# WARPCTC_PATH = $(HOME)/warp-ctc +# MXNET_PLUGINS += plugin/warpctc/warpctc.mk + +# whether to use sframe integration. This requires build sframe +# git@github.com:dato-code/SFrame.git +# SFRAME_PATH = $(HOME)/SFrame +# MXNET_PLUGINS += plugin/sframe/plugin.mk + diff --git a/tools/pip/setup.py b/tools/pip/setup.py index d9183f958183..942844feb4a0 100644 --- a/tools/pip/setup.py +++ b/tools/pip/setup.py @@ -133,7 +133,9 @@ def skip_markdown_comments(md): if variant == 'CPU': libraries.append('openblas') else: - if variant.startswith('CU102'): + if variant.startswith('CU110'): + libraries.append('CUDA-11.0') + elif variant.startswith('CU102'): libraries.append('CUDA-10.2') elif variant.startswith('CU101'): libraries.append('CUDA-10.1') @@ -215,4 +217,4 @@ def skip_markdown_comments(md): 'Topic :: Software Development :: Libraries', 'Topic :: Software Development :: Libraries :: Python Modules', ], - url='https://github.com/apache/incubator-mxnet') + url='https://github.com/apache/incubator-mxnet') \ No newline at end of file diff --git a/tools/setup_gpu_build_tools.sh b/tools/setup_gpu_build_tools.sh index bba37108b98b..5706d7e64b0c 100755 --- a/tools/setup_gpu_build_tools.sh +++ b/tools/setup_gpu_build_tools.sh @@ -27,7 +27,16 @@ VARIANT=$1 DEPS_PATH=$2 >&2 echo "Setting CUDA versions for $VARIANT" -if [[ $VARIANT == cu102* ]]; then +if [[ $VARIANT == cu110* ]]; then + CUDA_VERSION='11.0.221-1' + CUDA_PATCH_VERSION='11.2.0.252-1' + CUDA_LIBS_VERSION='10.2.1.245-1' + CUDA_SOLVER_VERSION='10.6.0.245-1' + CUDA_NVTX_VERSION='11.0.167-1' + LIBCUDA_VERSION='450.51.06-0ubuntu1' + LIBCUDNN_VERSION='8.0.3.33-1+cuda11.0' + LIBNCCL_VERSION='2.7.8-1+cuda11.0' +elif [[ $VARIANT == cu102* ]]; then CUDA_VERSION='10.2.89-1' CUDA_PATCH_VERSION='10.2.2.89-1' LIBCUDA_VERSION='440.33.01-0ubuntu1' @@ -86,7 +95,7 @@ if [[ $VARIANT == cu* ]]; then os_name=$(cat /etc/*release | grep '^ID=' | sed 's/^.*=//g') os_version=$(cat /etc/*release | grep VERSION_ID | sed 's/^.*"\([0-9]*\)\.\([0-9]*\)"/\1\2/g') os_id="${os_name}${os_version}" - if [[ $CUDA_MAJOR_DASH == 9-* ]] || [[ $CUDA_MAJOR_DASH == 10-* ]]; then + if [[ $CUDA_MAJOR_DASH == 9-* ]] || [[ $CUDA_MAJOR_DASH == 10-* ]] || [[ $CUDA_MAJOR_DASH == 11-* ]]; then os_id="ubuntu1604" fi export PATH=/usr/lib/binutils-2.26/bin/:${PATH}:$DEPS_PATH/usr/local/cuda-$CUDA_MAJOR_VERSION/bin @@ -98,7 +107,31 @@ if [[ $VARIANT == cu* ]]; then fi # list of debs to download from nvidia -if [[ $VARIANT == cu102* ]]; then +if [[ $VARIANT == cu110* ]]; then + cuda_files=( \ + "libcublas-${CUDA_MAJOR_DASH}_${CUDA_PATCH_VERSION}_amd64.deb" \ + "libcublas-dev-${CUDA_MAJOR_DASH}_${CUDA_PATCH_VERSION}_amd64.deb" \ + "cuda-cudart-${CUDA_MAJOR_DASH}_${CUDA_VERSION}_amd64.deb" \ + "cuda-cudart-dev-${CUDA_MAJOR_DASH}_${CUDA_VERSION}_amd64.deb" \ + "libcurand-${CUDA_MAJOR_DASH}_${CUDA_LIBS_VERSION}_amd64.deb" \ + "libcurand-dev-${CUDA_MAJOR_DASH}_${CUDA_LIBS_VERSION}_amd64.deb" \ + "libcufft-${CUDA_MAJOR_DASH}_${CUDA_LIBS_VERSION}_amd64.deb" \ + "libcufft-dev-${CUDA_MAJOR_DASH}_${CUDA_LIBS_VERSION}_amd64.deb" \ + "cuda-nvrtc-${CUDA_MAJOR_DASH}_${CUDA_VERSION}_amd64.deb" \ + "cuda-nvrtc-dev-${CUDA_MAJOR_DASH}_${CUDA_VERSION}_amd64.deb" \ + "libcusolver-${CUDA_MAJOR_DASH}_${CUDA_SOLVER_VERSION}_amd64.deb" \ + "libcusolver-dev-${CUDA_MAJOR_DASH}_${CUDA_SOLVER_VERSION}_amd64.deb" \ + "cuda-nvcc-${CUDA_MAJOR_DASH}_${CUDA_VERSION}_amd64.deb" \ + "cuda-nvtx-${CUDA_MAJOR_DASH}_${CUDA_NVTX_VERSION}_amd64.deb" \ + "libcuda1-${LIBCUDA_MAJOR}_${LIBCUDA_VERSION}_amd64.deb" \ + "cuda-nvprof-${CUDA_MAJOR_DASH}_${CUDA_VERSION}_amd64.deb" \ + "nvidia-${LIBCUDA_MAJOR}_${LIBCUDA_VERSION}_amd64.deb" \ + ) + ml_files=( \ + "libcudnn${LIBCUDNN_MAJOR}-dev_${LIBCUDNN_VERSION}_amd64.deb" \ + "libnccl-dev_${LIBNCCL_VERSION}_amd64.deb" \ + ) +elif [[ $VARIANT == cu102* ]]; then cuda_files=( \ "cuda-core-${CUDA_MAJOR_DASH}_${CUDA_VERSION}_amd64.deb" \ "libcublas10_${CUDA_PATCH_VERSION}_amd64.deb" \ @@ -312,11 +345,16 @@ if [[ ! -d $DEPS_PATH/usr/local/cuda-${CUDA_MAJOR_VERSION} ]]; then rm package.deb done - mkdir -p ${prefix}/include - mkdir -p ${prefix}/lib - cp ${prefix}/usr/include/x86_64-linux-gnu/cudnn_v${LIBCUDNN_MAJOR}.h ${prefix}/include/cudnn.h - ln -s libcudnn_static_v${LIBCUDNN_MAJOR}.a ${prefix}/usr/lib/x86_64-linux-gnu/libcudnn.a - cp ${prefix}/usr/local/cuda-${CUDA_MAJOR_VERSION}/lib64/*.a ${prefix}/lib/ - cp ${prefix}/usr/include/nccl.h ${prefix}/include/nccl.h - ln -s libnccl_static.a ${prefix}/usr/lib/x86_64-linux-gnu/libnccl.a -fi + mkdir -p ${prefix}/include ${prefix}/lib ${prefix}/usr/lib/x86_64-linux-gnu + if [[ $LIBCUDNN_MAJOR == 8 ]]; then + for h in ${prefix}/usr/include/x86_64-linux-gnu/cudnn_*_v8.h; do + newfile=$(basename $h | sed 's/_v8//') + cp $h ${prefix}/include/$newfile + done + fi + cp -f ${prefix}/usr/include/x86_64-linux-gnu/cudnn_v${LIBCUDNN_MAJOR}.h ${prefix}/include/cudnn.h + ln -sf libcudnn_static_v${LIBCUDNN_MAJOR}.a ${prefix}/usr/lib/x86_64-linux-gnu/libcudnn.a + cp -f ${prefix}/usr/local/cuda-${CUDA_MAJOR_VERSION}/lib64/*.a ${prefix}/lib/ + cp -f ${prefix}/usr/include/nccl.h ${prefix}/include/nccl.h + ln -sf libnccl_static.a ${prefix}/usr/lib/x86_64-linux-gnu/libnccl.a +fi \ No newline at end of file From 8b62b1c85624585061c8fc4b85e36a7350301ae1 Mon Sep 17 00:00:00 2001 From: Wei Chu Date: Fri, 2 Oct 2020 10:17:13 -0700 Subject: [PATCH 2/5] add newline at the end of files, add set -e --- tools/pip/setup.py | 2 +- tools/setup_gpu_build_tools.sh | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/tools/pip/setup.py b/tools/pip/setup.py index 942844feb4a0..d7820fccacb6 100644 --- a/tools/pip/setup.py +++ b/tools/pip/setup.py @@ -217,4 +217,4 @@ def skip_markdown_comments(md): 'Topic :: Software Development :: Libraries', 'Topic :: Software Development :: Libraries :: Python Modules', ], - url='https://github.com/apache/incubator-mxnet') \ No newline at end of file + url='https://github.com/apache/incubator-mxnet') diff --git a/tools/setup_gpu_build_tools.sh b/tools/setup_gpu_build_tools.sh index 5706d7e64b0c..459d2f372a56 100755 --- a/tools/setup_gpu_build_tools.sh +++ b/tools/setup_gpu_build_tools.sh @@ -23,6 +23,8 @@ # the following environment variables: # PATH, CPLUS_INCLUDE_PATH, C_INCLUDE_PATH, LIBRARY_PATH, LD_LIBRARY_PATH, NVCC +set -e + VARIANT=$1 DEPS_PATH=$2 @@ -357,4 +359,4 @@ if [[ ! -d $DEPS_PATH/usr/local/cuda-${CUDA_MAJOR_VERSION} ]]; then cp -f ${prefix}/usr/local/cuda-${CUDA_MAJOR_VERSION}/lib64/*.a ${prefix}/lib/ cp -f ${prefix}/usr/include/nccl.h ${prefix}/include/nccl.h ln -sf libnccl_static.a ${prefix}/usr/lib/x86_64-linux-gnu/libnccl.a -fi \ No newline at end of file +fi From 1a3e20bedd5370eb886284fb1cf92c71a1c32ad0 Mon Sep 17 00:00:00 2001 From: Wei Chu Date: Fri, 2 Oct 2020 10:20:53 -0700 Subject: [PATCH 3/5] add new line --- tools/pip/setup.py | 1 + tools/setup_gpu_build_tools.sh | 1 + 2 files changed, 2 insertions(+) diff --git a/tools/pip/setup.py b/tools/pip/setup.py index d7820fccacb6..0d28362f7c78 100644 --- a/tools/pip/setup.py +++ b/tools/pip/setup.py @@ -218,3 +218,4 @@ def skip_markdown_comments(md): 'Topic :: Software Development :: Libraries :: Python Modules', ], url='https://github.com/apache/incubator-mxnet') + diff --git a/tools/setup_gpu_build_tools.sh b/tools/setup_gpu_build_tools.sh index 459d2f372a56..e2253b2623e3 100755 --- a/tools/setup_gpu_build_tools.sh +++ b/tools/setup_gpu_build_tools.sh @@ -360,3 +360,4 @@ if [[ ! -d $DEPS_PATH/usr/local/cuda-${CUDA_MAJOR_VERSION} ]]; then cp -f ${prefix}/usr/include/nccl.h ${prefix}/include/nccl.h ln -sf libnccl_static.a ${prefix}/usr/lib/x86_64-linux-gnu/libnccl.a fi + From 9a8001b5d6eec5120d540f89d91996b2d3b39d42 Mon Sep 17 00:00:00 2001 From: Wei Chu Date: Wed, 7 Oct 2020 18:38:38 -0700 Subject: [PATCH 4/5] initial commit --- cd/Jenkinsfile_cd_pipeline | 2 +- cd/Jenkinsfile_release_job | 2 +- cd/README.md | 2 +- cd/utils/artifact_repository.md | 2 +- cd/utils/mxnet_base_image.sh | 3 ++ config/distribution/linux_cu110.cmake | 34 +++++++++++++++++++++ tools/pip/doc/CPU_ADDITIONAL.md | 1 + tools/pip/doc/CU100_ADDITIONAL.md | 1 + tools/pip/doc/CU101_ADDITIONAL.md | 1 + tools/pip/doc/CU102_ADDITIONAL.md | 1 + tools/pip/doc/CU110_ADDITIONAL.md | 44 +++++++++++++++++++++++++++ tools/pip/doc/CU92_ADDITIONAL.md | 6 ++-- tools/pip/doc/NATIVE_ADDITIONAL.md | 1 + tools/staticbuild/README.md | 2 +- 14 files changed, 94 insertions(+), 8 deletions(-) create mode 100644 config/distribution/linux_cu110.cmake create mode 100644 tools/pip/doc/CU110_ADDITIONAL.md diff --git a/cd/Jenkinsfile_cd_pipeline b/cd/Jenkinsfile_cd_pipeline index 5ed3e6dd9968..717ad524caa1 100644 --- a/cd/Jenkinsfile_cd_pipeline +++ b/cd/Jenkinsfile_cd_pipeline @@ -36,7 +36,7 @@ pipeline { parameters { // Release parameters - string(defaultValue: "cpu,native,cu90,cu92,cu100,cu101,cu102", description: "Comma separated list of variants", name: "MXNET_VARIANTS") + string(defaultValue: "cpu,native,cu92,cu100,cu101,cu102,cu110", description: "Comma separated list of variants", name: "MXNET_VARIANTS") booleanParam(defaultValue: false, description: 'Whether this is a release build or not', name: "RELEASE_BUILD") } diff --git a/cd/Jenkinsfile_release_job b/cd/Jenkinsfile_release_job index c8b4918f51b6..0c2a0e7f7f0d 100644 --- a/cd/Jenkinsfile_release_job +++ b/cd/Jenkinsfile_release_job @@ -43,7 +43,7 @@ pipeline { // any disruption caused by different COMMIT_ID values chaning the job parameter configuration on // Jenkins. string(defaultValue: "mxnet_lib/static", description: "Pipeline to build", name: "RELEASE_JOB_TYPE") - string(defaultValue: "cpu,native,cu90,cu92,cu100,cu101,cu102", description: "Comma separated list of variants", name: "MXNET_VARIANTS") + string(defaultValue: "cpu,native,cu92,cu100,cu101,cu102,cu110", description: "Comma separated list of variants", name: "MXNET_VARIANTS") booleanParam(defaultValue: false, description: 'Whether this is a release build or not', name: "RELEASE_BUILD") } diff --git a/cd/README.md b/cd/README.md index 266455c952ff..10d0a7dc8277 100644 --- a/cd/README.md +++ b/cd/README.md @@ -31,11 +31,11 @@ Currently, below variants are supported. All of these variants except native hav * *cpu*: CPU * *native*: CPU without MKL-DNN -* *cu90*: CUDA 9.0 * *cu92*: CUDA 9.2 * *cu100*: CUDA 10 * *cu101*: CUDA 10.1 * *cu102*: CUDA 10.2 +* *cu110*: CUDA 11.20 *For more on variants, see [here](https://github.com/apache/incubator-mxnet/issues/8671)* diff --git a/cd/utils/artifact_repository.md b/cd/utils/artifact_repository.md index 12b4a27208c6..49399bbb5551 100644 --- a/cd/utils/artifact_repository.md +++ b/cd/utils/artifact_repository.md @@ -53,7 +53,7 @@ If not set, derived through the value of sys.platform (https://docs.python.org/3 **Variant** -Manually configured through the --variant argument. The current variants are: cpu, native, cu80, cu90, cu92, cu100, and cu101. +Manually configured through the --variant argument. The current variants are: cpu, native, cu92, cu100, cu101, cu102 and cu110. As long as the tool is being run from the MXNet code base, the runtime feature detection tool (https://github.com/larroy/mxnet/blob/dd432b7f241c9da2c96bcb877c2dc84e6a1f74d4/docs/api/python/libinfo/libinfo.md) can be used to detect whether the library has been compiled with MKL (library has MKL-DNN feature enabled) and/or CUDA support (compiled with CUDA feature enabled). diff --git a/cd/utils/mxnet_base_image.sh b/cd/utils/mxnet_base_image.sh index c87db661818c..0e1ecc8f7b08 100755 --- a/cd/utils/mxnet_base_image.sh +++ b/cd/utils/mxnet_base_image.sh @@ -39,6 +39,9 @@ case ${mxnet_variant} in cu102*) echo "nvidia/cuda:10.2-cudnn7-runtime-ubuntu16.04" ;; + cu110*) + echo "nvidia/cuda:11.0-cudnn8-runtime-ubuntu16.04" + ;; cpu) echo "ubuntu:16.04" ;; diff --git a/config/distribution/linux_cu110.cmake b/config/distribution/linux_cu110.cmake new file mode 100644 index 000000000000..7d44a993abf1 --- /dev/null +++ b/config/distribution/linux_cu110.cmake @@ -0,0 +1,34 @@ +# 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. + +set(CMAKE_BUILD_TYPE "Distribution" CACHE STRING "Build type") +set(CFLAGS "-mno-avx" CACHE STRING "CFLAGS") +set(CXXFLAGS "-mno-avx" CACHE STRING "CXXFLAGS") + +set(USE_CUDA ON CACHE BOOL "Build with CUDA support") +set(USE_CUDNN ON CACHE BOOL "Build with CUDA support") +set(USE_OPENCV ON CACHE BOOL "Build with OpenCV support") +set(USE_OPENMP ON CACHE BOOL "Build with Openmp support") +set(USE_MKL_IF_AVAILABLE OFF CACHE BOOL "Use Intel MKL if found") +set(USE_MKLDNN ON CACHE BOOL "Build with MKL-DNN support") +set(USE_LAPACK ON CACHE BOOL "Build with lapack support") +set(USE_TVM_OP OFF CACHE BOOL "Enable use of TVM operator build system.") +set(USE_SSE ON CACHE BOOL "Build with x86 SSE instruction support") +set(USE_F16C OFF CACHE BOOL "Build with x86 F16C instruction support") + +set(CUDACXX "/usr/local/cuda-11.0/bin/nvcc" CACHE STRING "Cuda compiler") +set(MXNET_CUDA_ARCH "5.0;6.0;7.0;8.0" CACHE STRING "Cuda architectures") diff --git a/tools/pip/doc/CPU_ADDITIONAL.md b/tools/pip/doc/CPU_ADDITIONAL.md index 035ef4ce922e..090186e652ae 100644 --- a/tools/pip/doc/CPU_ADDITIONAL.md +++ b/tools/pip/doc/CPU_ADDITIONAL.md @@ -18,6 +18,7 @@ Prerequisites ------------- This package supports Linux, Mac OSX, and Windows platforms. You may also want to check: +- [mxnet-cu110](https://pypi.python.org/pypi/mxnet-cu110/) with CUDA-11.0 support. - [mxnet-cu102](https://pypi.python.org/pypi/mxnet-cu102/) with CUDA-10.2 support. - [mxnet-cu101](https://pypi.python.org/pypi/mxnet-cu101/) with CUDA-10.1 support. - [mxnet-cu100](https://pypi.python.org/pypi/mxnet-cu100/) with CUDA-10.0 support. diff --git a/tools/pip/doc/CU100_ADDITIONAL.md b/tools/pip/doc/CU100_ADDITIONAL.md index 439d9002727e..c7638e83b0c1 100644 --- a/tools/pip/doc/CU100_ADDITIONAL.md +++ b/tools/pip/doc/CU100_ADDITIONAL.md @@ -18,6 +18,7 @@ Prerequisites ------------- This package supports Linux and Windows platforms. You may also want to check: +- [mxnet-cu110](https://pypi.python.org/pypi/mxnet-cu110/) with CUDA-11.0 support. - [mxnet-cu102](https://pypi.python.org/pypi/mxnet-cu102/) with CUDA-10.2 support. - [mxnet-cu101](https://pypi.python.org/pypi/mxnet-cu101/) with CUDA-10.1 support. - [mxnet-cu92](https://pypi.python.org/pypi/mxnet-cu92/) with CUDA-9.2 support. diff --git a/tools/pip/doc/CU101_ADDITIONAL.md b/tools/pip/doc/CU101_ADDITIONAL.md index c983c73f2d15..44ebb894c2db 100644 --- a/tools/pip/doc/CU101_ADDITIONAL.md +++ b/tools/pip/doc/CU101_ADDITIONAL.md @@ -18,6 +18,7 @@ Prerequisites ------------- This package supports Linux and Windows platforms. You may also want to check: +- [mxnet-cu110](https://pypi.python.org/pypi/mxnet-cu110/) with CUDA-11.0 support. - [mxnet-cu102](https://pypi.python.org/pypi/mxnet-cu102/) with CUDA-10.2 support. - [mxnet-cu100](https://pypi.python.org/pypi/mxnet-cu101/) with CUDA-10.0 support. - [mxnet-cu92](https://pypi.python.org/pypi/mxnet-cu92/) with CUDA-9.2 support. diff --git a/tools/pip/doc/CU102_ADDITIONAL.md b/tools/pip/doc/CU102_ADDITIONAL.md index 8417db13a344..4a81de827d60 100644 --- a/tools/pip/doc/CU102_ADDITIONAL.md +++ b/tools/pip/doc/CU102_ADDITIONAL.md @@ -18,6 +18,7 @@ Prerequisites ------------- This package supports Linux and Windows platforms. You may also want to check: +- [mxnet-cu110](https://pypi.python.org/pypi/mxnet-cu110/) with CUDA-11.0 support. - [mxnet-cu101](https://pypi.python.org/pypi/mxnet-cu101/) with CUDA-10.1 support. - [mxnet-cu100](https://pypi.python.org/pypi/mxnet-cu100/) with CUDA-10.0 support. - [mxnet-cu92](https://pypi.python.org/pypi/mxnet-cu92/) with CUDA-9.2 support. diff --git a/tools/pip/doc/CU110_ADDITIONAL.md b/tools/pip/doc/CU110_ADDITIONAL.md new file mode 100644 index 000000000000..8eaa7b204d35 --- /dev/null +++ b/tools/pip/doc/CU110_ADDITIONAL.md @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + +Prerequisites +------------- +This package supports Linux and Windows platforms. You may also want to check: +- [mxnet-cu102](https://pypi.python.org/pypi/mxnet-cu102/) with CUDA-10.2 support. +- [mxnet-cu101](https://pypi.python.org/pypi/mxnet-cu101/) with CUDA-10.1 support. +- [mxnet-cu100](https://pypi.python.org/pypi/mxnet-cu100/) with CUDA-10.0 support. +- [mxnet-cu92](https://pypi.python.org/pypi/mxnet-cu92/) with CUDA-9.2 support. +- [mxnet](https://pypi.python.org/pypi/mxnet/). + +To download CUDA, check [CUDA download](https://developer.nvidia.com/cuda-downloads). For more instructions, check [CUDA Toolkit online documentation](http://docs.nvidia.com/cuda/index.html). + +To use this package on Linux you need the `libquadmath.so.0` shared library. On +Debian based systems, including Ubuntu, run `sudo apt install libquadmath0` to +install the shared library. On RHEL based systems, including CentOS, run `sudo +yum install libquadmath` to install the shared library. As `libquadmath.so.0` is +a GPL library and MXNet part of the Apache Software Foundation, MXNet must not +redistribute `libquadmath.so.0` as part of the Pypi package and users must +manually install it. + +To install for other platforms (e.g. Windows, Raspberry Pi/ARM) or other versions, check [Installing MXNet](https://mxnet.incubator.apache.org/versions/master/install/index.html) for instructions on building from source. + +Installation +------------ +To install: +```bash +pip install mxnet-cu110 +``` diff --git a/tools/pip/doc/CU92_ADDITIONAL.md b/tools/pip/doc/CU92_ADDITIONAL.md index ea2c2999e0e9..a141e5686915 100644 --- a/tools/pip/doc/CU92_ADDITIONAL.md +++ b/tools/pip/doc/CU92_ADDITIONAL.md @@ -18,10 +18,10 @@ Prerequisites ------------- This package supports Linux and Windows platforms. You may also want to check: +- [mxnet-cu110](https://pypi.python.org/pypi/mxnet-cu110/) with CUDA-11.0 support. - [mxnet-cu102](https://pypi.python.org/pypi/mxnet-cu102/) with CUDA-10.2 support. -- [mxnet-cu90](https://pypi.python.org/pypi/mxnet-cu90/) with CUDA-9.0 support. -- [mxnet-cu80](https://pypi.python.org/pypi/mxnet-cu80/) with CUDA-8.0 support. -- [mxnet-cu75](https://pypi.python.org/pypi/mxnet-cu75/) with CUDA-7.5 support. +- [mxnet-cu101](https://pypi.python.org/pypi/mxnet-cu101/) with CUDA-10.1 support. +- [mxnet-cu100](https://pypi.python.org/pypi/mxnet-cu100/) with CUDA-10.0 support. - [mxnet](https://pypi.python.org/pypi/mxnet/). To download CUDA, check [CUDA download](https://developer.nvidia.com/cuda-downloads). For more instructions, check [CUDA Toolkit online documentation](http://docs.nvidia.com/cuda/index.html). diff --git a/tools/pip/doc/NATIVE_ADDITIONAL.md b/tools/pip/doc/NATIVE_ADDITIONAL.md index f42095520f41..23c592b811ba 100644 --- a/tools/pip/doc/NATIVE_ADDITIONAL.md +++ b/tools/pip/doc/NATIVE_ADDITIONAL.md @@ -18,6 +18,7 @@ Prerequisites ------------- This package supports Linux and Windows platforms. You may also want to check: +- [mxnet-cu110](https://pypi.python.org/pypi/mxnet-cu110/) with CUDA-11.0 support. - [mxnet-cu102](https://pypi.python.org/pypi/mxnet-cu102/) with CUDA-10.2 support. - [mxnet-cu101](https://pypi.python.org/pypi/mxnet-cu101/) with CUDA-10.1 support. - [mxnet-cu92](https://pypi.python.org/pypi/mxnet-cu92/) with CUDA-9.2 support. diff --git a/tools/staticbuild/README.md b/tools/staticbuild/README.md index af0abcbd84cf..e21abdfa0b3e 100644 --- a/tools/staticbuild/README.md +++ b/tools/staticbuild/README.md @@ -27,7 +27,7 @@ environment variable settings. Here are examples you can run with this script: ``` tools/staticbuild/build.sh cu102 ``` -This would build the mxnet package based on CUDA 10.2. Currently, we support variants cpu, native, cu90, cu92, cu100, and cu101. All of these variants expect native have MKL-DNN backend enabled. +This would build the mxnet package based on CUDA 10.2. Currently, we support variants cpu, native, cu92, cu100, cu101, cu102 and cu110. All of these variants expect native have MKL-DNN backend enabled. ``` tools/staticbuild/build.sh cpu From 67f359d0bc9ac1dcc7a2e0f11582667ae00f09f2 Mon Sep 17 00:00:00 2001 From: Wei Chu Date: Wed, 7 Oct 2020 23:34:11 -0700 Subject: [PATCH 5/5] fix typo --- cd/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cd/README.md b/cd/README.md index 10d0a7dc8277..567271708669 100644 --- a/cd/README.md +++ b/cd/README.md @@ -35,7 +35,7 @@ Currently, below variants are supported. All of these variants except native hav * *cu100*: CUDA 10 * *cu101*: CUDA 10.1 * *cu102*: CUDA 10.2 -* *cu110*: CUDA 11.20 +* *cu110*: CUDA 11.0 *For more on variants, see [here](https://github.com/apache/incubator-mxnet/issues/8671)*