This is an automated email from the ASF dual-hosted git repository. iblis pushed a change to branch ib/jl-mxnet-root-env in repository https://gitbox.apache.org/repos/asf/incubator-mxnet.git.
from 36076c4 Merge branch 'master' into ib/jl-mxnet-root-env add 67acbe5 [DOC] Fix many arguments in the doc: reshape_like, arange_like, shape_array (#15752) add 8c2bef5 Add Gather_nd Scatter_nd to NDArray API category doc (#15689) add 51c07e5 [Dependency Update] Dependency update doc (#15045) add ce62873 Add quantization support for GluonCV (#15754) add 7186123 Revert "Dynamic Library Loading Support" (#15755) add aadef2d Fix flaky test test_global_metric (#15756) add 45db8ea Add matrix determinant operator in linalg (#15007) add 07eb482 fix tvm cmake (#15781) add a2b11ae Fix PR #15489 (Dynamic Library Loading Support) (#15760) add be49b3b Numpy-compatible Infra (#15581) add 79d8d86 Fix the bug of `MXEnginePushAsyncND` and `MXEnginePushSyncND` (#15751) add b6972bb add int8 bn mkldnn implementation and test (#15664) add b77f524 [MXNET-1206] Support NDArray indexing with None and Ellipsis (#13143) add a3babc4 numpy-compatible sum (#15810) add 19916af fix license issues (#15806) add bfd3bb8 Refactor LibraryInitializer so it's thread safe. Fixes random sporadical concurrency crashes. (#15762) add 0eb213d Fix backward_clip num inputs and type of clip params (#15688) add 44a7fca [Numpy] Numpy compatible slicing (#15798) add 614cba3 Making Features as a singleton for improved caching (#15835) add 57927a9 Clojure package remove source images (#15828) add c3f5eea Numpy Tensordot and Dot Operator (#15820) add bd32de4 fixing problem with existing Singleton Caching (#15868) add 795990b numpy linspace (#15852) add 05f3ae1 Large Index Support for Slice (#15593) add 67daae7 tvm infra for op attrs (#15854) add c81535c cuDNN support cleanup (#15812) add 39bf4e0 Port several np ops to master (#15867) add 11ce2a2 Add large tensor support binary arithmetic (#15785) add 24a5cf0 Allow operators with multiple outputs in get_atomic_symbol (#15740) add f32b58e numpy-compatible split upstream (#15841) add b914d0a Large tensor support for random ops (#15783) add 843c3ab Add Large Tensor Support for Sequence, NN Ops (#15807) add 3d8035b Numpy-compatible concatenate upstream (#15894) add 78733f0 Numpy-compatible concatenate upstream (#15894) add b98f297 Numpy-compatible concatenate upstream (#15894) add 9dbfc2d Numpy-compatible concatenate upstream (#15894) add 40593c6 Fix ConcatType backward type inference (#15829) add f586c07 [OpPerf] Profiler flag for Python, Cpp (#15881) add acc7865 added check for empty params file and unknown param (not arg/aux) (#15917) add c8f0b21 Remove Scala package test on build (#15915) add c0ab006 Merge branch 'master' into ib/jl-mxnet-root-env No new revisions were added by this update. Summary of changes: CMakeLists.txt | 19 +- LICENSE | 355 +++- Makefile | 5 +- benchmark/opperf/nd_operations/array_rearrange.py | 4 +- benchmark/opperf/nd_operations/binary_operators.py | 8 +- benchmark/opperf/nd_operations/gemm_operators.py | 6 +- .../nd_operations/nn_activation_operators.py | 5 +- .../opperf/nd_operations/nn_basic_operators.py | 5 +- .../opperf/nd_operations/nn_conv_operators.py | 12 +- .../opperf/nd_operations/nn_optimizer_operators.py | 4 +- .../nd_operations/random_sampling_operators.py | 4 +- .../opperf/nd_operations/reduction_operators.py | 4 +- .../nd_operations/sorting_searching_operators.py | 4 +- benchmark/opperf/nd_operations/unary_operators.py | 4 +- benchmark/opperf/opperf.py | 40 +- benchmark/opperf/utils/benchmark_utils.py | 27 +- benchmark/opperf/utils/common_utils.py | 38 +- benchmark/opperf/utils/ndarray_utils.py | 4 - benchmark/opperf/utils/profiler_utils.py | 57 +- ci/jenkins/Jenkins_steps.groovy | 10 +- ci/jenkins/Jenkinsfile_unix_cpu | 2 +- ci/publish/scala/build.sh | 2 +- cmake/BuildTVM.cmake | 2 +- contrib/clojure-package/.gitignore | 1 + .../infer/objectdetector/images/marcel.jpg | Bin 116161 -> 0 bytes .../clojure-package/scripts/get_test_images.sh | 26 +- .../test/org/apache/clojure_mxnet/image_test.clj | 6 +- .../clojure_mxnet/infer/imageclassifier_test.clj | 5 +- .../test/test-images/Pug-Cookie.jpg | Bin 104323 -> 0 bytes .../clojure-package/test/test-images/kitten.jpg | Bin 110969 -> 0 bytes contrib/clojure-package/test/test_helper.clj | 26 + contrib/tvmop/compile.py | 4 +- contrib/tvmop/opdef.py | 12 +- cpp-package/scripts/OpWrapperGenerator.py | 1 + docs/api/python/ndarray/ndarray.md | 2 + docs/api/python/symbol/linalg.md | 2 + docs/faq/env_var.md | 10 +- include/mxnet/base.h | 4 +- include/mxnet/c_api.h | 190 +- include/mxnet/c_predict_api.h | 4 +- include/mxnet/tuple.h | 15 + make/maven/maven_darwin_mkl.mk | 2 +- make/maven/maven_linux_cu90mkl.mk | 4 +- make/maven/maven_linux_cu92mkl.mk | 4 +- make/maven/maven_linux_mkl.mk | 2 +- make/pip/pip_linux_cu100.mk | 2 + make/pip/pip_linux_cu100mkl.mk | 2 + make/pip/pip_linux_cu101.mk | 2 + make/pip/pip_linux_cu101mkl.mk | 2 + make/pip/pip_linux_cu91.mk | 2 + make/pip/pip_linux_cu91mkl.mk | 2 + make/pip/pip_linux_cu92.mk | 2 + make/pip/pip_linux_cu92mkl.mk | 2 + python/mxnet/__init__.py | 5 + python/mxnet/_ctypes/ndarray.py | 36 +- python/mxnet/_ctypes/symbol.py | 13 +- python/mxnet/_numpy_op_doc.py | 54 + python/mxnet/base.py | 119 +- python/mxnet/contrib/amp/lists/symbol.py | 4 + python/mxnet/contrib/quantization.py | 212 ++- python/mxnet/cython/ndarray.pyx | 27 +- python/mxnet/cython/symbol.pyx | 16 +- python/mxnet/gluon/block.py | 49 +- python/mxnet/gluon/data/dataloader.py | 2 + python/mxnet/gluon/parameter.py | 52 +- python/mxnet/gluon/rnn/rnn_layer.py | 2 - python/mxnet/gluon/utils.py | 45 +- python/mxnet/image/image.py | 2 +- python/mxnet/model.py | 19 +- python/mxnet/ndarray/__init__.py | 6 +- python/mxnet/ndarray/_internal.py | 11 +- python/mxnet/ndarray/ndarray.py | 1212 ++++++++----- python/mxnet/{symbol => ndarray/numpy}/__init__.py | 19 +- .../__init__.py => ndarray/numpy/_internal.py} | 15 +- python/mxnet/ndarray/numpy/_op.py | 707 ++++++++ .../__init__.py => ndarray/numpy/_register.py} | 21 +- .../__init__.py => ndarray/numpy/linalg.py} | 15 +- .../__init__.py => ndarray/numpy/random.py} | 16 +- .../numpy_extension}/__init__.py | 18 +- .../__init__.py => ndarray/numpy_extension/_op.py} | 16 +- .../numpy_extension/_register.py} | 18 +- .../numpy_extension/image.py} | 15 +- python/mxnet/ndarray/register.py | 116 +- python/mxnet/ndarray/utils.py | 7 + python/mxnet/{symbol => numpy}/__init__.py | 27 +- python/mxnet/{symbol/__init__.py => numpy/_op.py} | 15 +- .../{symbol/__init__.py => numpy/_register.py} | 20 +- python/mxnet/numpy/arrayprint.py | 62 + python/mxnet/numpy/function_base.py | 115 ++ .../test_runtime.py => python/mxnet/numpy/io.py | 45 +- .../mxnet/{symbol/__init__.py => numpy/linalg.py} | 15 +- python/mxnet/numpy/multiarray.py | 1879 ++++++++++++++++++++ .../mxnet/{symbol/__init__.py => numpy/random.py} | 15 +- python/mxnet/numpy/stride_tricks.py | 56 + .../mxnet/{symbol/__init__.py => numpy/utils.py} | 28 +- .../mxnet/{symbol => numpy_extension}/__init__.py | 25 +- .../{symbol/__init__.py => numpy_extension/_op.py} | 15 +- .../__init__.py => numpy_extension/_register.py} | 20 +- .../__init__.py => numpy_extension/image.py} | 15 +- python/mxnet/numpy_extension/utils.py | 122 ++ python/mxnet/optimizer/optimizer.py | 34 +- python/mxnet/runtime.py | 8 +- python/mxnet/symbol/__init__.py | 7 +- python/mxnet/symbol/_internal.py | 10 +- python/mxnet/symbol/{ => numpy}/__init__.py | 21 +- .../symbol/{__init__.py => numpy/_internal.py} | 15 +- python/mxnet/symbol/{__init__.py => numpy/_op.py} | 15 +- .../symbol/{__init__.py => numpy/_register.py} | 21 +- python/mxnet/symbol/numpy/_symbol.py | 1338 ++++++++++++++ .../mxnet/symbol/{__init__.py => numpy/linalg.py} | 15 +- .../mxnet/symbol/{__init__.py => numpy/random.py} | 15 +- .../mxnet/symbol/{ => numpy_extension}/__init__.py | 18 +- .../symbol/{__init__.py => numpy_extension/_op.py} | 16 +- .../{__init__.py => numpy_extension/_register.py} | 17 +- .../{__init__.py => numpy_extension/image.py} | 15 +- python/mxnet/symbol/register.py | 84 +- python/mxnet/symbol/symbol.py | 113 +- python/mxnet/test_utils.py | 62 +- python/mxnet/util.py | 395 +++- src/c_api/c_api.cc | 164 +- src/c_api/c_api_common.h | 15 +- src/c_api/c_api_executor.cc | 12 +- src/c_api/c_api_ndarray.cc | 10 +- src/c_api/c_api_profile.cc | 2 +- src/c_api/c_api_symbolic.cc | 228 ++- src/common/cuda_utils.h | 16 +- src/common/library.cc | 125 -- src/common/library.h | 57 - src/common/utils.h | 12 + src/engine/naive_engine.cc | 5 - src/engine/threaded_engine.h | 5 - src/engine/threaded_engine_perdevice.cc | 4 +- src/executor/attach_op_resource_pass.cc | 4 +- src/imperative/imperative.cc | 4 +- src/imperative/imperative_utils.h | 7 +- src/initialize.cc | 241 ++- src/initialize.h | 126 ++ src/io/image_io.cc | 3 + src/ndarray/ndarray.cc | 17 +- src/operator/bilinear_sampler.cu | 8 +- src/operator/contrib/multibox_detection.cc | 4 + src/operator/contrib/multibox_prior.cc | 3 + src/operator/contrib/multibox_target.cc | 4 + src/operator/contrib/tvmop/ufunc.cc | 4 +- src/operator/cudnn_bilinear_sampler-inl.h | 9 +- src/operator/cudnn_spatial_transformer-inl.h | 9 +- src/operator/image/crop.cc | 1 + src/operator/image/image_random.cc | 13 + src/operator/image/resize.cc | 1 + src/operator/leaky_relu.cc | 1 + src/operator/linalg.h | 50 +- src/operator/linalg_impl.h | 243 ++- src/operator/nn/activation.cc | 1 + src/operator/nn/batch_norm-inl.h | 52 +- src/operator/nn/batch_norm.cc | 1 + src/operator/nn/batch_norm.cu | 8 +- src/operator/nn/concat.cc | 45 +- src/operator/nn/convolution.cc | 1 + src/operator/nn/convolution.cu | 99 +- src/operator/nn/cudnn/cudnn_activation-inl.h | 37 +- src/operator/nn/cudnn/cudnn_algoreg-inl.h | 4 +- src/operator/nn/cudnn/cudnn_batch_norm-inl.h | 46 +- src/operator/nn/cudnn/cudnn_batch_norm.cc | 4 +- src/operator/nn/cudnn/cudnn_batch_norm.cu | 90 - src/operator/nn/cudnn/cudnn_convolution-inl.h | 354 +--- src/operator/nn/cudnn/cudnn_deconvolution-inl.h | 246 +-- src/operator/nn/cudnn/cudnn_pooling-inl.h | 29 +- src/operator/nn/deconvolution.cc | 1 + src/operator/nn/dropout.cc | 1 + src/operator/nn/fully_connected.cc | 1 + src/operator/nn/layer_norm.cc | 1 + src/operator/nn/mkldnn/mkldnn_batch_norm-inl.h | 29 +- src/operator/nn/mkldnn/mkldnn_transpose.cc | 3 +- src/operator/nn/pooling.cc | 3 +- src/operator/nn/softmax.cc | 2 + src/operator/numpy/np_broadcast_reduce_op.h | 278 +++ src/operator/numpy/np_broadcast_reduce_op_value.cc | 154 ++ src/operator/numpy/np_broadcast_reduce_op_value.cu | 48 + src/operator/numpy/np_dot-inl.h | 110 ++ src/operator/numpy/np_dot.cc | 150 ++ src/operator/numpy/np_dot.cu | 37 + src/operator/numpy/np_elemwise_broadcast_op.cc | 186 ++ src/operator/numpy/np_elemwise_broadcast_op.cu | 82 + src/operator/numpy/np_init_op.cc | 114 ++ src/operator/numpy/np_init_op.cu | 47 + src/operator/numpy/np_matrix_op-inl.h | 66 + src/operator/numpy/np_matrix_op.cc | 308 ++++ src/operator/numpy/np_matrix_op.cu | 46 + src/operator/numpy/np_tensordot_op-inl.h | 688 +++++++ src/operator/numpy/np_tensordot_op.cc | 235 +++ src/operator/numpy/np_tensordot_op.cu | 42 + src/operator/numpy/np_true_divide.cc | 127 ++ src/operator/numpy/np_true_divide.cu | 41 + .../mkldnn/mkldnn_quantized_batch_norm.cc | 123 ++ src/operator/quantization/quantize_graph_pass.cc | 42 +- src/operator/quantization/quantized_batch_norm.cc | 137 ++ src/operator/quantization/quantized_concat.cc | 12 +- src/operator/quantization/quantized_conv.cu | 9 +- src/operator/quantization/quantized_pooling.cu | 9 +- src/operator/random/sample_op.cc | 2 + src/operator/random/shuffle_op.cc | 1 + src/operator/rnn-inl.h | 162 +- src/operator/rnn.cc | 3 +- src/operator/roi_pooling.cc | 4 + src/operator/sequence_mask.cc | 3 + src/operator/spatial_transformer-inl.h | 2 +- src/operator/spatial_transformer.cu | 8 +- src/operator/special_functions-inl.h | 19 + src/operator/swapaxis-inl.h | 42 +- src/operator/swapaxis.cc | 2 +- src/operator/tensor/broadcast_reduce_op.h | 183 +- src/operator/tensor/broadcast_reduce_op_index.cc | 1 + src/operator/tensor/dot.cc | 1 + src/operator/tensor/elemwise_binary_broadcast_op.h | 1 + .../tensor/elemwise_binary_broadcast_op_logic.cc | 6 + src/operator/tensor/elemwise_binary_op.h | 16 +- .../tensor/elemwise_binary_scalar_op_extended.cc | 3 +- .../tensor/elemwise_binary_scalar_op_logic.cc | 6 + src/operator/tensor/elemwise_unary_op.h | 6 +- src/operator/tensor/elemwise_unary_op_basic.cc | 9 +- src/operator/tensor/indexing_op.cc | 2 + src/operator/tensor/init_op.cc | 4 +- src/operator/tensor/la_op-inl.h | 136 +- src/operator/tensor/la_op.cc | 166 +- src/operator/tensor/la_op.cu | 12 + src/operator/tensor/la_op.h | 180 ++ src/operator/tensor/matrix_op-inl.h | 152 +- src/operator/tensor/matrix_op.cc | 15 +- src/operator/tensor/ordering_op.cc | 1 + src/operator/tensor/slice-inl.h | 6 +- src/profiler/profiler.h | 15 +- tests/cpp/engine/threaded_engine_test.cc | 117 +- tests/nightly/test_large_array.py | 495 +++++- .../test_large_vector.py} | 70 +- tests/python/gpu/test_contrib_amp.py | 19 +- tests/python/gpu/test_operator_gpu.py | 2 + tests/python/mkl/test_quantization_mkldnn.py | 5 +- tests/python/quantization/test_quantization.py | 136 ++ tests/python/unittest/test_dgl_graph.py | 2 +- tests/python/unittest/test_library_loading.py | 16 +- tests/python/unittest/test_metric.py | 18 +- tests/python/unittest/test_ndarray.py | 122 +- tests/python/unittest/test_numpy_ndarray.py | 672 +++++++ tests/python/unittest/test_numpy_op.py | 885 +++++++++ tests/python/unittest/test_operator.py | 79 +- tests/python/unittest/test_runtime.py | 9 + tests/python/unittest/test_symbol.py | 9 + tests/python/unittest/test_thread_local.py | 36 + tools/dependencies/README.md | 298 ++++ tools/dependencies/openblas.sh | 2 +- tools/setup_gpu_build_tools.sh | 9 +- 251 files changed, 15277 insertions(+), 2968 deletions(-) delete mode 100644 contrib/clojure-package/examples/infer/objectdetector/images/marcel.jpg copy python/mxnet/symbol/__init__.py => contrib/clojure-package/scripts/get_test_images.sh (63%) mode change 100644 => 100755 delete mode 100644 contrib/clojure-package/test/test-images/Pug-Cookie.jpg delete mode 100644 contrib/clojure-package/test/test-images/kitten.jpg create mode 100644 contrib/clojure-package/test/test_helper.clj create mode 100644 python/mxnet/_numpy_op_doc.py copy python/mxnet/{symbol => ndarray/numpy}/__init__.py (63%) copy python/mxnet/{symbol/__init__.py => ndarray/numpy/_internal.py} (63%) create mode 100644 python/mxnet/ndarray/numpy/_op.py copy python/mxnet/{symbol/__init__.py => ndarray/numpy/_register.py} (63%) copy python/mxnet/{symbol/__init__.py => ndarray/numpy/linalg.py} (63%) copy python/mxnet/{symbol/__init__.py => ndarray/numpy/random.py} (63%) copy python/mxnet/{symbol => ndarray/numpy_extension}/__init__.py (63%) copy python/mxnet/{symbol/__init__.py => ndarray/numpy_extension/_op.py} (63%) copy python/mxnet/{symbol/__init__.py => ndarray/numpy_extension/_register.py} (63%) copy python/mxnet/{symbol/__init__.py => ndarray/numpy_extension/image.py} (63%) copy python/mxnet/{symbol => numpy}/__init__.py (56%) copy python/mxnet/{symbol/__init__.py => numpy/_op.py} (63%) copy python/mxnet/{symbol/__init__.py => numpy/_register.py} (63%) create mode 100644 python/mxnet/numpy/arrayprint.py create mode 100644 python/mxnet/numpy/function_base.py copy tests/python/unittest/test_runtime.py => python/mxnet/numpy/io.py (50%) copy python/mxnet/{symbol/__init__.py => numpy/linalg.py} (63%) create mode 100644 python/mxnet/numpy/multiarray.py copy python/mxnet/{symbol/__init__.py => numpy/random.py} (63%) create mode 100644 python/mxnet/numpy/stride_tricks.py copy python/mxnet/{symbol/__init__.py => numpy/utils.py} (63%) copy python/mxnet/{symbol => numpy_extension}/__init__.py (61%) copy python/mxnet/{symbol/__init__.py => numpy_extension/_op.py} (63%) copy python/mxnet/{symbol/__init__.py => numpy_extension/_register.py} (63%) copy python/mxnet/{symbol/__init__.py => numpy_extension/image.py} (63%) create mode 100644 python/mxnet/numpy_extension/utils.py copy python/mxnet/symbol/{ => numpy}/__init__.py (63%) copy python/mxnet/symbol/{__init__.py => numpy/_internal.py} (63%) copy python/mxnet/symbol/{__init__.py => numpy/_op.py} (63%) copy python/mxnet/symbol/{__init__.py => numpy/_register.py} (63%) create mode 100644 python/mxnet/symbol/numpy/_symbol.py copy python/mxnet/symbol/{__init__.py => numpy/linalg.py} (63%) copy python/mxnet/symbol/{__init__.py => numpy/random.py} (63%) copy python/mxnet/symbol/{ => numpy_extension}/__init__.py (63%) copy python/mxnet/symbol/{__init__.py => numpy_extension/_op.py} (63%) copy python/mxnet/symbol/{__init__.py => numpy_extension/_register.py} (63%) copy python/mxnet/symbol/{__init__.py => numpy_extension/image.py} (63%) delete mode 100644 src/common/library.cc delete mode 100644 src/common/library.h create mode 100644 src/initialize.h delete mode 100644 src/operator/nn/cudnn/cudnn_batch_norm.cu create mode 100644 src/operator/numpy/np_broadcast_reduce_op.h create mode 100644 src/operator/numpy/np_broadcast_reduce_op_value.cc create mode 100644 src/operator/numpy/np_broadcast_reduce_op_value.cu create mode 100644 src/operator/numpy/np_dot-inl.h create mode 100644 src/operator/numpy/np_dot.cc create mode 100644 src/operator/numpy/np_dot.cu create mode 100644 src/operator/numpy/np_elemwise_broadcast_op.cc create mode 100644 src/operator/numpy/np_elemwise_broadcast_op.cu create mode 100644 src/operator/numpy/np_init_op.cc create mode 100644 src/operator/numpy/np_init_op.cu create mode 100644 src/operator/numpy/np_matrix_op-inl.h create mode 100644 src/operator/numpy/np_matrix_op.cc create mode 100644 src/operator/numpy/np_matrix_op.cu create mode 100644 src/operator/numpy/np_tensordot_op-inl.h create mode 100644 src/operator/numpy/np_tensordot_op.cc create mode 100644 src/operator/numpy/np_tensordot_op.cu create mode 100644 src/operator/numpy/np_true_divide.cc create mode 100644 src/operator/numpy/np_true_divide.cu create mode 100644 src/operator/quantization/mkldnn/mkldnn_quantized_batch_norm.cc create mode 100644 src/operator/quantization/quantized_batch_norm.cc copy tests/{python/mkl/test_quantization_mkldnn.py => nightly/test_large_vector.py} (67%) create mode 100644 tests/python/unittest/test_numpy_ndarray.py create mode 100644 tests/python/unittest/test_numpy_op.py