Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 15 Dec 2019 18:53:50 +0000 (UTC)
From:      Yuri Victorovich <yuri@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r520190 - in head/misc: . mxnet mxnet/files
Message-ID:  <201912151853.xBFIrogh048395@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: yuri
Date: Sun Dec 15 18:53:50 2019
New Revision: 520190
URL: https://svnweb.freebsd.org/changeset/ports/520190

Log:
  New port: misc/mxnet: Apache MXNet: Ultra-scalable deep learning framework

Added:
  head/misc/mxnet/
  head/misc/mxnet/Makefile   (contents, props changed)
  head/misc/mxnet/distinfo   (contents, props changed)
  head/misc/mxnet/files/
  head/misc/mxnet/files/patch-3rdparty_tvm_CMakeLists.txt   (contents, props changed)
  head/misc/mxnet/files/patch-CMakeLists.txt   (contents, props changed)
  head/misc/mxnet/files/patch-src_operator_numpy_np__einsum__op-inl.h   (contents, props changed)
  head/misc/mxnet/pkg-descr   (contents, props changed)
  head/misc/mxnet/pkg-plist   (contents, props changed)
Modified:
  head/misc/Makefile

Modified: head/misc/Makefile
==============================================================================
--- head/misc/Makefile	Sun Dec 15 18:49:27 2019	(r520189)
+++ head/misc/Makefile	Sun Dec 15 18:53:50 2019	(r520190)
@@ -254,6 +254,7 @@
     SUBDIR += morse
     SUBDIR += mtail
     SUBDIR += mtx
+    SUBDIR += mxnet
     SUBDIR += najitool
     SUBDIR += netron
     SUBDIR += nms

Added: head/misc/mxnet/Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/misc/mxnet/Makefile	Sun Dec 15 18:53:50 2019	(r520190)
@@ -0,0 +1,56 @@
+# $FreeBSD$
+
+PORTNAME=	mxnet
+DISTVERSION=	1.6.0
+DISTVERSIONSUFFIX=	.rc0
+CATEGORIES=	misc # machine-learning
+
+PATCH_SITES=	https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/
+PATCHFILES+=	cbd43cab6eef8362bcb1cc91e59b49045c90444c.patch:-p1 \
+		89c180d47b407913f0a9948d6e7f55daa523e7aa.patch:-p1
+
+MAINTAINER=	yuri@FreeBSD.org
+COMMENT=	Apache MXNet: Ultra-scalable deep learning framework
+
+LICENSE=	APACHE20
+
+BUILD_DEPENDS=	googletest>0:devel/googletest \
+		${LOCALBASE}/include/cblas.h:math/cblas \
+		${LOCALBASE}/include/dnnl.h:math/mkl-dnn
+LIB_DEPENDS=	libdmlc.so:devel/dmlc-core \
+		liblapack.so:math/lapack \
+		libomp.so:devel/openmp \
+		libopenblas.so:math/openblas
+
+USES=		cmake localbase:ldflags
+USE_GITHUB=	yes
+GH_ACCOUNT=	apache
+GH_PROJECT=	incubator-mxnet
+GH_TUPLE=	apache:incubator-tvm:5d66e7a:tvm/3rdparty/tvm \
+		dmlc:dlpack:b90e939:dlpack/3rdparty/dlpack
+USE_LDCONFIG=	yes
+
+CMAKE_OFF=	USE_CUDA USE_CUDNN USE_MKLDNN USE_NCCL ENABLE_CUDA_RTC \
+		USE_OPENCV BUILD_CPP_EXAMPLES USE_JEMALLOC USE_MKL_IF_AVAILABLE
+
+LDFLAGS+=	-pthread -lexecinfo
+
+OPTIONS_DEFINE=		CPP
+OPTIONS_DEFAULT=	CPP
+OPTIONS_SUB=		yes
+
+CPP_DESC=		Install the C++ binding (cpp-package)
+CPP_CMAKE_BOOL=		USE_CPP_PACKAGE
+CPP_USES=		python
+CPP_VARS=		BINARY_ALIAS=python=${PYTHON_CMD}
+
+post-patch:
+.for lib in mkldnn.h mkldnn_types.h
+	@${RM} ${WRKSRC}/include/mkldnn/${lib}
+	@${LN} -s ${LOCALBASE}/include/dnnl.h ${WRKSRC}/include/mkldnn/${lib}
+.endfor
+
+post-install-CPP-on: # https://github.com/apache/incubator-mxnet/issues/17080
+	@cd ${STAGEDIR}${PREFIX} && ${RM} include/mxnet-cpp/.gitignore include/mxnet-cpp/CPPLINT.cfg
+
+.include <bsd.port.mk>

