GNU bug report logs - #40002
[PATCH] WIP: Add mxnet.

Previous Next

Package: guix-patches;

Reported by: Pierre Neidhardt <mail <at> ambrevar.xyz>

Date: Mon, 9 Mar 2020 18:26:02 UTC

Severity: normal

Tags: patch

To reply to this bug, email your comments to 40002 AT debbugs.gnu.org.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#40002; Package guix-patches. (Mon, 09 Mar 2020 18:26:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Pierre Neidhardt <mail <at> ambrevar.xyz>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Mon, 09 Mar 2020 18:26:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Pierre Neidhardt <mail <at> ambrevar.xyz>
To: guix-patches <at> gnu.org
Subject: [PATCH] WIP: Add mxnet.
Date: Mon,  9 Mar 2020 19:25:08 +0100
* gnu/packages/machine-learning.scm (mxnet): New variable.
---
 gnu/packages/machine-learning.scm | 62 +++++++++++++++++++++++++++++++
 1 file changed, 62 insertions(+)

diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm
index 50c41dc113..9408c4b8e0 100644
--- a/gnu/packages/machine-learning.scm
+++ b/gnu/packages/machine-learning.scm
@@ -60,6 +60,8 @@
   #:use-module (gnu packages graphviz)
   #:use-module (gnu packages gstreamer)
   #:use-module (gnu packages image)
+  #:use-module (gnu packages image-processing)
+  #:use-module (gnu packages jemalloc)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages lisp-xyz)
   #:use-module (gnu packages maths)
@@ -2121,3 +2123,63 @@ These include a barrier, broadcast, and allreduce.")
 technique that can be used for visualisation similarly to t-SNE, but also for
 general non-linear dimension reduction.")
     (license license:bsd-3)))
+
+(define-public mxnet
+  (package
+    (name "mxnet")
+    (version "1.6.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/apache/incubator-mxnet")
+             (commit version)
+             ;; TODO: Test if possible to include system version of those deps:
+             ;; mkldnn
+             ;; openmp
+             (recursive? #t)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "1jlk0a9kls4fxxq4sap21hk6k3vhqhlflx5jm8i2amwh1z22sj09"))))
+    (build-system cmake-build-system)
+    (arguments
+     `(#:configure-flags '("-DUSE_CUDA=OFF")
+       #:parallel-build? #f             ; TODO: Try rebuilding in parallel.
+       #:phases
+       (modify-phases %standard-phases
+         (replace 'check
+           (lambda _
+             ;; Skip tests that require internet access.
+             (invoke "ctest" "--timeout" "6000")))
+         ;; (add-before 'check 'increase-test-timeout
+         ;;   (lambda _
+         ;;     ;; TODO: Set right timeout.
+         ;;     (setenv "CTEST_TEST_TIMEOUT" "6000")
+         ;;     #t))
+         )))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)
+       ("perl" ,perl)
+       ;; TODO: Use our gtest
+       ;; ("googletest" ,googletest)
+       ))
+    (inputs
+     `(("lapack" ,lapack)
+       ("openblas" ,openblas)
+       ("opencv" ,opencv)
+       ("jemalloc" ,jemalloc)))
+    (home-page "https://mxnet.apache.org/")
+    (synopsis "Distributed/Mobile Deep Learning")
+    (description
+     "Apache MXNet (incubating) is a deep learning framework.  It allows you
+to mix symbolic and imperative programming.  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.")
+    (license license:asl2.0)))
-- 
2.25.1





Information forwarded to guix-patches <at> gnu.org:
bug#40002; Package guix-patches. (Mon, 09 Mar 2020 18:39:01 GMT) Full text and rfc822 format available.

Message #8 received at 40002 <at> debbugs.gnu.org (full text, mbox):

From: Pierre Neidhardt <mail <at> ambrevar.xyz>
To: 40002 <at> debbugs.gnu.org
Subject: Re: bug#40002: Acknowledgement ([PATCH] WIP: Add mxnet.)
Date: Mon, 09 Mar 2020 19:38:07 +0100
[Message part 1 (text/plain, inline)]
This definitions build the library.

One obstacle: The tests take a very long time to complete, typically
some 30+ minutes on one core.  But CMake has a default timeout set to
1500 sec (25 minutes).  I've passed "--timeout 6000" to `ctest` to fix
it.
What do you think?  It seems that it's the first package to need this.

openexr sets

--8<---------------cut here---------------start------------->8---
             (setenv "CTEST_TEST_TIMEOUT" "2000")
--8<---------------cut here---------------end--------------->8---

but that does not work for MXNet for some reason.

Thoughts?

-- 
Pierre Neidhardt
https://ambrevar.xyz/
[signature.asc (application/pgp-signature, inline)]

This bug report was last modified 4 years and 42 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.