summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: 85e98dd8f0d0823657f95e1c2d79bbf01ed4e335 (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
55
56
57
58
# Maintainer: Jingbei Li <i@jingbei.li>
pkgname=cntk
_gitname=CNTK
pkgver=2.2
pkgrel=1
pkgdesc="Microsoft Cognitive Toolkit (CNTK), an open source deep-learning toolkit"
arch=('x86_64')
url="https://github.com/Microsoft/$_gitname"
license=('CUSTOM')
depends=('boost' 'cub' 'cuda' 'cudnn6' 'libzip' 'nccl' 'nvidia-utils' 'openblas' 'opencv' 'openmpi' 'protobuf' 'python-numpy' 'python-scipy')
makedepends=('cmake' 'git' 'inetutils' 'java-environment' 'python-pip' 'python-setuptools' 'python-wheel' 'swig' )
optdepends=('swig' 'java-environment' )
source=("git+$url#tag=v$pkgver")
md5sums=('SKIP')

prepare(){
	cd $srcdir/$_gitname
	git submodule update --init --recursive
	sed '24a#include <cmath>' -i Source/CNTKv2LibraryDll/API/CNTKLibrary.h
	sed \
		-e 's|libprotobuf.a|libprotobuf.so|' \
		-e 's|cuda/include/cudnn.h|include/cudnn.h|' \
		-i configure
	mkdir -p build
	./configure \
		--with-build-top=build \
		--with-jdk=/usr/lib/jvm/default \
		--with-openblas \
		--with-opencv \
		--with-py36-path \
		--with-cuda=/opt/cuda \
		--with-cub=/usr/include \
		--with-gdk-include=/opt/cuda/include \
		--with-gdk-nvml-lib=/opt/cuda/lib64/stubs \
		--with-cudnn=/opt/cudnn6 \
		--with-nccl=/opt/cuda \
		--with-swig
		#--with-kaldi=/opt/kaldi \
	sed \
		-e 's| $(PROTOBUF_PATH)/lib/libprotobuf.a| -lprotobuf|' \
		-e 's|$(CUDNN_PATH)/cuda|$(CUDNN_PATH)|g'\
		-i Makefile
}

build() {
	cd $srcdir/$_gitname/build
	make \
		CXXFLAGS='-Wno-sign-compare -fPIC'
}

package() {
	mkdir -p $pkgdir/usr
	cd $srcdir/$_gitname/build
	cp -r bin lib $pkgdir/usr

	cd $srcdir/$_gitname/build/python
	pip install --root=$pkgdir $pkgname-$pkgver-cp36-cp36m-linux_x86_64.whl
}