Added: head/misc/mxnet/distinfo
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/misc/mxnet/distinfo	Sun Dec 15 18:53:50 2019	(r520190)
@@ -0,0 +1,11 @@
+TIMESTAMP = 1576386254
+SHA256 (apache-incubator-mxnet-1.6.0.rc0_GH0.tar.gz) = a28b76846ef0e8236b6089d8f5b5701afd753d61c5c13854070708e36f78c2fa
+SIZE (apache-incubator-mxnet-1.6.0.rc0_GH0.tar.gz) = 21892252
+SHA256 (apache-incubator-tvm-5d66e7a_GH0.tar.gz) = 394c0643cf360d9ece46c7c6aa47aae987c3a5ad552526f182aaaf25246f7e7b
+SIZE (apache-incubator-tvm-5d66e7a_GH0.tar.gz) = 2950312
+SHA256 (dmlc-dlpack-b90e939_GH0.tar.gz) = 15537e4d18ef85bf560edc4ab53a9689acf7e2e1c1274f432e164fe98b5e5526
+SIZE (dmlc-dlpack-b90e939_GH0.tar.gz) = 39583
+SHA256 (cbd43cab6eef8362bcb1cc91e59b49045c90444c.patch) = bd9267ff0cc84b7ca444a605cf48074b3f8d37801b47c9b4558b999fa4df0c98
+SIZE (cbd43cab6eef8362bcb1cc91e59b49045c90444c.patch) = 722
+SHA256 (89c180d47b407913f0a9948d6e7f55daa523e7aa.patch) = 4c0625c2c81e2997fc4b45bde8038aeb15989349bbe04dad4f29c54dc7cd19e6
+SIZE (89c180d47b407913f0a9948d6e7f55daa523e7aa.patch) = 659

