summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO21
-rw-r--r--PKGBUILD136
2 files changed, 51 insertions, 106 deletions
diff --git a/.SRCINFO b/.SRCINFO
index fbaaeb15063c..0851c03dabfa 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,6 +1,6 @@
pkgbase = mxnet-git
pkgdesc = A flexible and efficient library for deep learning
- pkgver = 1.5.1.r10351.5a97cf5c92
+ pkgver = 1.5.1.r10371.6c20fb9e6a
pkgrel = 1
url = http://mxnet.io/
arch = x86_64
@@ -13,33 +13,28 @@ pkgbase = mxnet-git
makedepends = gtk3
makedepends = nccl
makedepends = opencv
- makedepends = patchelf
makedepends = qt5-base
- depends = curl
depends = cblas
depends = double-conversion
depends = hdf5
depends = intel-tbb
depends = lapack
- depends = openblas
depends = protobuf
depends = python-graphviz
depends = python-numpy
depends = python-requests
depends = zeromq
- provides = mxnet=1.5.1.r10351.5a97cf5c92
+ provides = mxnet=1.5.1.r10371.6c20fb9e6a
conflicts = mxnet
source = mxnet::git+https://github.com/apache/incubator-mxnet.git
sha512sums = SKIP
pkgname = mxnet-git
- depends = curl
depends = cblas
depends = double-conversion
depends = hdf5
depends = intel-tbb
depends = lapack
- depends = openblas
depends = protobuf
depends = python-graphviz
depends = python-numpy
@@ -49,13 +44,11 @@ pkgname = mxnet-git
pkgname = mxnet-mkl-git
pkgdesc = A flexible and efficient library for deep learning (with MKL-DNN)
- depends = curl
depends = cblas
depends = double-conversion
depends = hdf5
depends = intel-tbb
depends = lapack
- depends = openblas
depends = protobuf
depends = python-graphviz
depends = python-numpy
@@ -65,13 +58,11 @@ pkgname = mxnet-mkl-git
pkgname = mxnet-cuda-git
pkgdesc = A flexible and efficient library for deep learning (with CUDA)
- depends = curl
depends = cblas
depends = double-conversion
depends = hdf5
depends = intel-tbb
depends = lapack
- depends = openblas
depends = protobuf
depends = python-graphviz
depends = python-numpy
@@ -83,13 +74,11 @@ pkgname = mxnet-cuda-git
pkgname = mxnet-cuda-mkl-git
pkgdesc = A flexible and efficient library for deep learning (with CUDA and MKL-DNN)
- depends = curl
depends = cblas
depends = double-conversion
depends = hdf5
depends = intel-tbb
depends = lapack
- depends = openblas
depends = protobuf
depends = python-graphviz
depends = python-numpy
@@ -98,4 +87,10 @@ pkgname = mxnet-cuda-mkl-git
depends = cuda
depends = cudnn
depends = nccl
+ provides = mxnet=1.5.1.r10371.6c20fb9e6a
+ provides = mxnet-cuda=1.5.1.r10371.6c20fb9e6a
+ provides = mxnet-mkl=1.5.1.r10371.6c20fb9e6a
+ conflicts = mxnet
+ conflicts = mxnet-cuda=1.5.1.r10371.6c20fb9e6a
+ conflicts = mxnet-mkl=1.5.1.r10371.6c20fb9e6a
diff --git a/PKGBUILD b/PKGBUILD
index add9e5a761fd..d093e715e07e 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -4,20 +4,18 @@ cudaarch=Common
_pkgname=mxnet
pkgname=('mxnet-git' 'mxnet-mkl-git' 'mxnet-cuda-git' 'mxnet-cuda-mkl-git')
_pkgver=1.5.1
-pkgver=1.5.1.r10351.5a97cf5c92
+pkgver=1.5.1.r10371.6c20fb9e6a
pkgrel=1
pkgdesc="A flexible and efficient library for deep learning"
arch=('x86_64')
url="http://mxnet.io/"
license=('Apache')
depends=(
- 'curl'
'cblas'
'double-conversion'
'hdf5'
'intel-tbb'
'lapack'
- 'openblas'
'protobuf'
'python-graphviz'
'python-numpy'
@@ -33,7 +31,6 @@ makedepends=(
'gtk3'
'nccl'
'opencv'
- 'patchelf'
'qt5-base'
)
provides=(mxnet=${pkgver})
@@ -41,6 +38,10 @@ conflicts=(mxnet)
source=("${_pkgname}::git+https://github.com/apache/incubator-mxnet.git")
sha512sums=('SKIP')
+get_pyver() {
+ python -c 'import sys; print(str(sys.version_info[0]) + "." + str(sys.version_info[1]))'
+}
+
pkgver() {
cd "${srcdir}/${_pkgname}"
ver=$(printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)")
@@ -50,16 +51,27 @@ pkgver() {
prepare() {
cd "${srcdir}/${_pkgname}"
git submodule update --init --recursive
+
# do not use 3rd party openmp
rm -rfv "${srcdir}/${_pkgname}/3rdparty/openmp"
# the latest cmake set OpenMP_FOUND instead of OPENMP_FOUND
sed -i 's/OPENMP_FOUND/OpenMP_FOUND/g' "${srcdir}/${_pkgname}/CMakeLists.txt"
+
+ # find blas automatically
+ sed -i 's/find_package(OpenBLAS REQUIRED)/find_package(BLAS REQUIRED)/' "${srcdir}/${_pkgname}/cmake/ChooseBlas.cmake" "${srcdir}/${_pkgname}/3rdparty/mshadow/cmake/mshadow.cmake"
+ sed -i 's/OpenBLAS_LIB/BLAS_LIBRARIES/' "${srcdir}/${_pkgname}/cmake/ChooseBlas.cmake" "${srcdir}/${_pkgname}/cmake/ChooseBlas.cmake" "${srcdir}/${_pkgname}/3rdparty/mshadow/cmake/mshadow.cmake"
+ sed -i '/OpenBLAS_INCLUDE_DIR/d' "${srcdir}/${_pkgname}/cmake/ChooseBlas.cmake" "${srcdir}/${_pkgname}/3rdparty/mshadow/cmake/mshadow.cmake"
+
+ # set CUDA_ARCH_LIST to only Pascal, Volta, Turing
+ sed -i '/APPEND CUDA_COMMON_GPU_ARCHITECTURES/d' "${srcdir}/${_pkgname}/cmake/FirstClassLangCuda.cmake"
+ sed -i '/set(CUDA_COMMON_GPU_ARCHITECTURES/c\set(CUDA_COMMON_GPU_ARCHITECTURES "6.0" "6.1" "6.1+PTX" "7.0" "7.5")' "${srcdir}/${_pkgname}/cmake/FirstClassLangCuda.cmake"
+
rm -rf "${srcdir}/${_pkgname}/build"
mkdir "${srcdir}/${_pkgname}/build"
- cp -r "${srcdir}/${_pkgname}" "${srcdir}/mxnet-git"
- cp -r "${srcdir}/${_pkgname}" "${srcdir}/mxnet-mkl-git"
- cp -r "${srcdir}/${_pkgname}" "${srcdir}/mxnet-cuda-git"
- cp -r "${srcdir}/${_pkgname}" "${srcdir}/mxnet-cuda-mkl-git"
+ cp -a "${srcdir}/${_pkgname}" "${srcdir}/mxnet-git"
+ cp -a "${srcdir}/${_pkgname}" "${srcdir}/mxnet-mkl-git"
+ cp -a "${srcdir}/${_pkgname}" "${srcdir}/mxnet-cuda-git"
+ cp -a "${srcdir}/${_pkgname}" "${srcdir}/mxnet-cuda-mkl-git"
}
build() {
@@ -150,12 +162,9 @@ build() {
python setup.py build --with-cython
}
-package_mxnet-git() {
- depends+=(opencv)
-
- export CC=gcc
- export CXX=g++
+_package() {
cd "${srcdir}/${pkgname}/build"
+
# install mxnet core component
make DESTDIR="${pkgdir}" install
@@ -168,49 +177,34 @@ package_mxnet-git() {
python setup.py install --root="${pkgdir}" --optimize=1 --with-cython --skip-build
install -Dm644 "${srcdir}/${pkgname}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
- rm -rfv "${pkgdir}/usr/mxnet"
- ln -sf '/usr/lib/libmxnet.so' "${pkgdir}/usr/lib/python3.8/site-packages/mxnet/libmxnet.so"
- ln -s "/usr/include" "${pkgdir}/usr/lib/python3.8/site-packages/mxnet/include"
- install -d "${pkgdir}/usr/lib/mxnet/mkldnn"
- find "${pkgdir}/usr/lib" -name 'libmkldnn*' -exec mv {} "${pkgdir}/usr/lib/mxnet/mkldnn" \;
- # patch rpath
- find "${pkgdir}" -type f -perm 755 -exec patchelf --set-rpath '/usr/lib/mxnet/mkldnn' {} \;
+ # create neccesarry soft links
+ ln -sf '/usr/lib/libmxnet.so' "${pkgdir}/usr/lib/python$(get_pyver)/site-packages/mxnet/libmxnet.so"
+ ln -s "/usr/include" "${pkgdir}/usr/lib/python$(get_pyver)/site-packages/mxnet/include"
+
# remove unwantted files
+ rm -rfv "${pkgdir}/usr/mxnet"
rm -rfv "${pkgdir}/usr/lib/cmake" "${pkgdir}/usr/share/doc"
- find "${pkgdir}/usr/include" -type f -name 'mkldnn*' -delete
+ find "${pkgdir}" -type f -name '*mkldnn*' -delete
+ find "${pkgdir}" -type f -name '*.a' -delete
find "${pkgdir}" -type d -empty -delete
}
-package_mxnet-mkl-git() {
- pkgdesc="${pkgdesc} (with MKL-DNN)"
+
+package_mxnet-git() {
depends+=(opencv)
export CC=gcc
export CXX=g++
- cd "${srcdir}/${pkgname}/build"
- # install mxnet core component
- make DESTDIR="${pkgdir}" install
-
- if [ -f "${srcdir}/${pkgname}/build/im2rec" ]; then
- install -Dm755 "${srcdir}/${pkgname}/build/im2rec" "${pkgdir}/usr/bin/im2rec"
- fi
+ _package
+}
- # install python binding
- cd "${srcdir}/${pkgname}/python"
- python setup.py install --root="${pkgdir}" --optimize=1 --with-cython --skip-build
- install -Dm644 "${srcdir}/${pkgname}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+package_mxnet-mkl-git() {
+ pkgdesc="${pkgdesc} (with MKL-DNN)"
+ depends+=(opencv)
- rm -rfv "${pkgdir}/usr/mxnet"
- ln -sf '/usr/lib/libmxnet.so' "${pkgdir}/usr/lib/python3.8/site-packages/mxnet/libmxnet.so"
- ln -s "/usr/include" "${pkgdir}/usr/lib/python3.8/site-packages/mxnet/include"
- install -d "${pkgdir}/usr/lib/mxnet/mkldnn"
- find "${pkgdir}/usr/lib" -name 'libmkldnn*' -exec mv {} "${pkgdir}/usr/lib/mxnet/mkldnn" \;
- # patch rpath
- find "${pkgdir}" -type f -perm 755 -exec patchelf --set-rpath '/usr/lib/mxnet/mkldnn' {} \;
- # remove unwantted files
- rm -rfv "${pkgdir}/usr/lib/cmake" "${pkgdir}/usr/share/doc"
- find "${pkgdir}/usr/include" -type f -name 'mkldnn*' -delete
- find "${pkgdir}" -type d -empty -delete
+ export CC=gcc
+ export CXX=g++
+ _package
}
package_mxnet-cuda-git() {
@@ -219,62 +213,18 @@ package_mxnet-cuda-git() {
export CC=/opt/cuda/bin/gcc
export CXX=/opt/cuda/bin/g++
- cd "${srcdir}/${pkgname}/build"
- # install mxnet core component
- make DESTDIR="${pkgdir}" install
-
- if [ -f "${srcdir}/${pkgname}/build/im2rec" ]; then
- install -Dm755 "${srcdir}/${pkgname}/build/im2rec" "${pkgdir}/usr/bin/im2rec"
- fi
-
- # install python binding
- cd "${srcdir}/${pkgname}/python"
- python setup.py install --root="${pkgdir}" --optimize=1 --with-cython --skip-build
- install -Dm644 "${srcdir}/${pkgname}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
-
- rm -rfv "${pkgdir}/usr/mxnet"
- ln -sf '/usr/lib/libmxnet.so' "${pkgdir}/usr/lib/python3.8/site-packages/mxnet/libmxnet.so"
- ln -s "/usr/include" "${pkgdir}/usr/lib/python3.8/site-packages/mxnet/include"
- install -d "${pkgdir}/usr/lib/mxnet/mkldnn"
- find "${pkgdir}/usr/lib" -name 'libmkldnn*' -exec mv {} "${pkgdir}/usr/lib/mxnet/mkldnn" \;
- # patch rpath
- find "${pkgdir}" -type f -perm 755 -exec patchelf --set-rpath '/usr/lib/mxnet/mkldnn' {} \;
- # remove unwantted files
- rm -rfv "${pkgdir}/usr/lib/cmake" "${pkgdir}/usr/share/doc"
- find "${pkgdir}/usr/include" -type f -name 'mkldnn*' -delete
- find "${pkgdir}" -type d -empty -delete
+ _package
}
package_mxnet-cuda-mkl-git() {
pkgdesc="${pkgdesc} (with CUDA and MKL-DNN)"
depends+=(cuda cudnn nccl)
+ provides+=(mxnet-cuda=${pkgver} mxnet-mkl=${pkgver})
+ conflicts+=(mxnet-cuda=${pkgver} mxnet-mkl=${pkgver})
export CC=/opt/cuda/bin/gcc
export CXX=/opt/cuda/bin/g++
- cd "${srcdir}/${pkgname}/build"
- # install mxnet core component
- make DESTDIR="${pkgdir}" install
-
- if [ -f "${srcdir}/${pkgname}/build/im2rec" ]; then
- install -Dm755 "${srcdir}/${pkgname}/build/im2rec" "${pkgdir}/usr/bin/im2rec"
- fi
-
- # install python binding
- cd "${srcdir}/${pkgname}/python"
- python setup.py install --root="${pkgdir}" --optimize=1 --with-cython --skip-build
- install -Dm644 "${srcdir}/${pkgname}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
-
- rm -rfv "${pkgdir}/usr/mxnet"
- ln -sf '/usr/lib/libmxnet.so' "${pkgdir}/usr/lib/python3.8/site-packages/mxnet/libmxnet.so"
- ln -s "/usr/include" "${pkgdir}/usr/lib/python3.8/site-packages/mxnet/include"
- install -d "${pkgdir}/usr/lib/mxnet/mkldnn"
- find "${pkgdir}/usr/lib" -name 'libmkldnn*' -exec mv {} "${pkgdir}/usr/lib/mxnet/mkldnn" \;
- # patch rpath
- find "${pkgdir}" -type f -perm 755 -exec patchelf --set-rpath '/usr/lib/mxnet/mkldnn' {} \;
- # remove unwantted files
- rm -rfv "${pkgdir}/usr/lib/cmake" "${pkgdir}/usr/share/doc"
- find "${pkgdir}/usr/include" -type f -name 'mkldnn*' -delete
- find "${pkgdir}" -type d -empty -delete
+ _package
}
# vim:set ts=2 sw=2 et: