Package Details: mxnet-cuda 1.5.1-2

Git Clone URL: https://aur.archlinux.org/mxnet.git (read-only, click to copy)
Package Base: mxnet
Description: Flexible and Efficient Library for Deep Learning (with CUDA)
Upstream URL: http://mxnet.io/
Keywords: deep_learning deep_neural_networks distributed_systems machine_learning
Licenses: Apache
Conflicts: mxnet
Provides: mxnet
Submitter: Godisemo
Maintainer: petronny
Last Packager: petronny
Votes: 9
Popularity: 0.015466
First Submitted: 2017-02-11 00:12
Last Updated: 2020-01-14 06:05

Dependencies (27)

Required by (5)

Sources (17)

Pinned Comments

petronny commented on 2019-06-21 08:00

And about this package, I've splitted it into mxnet{,-cuda,-mkl}. And it will take lots of time and space to compile.

The pre-built binaries of mxnet{,-cuda,-mkl} and their dependencies can be found in arch4edu.

Latest Comments

1 2 3 4 5 Next › Last »

olko commented on 2020-01-15 20:20

any update? currently the AUR package of MXNet is not usable :(

petronny commented on 2019-12-25 08:52

@olko I'll take a look next month.

olko commented on 2019-12-25 08:39

@petronny Your mxnet package fails because of unmet dependencies to intel and mkl packages (so I used the upstream archive).

I got MXNet compiled with OpenCV + CUDA + MKL.

The problem was that Arch Linux provides the newest GCC version (9.2.0 at this time) and newer versions are more eager to generate warnings.

MXNet uses -Werror that causes compilation abortion. As a quick fix I removed -Werror from the cmake config for MKLDNN. But I'll provide a pull request upstream that eliminates the warnings.

My Steps:

  • download and extract the official MXNet 1.5.1 archive (apache-mxnet-src-1.5.1-incubating.tar.gz)

  • cd apache-mxnet-src-1.5.1-incubating

  • store cmake config (https://pastebin.com/5K3FZkCB) as cmake_options.yml in apache-mxnet-src-1.5.1-incubating (I believe that USE_MKLML_MKL and USE_MKLDNN are automatically switched on if USE_MKL_IF_AVAILABLE is enabled)

  • apply OpenCV patch (OpenCV-flags in namespace cv) https://pastebin.com/VgUNTm6A

  • apply MKLDNN patch (remove -Werror causing abort) https://pastebin.com/6SpE3btx

  • call ./dev_menu.py build

Please, provide a new AUR package that uses my configuration from above (e.g. CUDA + MKL enabled for MXNet).

ty, Oliver

petronny commented on 2019-12-24 05:28

@olko Because it doesn't build when I wrote the PKGBUILD.

If it's building now or you figure out how to make it build, I'm happy to merge your changes.

olko commented on 2019-12-23 20:50

Why is mxnet configured without support for OpenCV?

olko commented on 2019-12-23 20:49

Why is no mxnet-cuda-mkl provided?

zottelef commented on 2019-07-17 08:30

@petronny: after many years using R and installing packages from source I feel numb.

I added the three lines, but the following error still persists:

In file included from im2rec.cc:41:
/usr/include/opencv4/opencv2/opencv.hpp:48:10: fatal error: opencv2/opencv_modules.hpp: No such file or directory
   48 | #include "opencv2/opencv_modules.hpp"
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.

petronny commented on 2019-07-11 05:50

@zottelef Adding these 3 lines before R CMD INSTALL R-package:

echo "PKG_CXXFLAGS+=$(CFLAGS)" >> R-package/src/Makevars
sed '1i#define CV_IMWRITE_PNG_COMPRESSION cv::IMWRITE_PNG_COMPRESSION' -i R-package/src/im2rec.cc
sed '1i#define CV_IMWRITE_JPEG_QUALITY cv::IMWRITE_JPEG_QUALITY' -i R-package/src/im2rec.cc

under rpkg: in Makefile should work.

I can't find a file like mxnet_0.5.tar.gz to install, but I think mxnet has been installed. I can pass the tests with make rpkgtest.

zottelef commented on 2019-07-08 07:12

There is still and error with the R CMD INSTALL R-package:

im2rec.cc:39:10: fatal error: opencv2/opencv.hpp: No such file or directory
   39 | #include <opencv2/opencv.hpp>
      |          ^~~~~~~~~~~~~~~~~~~~
compilation terminated.
Prepending opencv4 to the /home/fabio/.cache/pikaur/build/mxnet/src/mxnet/R-package/src/im2rec.cc

gives this error:

In file included from im2rec.cc:39:
/usr/include/opencv4/opencv2/opencv.hpp:48:10: fatal error: opencv2/opencv_modules.hpp: No such file or directory
   48 | #include "opencv2/opencv_modules.hpp"
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.

but I cannot find the file that calls opencv2/opencv_modules.hpp and prepend opencv4. opencv_modules.hpp and opencv.hpp are in /usr/include/opencv4/opencv2/ (on my computer)

petronny commented on 2019-07-05 11:13

@zottelef I've looked into the R support.

At last, the document asks you to run

make rpkg

which is

rpkg:
        mkdir -p R-package/inst/libs
        cp src/io/image_recordio.h R-package/src
        cp -rf lib/libmxnet.so R-package/inst/libs
        mkdir -p R-package/inst/include
        cp -rf include/* R-package/inst/include
        cp -rf 3rdparty/dmlc-core/include/* R-package/inst/include/
        cp -rf 3rdparty/tvm/nnvm/include/* R-package/inst/include
        Rscript -e "if(!require(devtools)){install.packages('devtools', repo = 'https://cloud.r-project.org/')}"
        Rscript -e "library(devtools); library(methods); options(repos=c(CRAN='https://cloud.r-project.org/')); install_deps(pkg='R-package', dependencies = TRUE)"
        cp R-package/dummy.NAMESPACE R-package/NAMESPACE
        echo "import(Rcpp)" >> R-package/NAMESPACE
        R CMD INSTALL R-package
        Rscript -e "if (!require('roxygen2')||packageVersion('roxygen2') < '5.0.1'){\
            devtools::install_version('roxygen2',version='5.0.1',\
            repos='https://cloud.r-project.org/',quiet=TRUE)}"
        Rscript -e "require(mxnet); mxnet:::mxnet.export('R-package'); warnings()"
        rm R-package/NAMESPACE
        Rscript -e "require(roxygen2); roxygen2::roxygenise('R-package'); warnings()"
        R CMD INSTALL R-package

So if you have lib/libmxnet.so I think there is no need to compile libmxnet.so youself. Could you try skip the build and use the libmxnet.so in the prebuilt binaires?

Packaging r-mxnet is a sort of nightmare to me since almost all r-* things are in AUR and I have to add them into my repository before packaging r-mxnet. But some of them are orphaned and maybe not well-maintained so I don't really want to add them into my repository. So could you try a local installation without building libmxnet.so first?