summarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
authorJingbei Li2019-06-20 22:26:04 +0800
committerJingbei Li2019-06-20 22:26:04 +0800
commit9b96482ddb05744f67f9066a55419e2d539df84f (patch)
treed2e330a9366fe33bf895464133ff9f5763a8b45f /PKGBUILD
parente29cd6593b4b2af9ade3a613186fb1a09de43965 (diff)
downloadaur-9b96482ddb05744f67f9066a55419e2d539df84f.tar.gz
splitted to mxnet{,-cuda,-mkl}
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD161
1 files changed, 130 insertions, 31 deletions
diff --git a/PKGBUILD b/PKGBUILD
index 07ebb87e3154..f793a9e54577 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,17 +1,16 @@
# Maintainer: Jingbei Li <i@jingbei.li>
# Contributor: Carl Ã…kerlindh <carl.akerlindh at gmail dot com>
-pkgname=mxnet
-_gitname=incubator-mxnet
+pkgbase=mxnet
+pkgname=('mxnet' 'mxnet-cuda' 'mxnet-mkl')
pkgver=1.4.1
-pkgrel=1
+pkgrel=2
pkgdesc="Flexible and Efficient Library for Deep Learning"
arch=('x86_64')
url="http://mxnet.io/"
license=('Apache')
-depends=('hdf5' 'cblas' 'lapack' 'python-numpy' 'python-requests' 'intel-tbb' 'double-conversion')
-optdepends=('cairo' 'cuda' 'cudnn' 'gtk3' 'gtkglext' 'nccl' 'python-graphviz' 'opencv' 'vtk' 'glew')
-makedepends=(${optdepends[@]} 'git' 'cython')
-source=("git+https://github.com/apache/$_gitname#tag=$pkgver"
+depends=('double-conversion' 'hdf5' 'intel-tbb' 'opencv' 'python-numpy' 'python-requests')
+makedepends=('cairo' 'cblas' 'cmake' 'cuda' 'cudnn' 'cython' 'gcc7' 'git' 'gtk3' 'gtkglext' 'intel-compiler-base' 'intel-mkl' 'lapack' 'nccl' 'python-graphviz' 'vtk' 'glew' 'mkl-dnn')
+source=("${pkgbase}::git+https://github.com/apache/incubator-mxnet#tag=$pkgver"
'git+https://github.com/dmlc/cub'
'git+https://github.com/dmlc/dlpack'
'git+https://github.com/dmlc/dmlc-core'
@@ -22,6 +21,11 @@ source=("git+https://github.com/apache/$_gitname#tag=$pkgver"
'git+https://github.com/llvm-mirror/openmp'
'git+https://github.com/dmlc/ps-lite'
'git+https://github.com/dmlc/tvm'
+ 'git+https://github.com/onnx/onnx'
+ 'git+https://github.com/google/benchmark.git'
+ 'git+https://github.com/pybind/pybind11.git'
+ 'git+https://github.com/wjakob/clang-cindex-python3'
+ 'git+https://github.com/dmlc/HalideIR'
'13559.patch')
md5sums=('SKIP'
'SKIP'
@@ -34,34 +38,54 @@ md5sums=('SKIP'
'SKIP'
'SKIP'
'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
'fd1c56e58357cd8ba82fcaf8ebfcc1fa')
prepare() {
- cd "$srcdir/$_gitname"
-
+ cd "$srcdir/$pkgbase"
for i in cub dlpack dmlc-core googletest mshadow onnx-tensorrt openmp ps-lite tvm
do
- git config submodule.3rdpary/$i.url "$srcdir/$i"
+ git config submodule.3rdparty/${i}.url "$srcdir/$i"
done
- git config submodule.3rdpary/mkldnn.url "$srcdir/mkl-dnn"
+ git config submodule.3rdparty/mkldnn.url "$srcdir/mkl-dnn"
+ git submodule update --init
+ cd "$srcdir/$pkgbase/3rdparty/onnx-tensorrt"
+ git config submodule.third_party/onnx.url "$srcdir/onnx"
+ git submodule update --init
+
+ cd "$srcdir/$pkgbase/3rdparty/onnx-tensorrt/third_party/onnx"
+ for i in benchmark pybind11
+ do
+ git config submodule.third_party/${i}.url "$srcdir/$i"
+ done
+ git submodule update --init
+
+ cd "$srcdir/$pkgbase/3rdparty/onnx-tensorrt/third_party/onnx/third_party/pybind11"
+ git config submodule.tools/clang.url "$srcdir/clang-cindex-python3"
+ git submodule update --init
+
+ cd "$srcdir/$pkgbase/3rdparty/tvm"
+ for i in HalideIR dlpack dmlc-core
+ do
+ #git config submodule.3rdparty/${i}.url "$srcdir/$i"
+ git config submodule.${i}.url "$srcdir/$i"
+ done
+ git submodule update --init
+
+ cd "$srcdir/$pkgbase"
git submodule update --init --recursive
+
(
- echo "USE_BLAS=blas"
- echo "USE_LAPACK=1"
- echo "ADD_LDFLAGS+=-lcblas"
+ echo "USE_OPENCV=1"
# https://github.com/apache/incubator-mxnet/issues/8569
echo "USE_GPERFTOOLS=0"
echo "USE_JEMALLOC=0"
-
- echo "USE_CUDA=1"
- echo "USE_CUDA_PATH=/opt/cuda"
- echo "USE_CUDNN=1"
- echo "ADD_LDFLAGS+=-L/opt/cuda/lib64/stubs"
- echo "USE_NCCL=1"
- echo "USE_NCCL_PATH=/usr"
- echo "USE_OPENCV=1"
) >> make/config.mk
# https://github.com/archlinuxcn/repo/issues/684
@@ -76,23 +100,98 @@ prepare() {
# https://github.com/apache/incubator-mxnet/pull/13559
patch -p1 < ${srcdir}/13559.patch
sed 's/opencv)/opencv4)/g' -i Makefile
+
+ cp -r "$srcdir/$pkgbase" "$srcdir/$pkgbase-cuda"
+ (
+ echo "export CC=gcc-7"
+ echo "export CXX=g++-7"
+
+ echo "USE_BLAS=blas"
+ echo "ADD_LDFLAGS+=-lcblas"
+
+ echo "USE_CUDA=1"
+ echo "USE_CUDA_PATH=/opt/cuda"
+ echo "USE_CUDNN=1"
+ echo "USE_NCCL=1"
+ echo "USE_NCCL_PATH=/usr"
+
+ echo -n "CUDA_ARCH="
+ for i in 35 37 50 52 53 60 61 62 70 72 75
+ do
+ echo -n "-gencode arch=compute_$i,code=sm_$i "
+ done
+ echo
+ ) >> "$srcdir/$pkgbase-cuda/make/config.mk"
+
+ cp -r "$srcdir/$pkgbase" "$srcdir/$pkgbase-mkl"
+ (
+ echo "export CC=icc"
+ echo "export CXX=icpc"
+
+ echo "USE_BLAS=mkl"
+ echo "USE_INTEL_PATH=/opt/intel"
+ echo "ADD_LDFLAGS+=-lmkl_rt"
+ echo "USE_MKLDNN=1"
+
+ # https://github.com/apache/incubator-mxnet/issues/14086
+ # https://github.com/apache/incubator-mxnet/compare/master...TaoLv:enable-icc?expand=1
+ echo "ADD_CFLAGS=-Qoption\,cpp\,--new_cilkfor"
+ ) >> "$srcdir/$pkgbase-mkl/make/config.mk"
+
+ (
+ echo "export CC=gcc-7"
+ echo "export CXX=g++-7"
+
+ echo "USE_BLAS=blas"
+ echo "ADD_LDFLAGS+=-lcblas"
+ ) >> "$srcdir/$pkgbase/make/config.mk"
}
build() {
- cd "$srcdir/$_gitname"
- make $flags
+ cd "$srcdir/$pkgbase"
+ make
+ cd python
+ python setup.py build --with-cython
+
+ cd "$srcdir/$pkgbase-cuda"
+ make
+ cd python
+ python setup.py build --with-cython
+ cd "$srcdir/$pkgbase-mkl"
+ make
cd python
python setup.py build --with-cython
}
-package() {
- cd "$srcdir/$_gitname/python"
- python setup.py install --root="$pkgdir"/ --optimize=1 --with-cython
- mv $pkgdir/usr/$pkgname/* $pkgdir/usr/lib/python3.7/site-packages/$pkgname/
- rmdir $pkgdir/usr/$pkgname
+_package() {
+ cd "$srcdir/$pkgname/python"
+ python setup.py install --root="$pkgdir"/ --optimize=1 --with-cython --skip-build
+ mv $pkgdir/usr/$pkgbase/* $pkgdir/usr/lib/python3.7/site-packages/$pkgbase/
+ rmdir $pkgdir/usr/$pkgbase
+
+ cp -r $srcdir/$pkgname/include $pkgdir/usr/lib/python3.7/site-packages/$pkgbase/
+
+ install -Dm644 "$srcdir/$pkgname/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+}
- cp -r $srcdir/$_gitname/include $pkgdir/usr/lib/python3.7/site-packages/$pkgname/
+package_mxnet() {
+ depends+=(cblas lapack)
+ _package
+}
+
+package_mxnet-cuda() {
+ pkgdesc="$pkgdesc (with CUDA)"
+ depends+=(cblas lapack cuda cudnn nccl)
+ conflicts=(mxnet)
+ provides=(mxent)
+ _package
+}
- install -Dm644 "$srcdir/$_gitname/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+package_mxnet-mkl() {
+ pkgdesc="$pkgdesc (with MKL)"
+ depends+=(intel-mkl mkl-dnn)
+ conflicts=(mxnet)
+ provides=(mxent)
+ _package
}