Added: head/misc/mxnet/files/patch-3rdparty_tvm_CMakeLists.txt
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/misc/mxnet/files/patch-3rdparty_tvm_CMakeLists.txt	Sun Dec 15 18:53:50 2019	(r520190)
@@ -0,0 +1,19 @@
+--- 3rdparty/tvm/CMakeLists.txt.orig	2019-12-15 05:56:25 UTC
++++ 3rdparty/tvm/CMakeLists.txt
+@@ -378,11 +378,11 @@ if (INSTALL_DEV)
+     FILES_MATCHING
+     PATTERN "*.h"
+     )
+-  install(
+-    DIRECTORY "3rdparty/dmlc-core/include/." DESTINATION "include"
+-    FILES_MATCHING
+-    PATTERN "*.h"
+-    )
++  #install(
++  #  DIRECTORY "3rdparty/dmlc-core/include/." DESTINATION "include"
++  #  FILES_MATCHING
++  #  PATTERN "*.h"
++  #  )
+   install(
+     DIRECTORY "nnvm/include/." DESTINATION "include"
+     FILES_MATCHING

Added: head/misc/mxnet/files/patch-CMakeLists.txt
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/misc/mxnet/files/patch-CMakeLists.txt	Sun Dec 15 18:53:50 2019	(r520190)
@@ -0,0 +1,27 @@
+--- CMakeLists.txt.orig	2019-12-13 19:55:11 UTC
++++ CMakeLists.txt
+@@ -490,6 +490,7 @@ if(USE_JEMALLOC)
+   endif()
+ endif()
+ 
++if (ENABLE_TESTING)
+ include(CTest)
+ set(GTEST_ROOT "${CMAKE_CURRENT_SOURCE_DIR}/3rdparty/googletest/googletest")
+ set(GTEST_INCLUDE_DIR ${GTEST_ROOT}/include)
+@@ -500,6 +501,7 @@ set(GTEST_LIBRARY gtest)
+ 
+ add_subdirectory(${GTEST_ROOT})
+ find_package(GTest REQUIRED)
++endif()
+ 
+ # cudnn detection
+ if(USE_CUDNN AND USE_CUDA)
+@@ -819,7 +821,7 @@ install(TARGETS ${MXNET_INSTALL_TARGETS}
+ #       https://cmake.org/cmake/help/v3.0/module/GNUInstallDirs.html
+ 
+ install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/3rdparty/dlpack/include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
+-install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/3rdparty/dmlc-core/include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
++#install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/3rdparty/dmlc-core/include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
+ if(USE_MKLDNN)
+   install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/3rdparty/mkldnn/include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
+ endif()

Added: head/misc/mxnet/files/patch-src_operator_numpy_np__einsum__op-inl.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/misc/mxnet/files/patch-src_operator_numpy_np__einsum__op-inl.h	Sun Dec 15 18:53:50 2019	(r520190)
@@ -0,0 +1,44 @@
+https://github.com/apache/incubator-mxnet/issues/17076
+
+--- src/operator/numpy/np_einsum_op-inl.h.orig	2019-12-15 04:21:16 UTC
++++ src/operator/numpy/np_einsum_op-inl.h
+@@ -701,7 +701,7 @@ inline void NumpyEinsumProcess(const std::vector<TBlob
+                               rstride_arr,
+                               nop,
+                               -1,
+-                              reinterpret_cast<DType*>(NULL));
++                              (DType*)nullptr);
+         })
+       })
+     })
+@@ -947,7 +947,7 @@ inline void NumpyEinsumBackward(const OpStatePtr& stat
+       if (handle_out) {
+         temp_inputs.push_back(inputs[0]);
+       } else {
+-        temp_inputs.push_back(TBlob(reinterpret_cast<DType*>(NULL),
++        temp_inputs.push_back(TBlob((DType*)nullptr,
+                                     paths[i].oshape,
+                                     xpu::kDevMask));
+       }
+@@ -958,10 +958,10 @@ inline void NumpyEinsumBackward(const OpStatePtr& stat
+           temp_outputs.push_back(outputs[idx - 1]);
+           temp_req.push_back(req[idx - 1]);
+         } else {
+-          temp_inputs.push_back(TBlob(reinterpret_cast<DType*>(NULL),
++          temp_inputs.push_back(TBlob((DType*)nullptr,
+                                       paths[-idx].oshape,
+                                       xpu::kDevMask));
+-          temp_outputs.push_back(TBlob(reinterpret_cast<DType*>(NULL),
++          temp_outputs.push_back(TBlob((DType*)nullptr,
+                                       paths[-idx].oshape,
+                                       xpu::kDevMask));
+           temp_req.push_back(OpReqType::kWriteTo);
+@@ -973,7 +973,7 @@ inline void NumpyEinsumBackward(const OpStatePtr& stat
+           cur_tensordot_tempspace_size =
+             TensordotBackwardWorkspaceSize<xpu>(paths[i].left_pos,
+                                                 paths[i].right_pos,
+-                                                TBlob(reinterpret_cast<DType*>(NULL),
++                                                TBlob((DType*)nullptr,
+                                                       paths[i].tshape,
+                                                       xpu::kDevMask),
+                                                 temp_inputs[1],

Added: head/misc/mxnet/pkg-descr
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/misc/mxnet/pkg-descr	Sun Dec 15 18:53:50 2019	(r520190)
@@ -0,0 +1,13 @@
+Apache MXNet is a deep learning framework designed for both efficiency and
+flexibility. It allows you to mix symbolic and imperative programming to
+maximize efficiency and productivity. At its core, MXNet contains a dynamic
+dependency scheduler that automatically parallelizes both symbolic and
+imperative operations on the fly. A graph optimization layer on top of that
+makes symbolic execution fast and memory efficient. MXNet is portable and
+lightweight, scaling effectively to multiple GPUs and multiple machines.
+
+MXNet is more than a deep learning project. It is a collection of blue prints
+and guidelines for building deep learning systems, and interesting insights of
+DL systems for hackers.
+
+WWW: https://mxnet.apache.org/

Added: head/misc/mxnet/pkg-plist
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/misc/mxnet/pkg-plist	Sun Dec 15 18:53:50 2019	(r520190)
@@ -0,0 +1,125 @@
+include/dlpack/dlpack.h
+include/mshadow/README.md
+include/mshadow/base.h
+include/mshadow/cuda/reduce.cuh
+include/mshadow/cuda/tensor_gpu-inl.cuh
+include/mshadow/dot_engine-inl.h
+include/mshadow/expr_engine-inl.h
+include/mshadow/expr_scalar-inl.h
+include/mshadow/expression.h
+include/mshadow/extension.h
+include/mshadow/extension/broadcast.h
+include/mshadow/extension/broadcast_with_axis.h
+include/mshadow/extension/channel_pool.h
+include/mshadow/extension/channel_unpool.h
+include/mshadow/extension/choose.h
+include/mshadow/extension/complex.h
+include/mshadow/extension/concat.h
+include/mshadow/extension/crop.h
+include/mshadow/extension/fill.h
+include/mshadow/extension/flip.h
+include/mshadow/extension/implicit_gemm.h
+include/mshadow/extension/mask.h
+include/mshadow/extension/mirror.h
+include/mshadow/extension/one_hot.h
+include/mshadow/extension/pack_col2patch.h
+include/mshadow/extension/pad.h
+include/mshadow/extension/range.h
+include/mshadow/extension/reduce_with_axis.h
+include/mshadow/extension/reduceto1d.h
+include/mshadow/extension/reshape.h
+include/mshadow/extension/slice.h
+include/mshadow/extension/slice_ex.h
+include/mshadow/extension/spatial_pool.h
+include/mshadow/extension/spatial_unpool.h
+include/mshadow/extension/spatial_upsampling_nearest.h
+include/mshadow/extension/swapaxis.h
+include/mshadow/extension/take.h
+include/mshadow/extension/take_grad.h
+include/mshadow/extension/transpose.h
+include/mshadow/extension/unpack_patch2col.h
+include/mshadow/half.h
+include/mshadow/half2.h
+include/mshadow/io.h
+include/mshadow/logging.h
+include/mshadow/packet-inl.h
+include/mshadow/packet-inl.h.orig
+include/mshadow/packet/plain-inl.h
+include/mshadow/packet/sse-inl.h
+include/mshadow/random.h
+include/mshadow/stream_gpu-inl.h
+include/mshadow/tensor.h
+include/mshadow/tensor_container.h
+include/mshadow/tensor_cpu-inl.h
+include/mshadow/tensor_gpu-inl.h
+%%CPP%%include/mxnet-cpp/MxNetCpp.h
+%%CPP%%include/mxnet-cpp/base.h
+%%CPP%%include/mxnet-cpp/contrib.h
+%%CPP%%include/mxnet-cpp/executor.h
+%%CPP%%include/mxnet-cpp/executor.hpp
+%%CPP%%include/mxnet-cpp/initializer.h
+%%CPP%%include/mxnet-cpp/io.h
+%%CPP%%include/mxnet-cpp/io.hpp
+%%CPP%%include/mxnet-cpp/kvstore.h
+%%CPP%%include/mxnet-cpp/kvstore.hpp
+%%CPP%%include/mxnet-cpp/lr_scheduler.h
+%%CPP%%include/mxnet-cpp/metric.h
+%%CPP%%include/mxnet-cpp/model.h
+%%CPP%%include/mxnet-cpp/monitor.h
+%%CPP%%include/mxnet-cpp/monitor.hpp
+%%CPP%%include/mxnet-cpp/ndarray.h
+%%CPP%%include/mxnet-cpp/ndarray.hpp
+%%CPP%%include/mxnet-cpp/op.h
+%%CPP%%include/mxnet-cpp/op_map.h
+%%CPP%%include/mxnet-cpp/op_suppl.h
+%%CPP%%include/mxnet-cpp/op_util.h
+%%CPP%%include/mxnet-cpp/operator.h
+%%CPP%%include/mxnet-cpp/operator.hpp
+%%CPP%%include/mxnet-cpp/optimizer.h
+%%CPP%%include/mxnet-cpp/optimizer.hpp
+%%CPP%%include/mxnet-cpp/shape.h
+%%CPP%%include/mxnet-cpp/symbol.h
+%%CPP%%include/mxnet-cpp/symbol.hpp
+include/mxnet/base.h
+include/mxnet/c_api.h
+include/mxnet/c_api_error.h
+include/mxnet/c_api_test.h
+include/mxnet/c_predict_api.h
+include/mxnet/engine.h
+include/mxnet/executor.h
+include/mxnet/graph_attr_types.h
+include/mxnet/imperative.h
+include/mxnet/io.h
+include/mxnet/kvstore.h
+include/mxnet/lib_api.h
+include/mxnet/libinfo.h
+include/mxnet/ndarray.h
+include/mxnet/op_attr_types.h
+include/mxnet/operator.h
+include/mxnet/operator_util.h
+include/mxnet/random_generator.h
+include/mxnet/resource.h
+include/mxnet/rtc.h
+include/mxnet/storage.h
+include/mxnet/tensor_blob.h
+include/mxnet/tuple.h
+include/nnvm/base.h
+include/nnvm/c_api.h
+include/nnvm/compiler/op_attr_types.h
+include/nnvm/compiler/packed_func_ext.h
+include/nnvm/compiler/util.h
+include/nnvm/graph.h
+include/nnvm/graph_attr_types.h
+include/nnvm/layout.h
+include/nnvm/node.h
+include/nnvm/op.h
+include/nnvm/op_attr_types.h
+include/nnvm/pass.h
+include/nnvm/pass_functions.h
+include/nnvm/symbolic.h
+include/nnvm/top/README
+include/nnvm/top/nn.h
+include/nnvm/top/tensor.h
+include/nnvm/tuple.h
+lib/libmxnet.a
+lib/libmxnet.so



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201912151853.xBFIrogh048395>