summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: d4d19eada33dbc0601d403c7b8fea8d2c8bf68ec (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
# Maintainer: Baris Demirdelen <barisdemirdelen at gmail com>
# Previous maintainer: Andrew Anderson <aanderso@tcd.ie>
# Contributor: Jonathon Fernyhough <jonathon_at manjaro_dotorg>

pkgname=mkl-dnn
pkgver=0.19
pkgrel=3
_mklmlver=2019.0.5.20190502
pkgdesc="IntelĀ® Math Kernel Library for Deep Neural Networks"
arch=(x86_64)
url=https://github.com/intel/mkl-dnn
license=('APACHE')
makedepends=('cmake>=2.8' 'doxygen>=1.8.5' 'graphviz' 'patchelf')
optdepends=('intel-mkl: Intel MKL small library for Intel OpenMP linking'
            'intel-compiler-base: Intel OpenMP runtime linking')
source=("$pkgname-$pkgver.tar.gz::https://github.com/intel/$pkgname/archive/v$pkgver.tar.gz"
        "https://github.com/intel/$pkgname/releases/download/v$pkgver/mklml_lnx_$_mklmlver.tgz")
sha256sums=('ba39da6adb263df05c4ca2a120295641fc97be75b588922e4274cb628dbe1dcd'
            'a936d6b277a33d2a027a024ea8e65df62bd2e162c7ca52c48486ed9d5dc27160')

prepare() {
  cd "$srcdir/$pkgname-$pkgver"
  mkdir -p build external

  # "Take advantage of optimized matrix-matrix multiplication (GEMM) function
  #  from Intel MKL"

  ln -sf "$srcdir"/mklml_lnx_$_mklmlver external/

  # Allow compilation to succeed despite warnings
   sed -i '66s|-Werror||' cmake/platform.cmake
}

build() {
  cd "$srcdir/$pkgname-$pkgver/build"
  cmake -DCMAKE_INSTALL_PREFIX="$pkgdir/usr" -DCMAKE_INSTALL_LIBDIR="lib" -DCMAKE_INSTALL_RPATH="/usr/lib/mklml" -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=TRUE ..
  make
  make doc
}

check() {
  cd "$srcdir/$pkgname-$pkgver/build"
  ctest
}

package() {
  cd "$srcdir/$pkgname-$pkgver/build"
  make install
  mkdir -p $pkgdir/usr/lib/mklml
  
  # Move libiomp5 so that it doesnt conflict with openmp package
  mv "$pkgdir/usr/lib/libiomp5.so" "$pkgdir/usr/lib/mklml"  
  patchelf --set-rpath /usr/lib/mklml "$pkgdir/usr/lib/libmklml_intel.so"
}