[arch-commits] Commit in tensorflow/trunk (PKGBUILD)
Sven-Hendrik Haase
svenstaro at archlinux.org
Wed Oct 18 09:57:31 UTC 2017
Date: Wednesday, October 18, 2017 @ 09:57:30
Author: svenstaro
Revision: 263224
Prepare opt package
Modified:
tensorflow/trunk/PKGBUILD
----------+
PKGBUILD | 58 +++++++++++++++++++++++++++++++++++++++++++++++++---------
1 file changed, 49 insertions(+), 9 deletions(-)
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2017-10-18 09:38:00 UTC (rev 263223)
+++ PKGBUILD 2017-10-18 09:57:30 UTC (rev 263224)
@@ -3,10 +3,10 @@
# Contributor: Thibault Lorrain (fredszaq) <fredszaq at gmail.com>
pkgbase=tensorflow
-pkgname=(tensorflow tensorflow-cuda python-tensorflow python-tensorflow-cuda)
+pkgname=(tensorflow tensorflow-opt tensorflow-cuda python-tensorflow python-tensorflow-opt python-tensorflow-cuda)
pkgver=1.4.0rc0
_pkgver=1.4.0-rc0
-pkgrel=2
+pkgrel=3
pkgdesc="Library for computation using data flow graphs for scalable machine learning"
url="https://www.tensorflow.org/"
license=('Apache2')
@@ -18,12 +18,12 @@
sha512sums=('d4347fd42a372c1023fe874fe66b4806f13f116614ede0c92d279aea155489ecdd08bb33d9dfd4009059aa660941020b34e4c8105562f5eb8c79d8434e8a70a0')
prepare() {
+ cp -r tensorflow-${_pkgver} tensorflow-${_pkgver}-opt
cp -r tensorflow-${_pkgver} tensorflow-${_pkgver}-cuda
# These environment variables influence the behavior of the configure call below.
export TF_NEED_MKL=0
export PYTHON_BIN_PATH=/usr/bin/python
export USE_DEFAULT_PYTHON_LIB_PATH=1
- export CC_OPT_FLAGS="-march=x86-64"
export TF_NEED_JEMALLOC=1
export TF_NEED_GCP=0
export TF_NEED_HDFS=0
@@ -36,15 +36,21 @@
build() {
cd ${srcdir}/tensorflow-${_pkgver}
-
+ export CC_OPT_FLAGS="-march=x86-64"
export TF_NEED_CUDA=0
-
./configure
- bazel build --config=opt //tensorflow:libtensorflow.so //tensorflow/tools/pip_package:build_pip_package
+ bazel build --jobs $(nproc) --config=opt //tensorflow:libtensorflow.so //tensorflow/tools/pip_package:build_pip_package
bazel-bin/tensorflow/tools/pip_package/build_pip_package ${srcdir}/tmp
+ cd ${srcdir}/tensorflow-${_pkgver}-opt
+ export CC_OPT_FLAGS="-march=haswell"
+ export TF_NEED_CUDA=0
+ ./configure
+ bazel build --jobs $(nproc) --config=opt //tensorflow:libtensorflow.so //tensorflow/tools/pip_package:build_pip_package
+ bazel-bin/tensorflow/tools/pip_package/build_pip_package ${srcdir}/tmpopt
+
cd ${srcdir}/tensorflow-${_pkgver}-cuda
-
+ export CC_OPT_FLAGS="-march=haswell"
export TF_NEED_CUDA=1
# For next version instead of the gcc-6 stuff:
export GCC_HOST_COMPILER_PATH=/usr/bin/gcc-6
@@ -55,9 +61,8 @@
export CUDNN_INSTALL_PATH=/opt/cuda
export TF_CUDNN_VERSION=$(sed -n 's/^#define CUDNN_MAJOR\s*\(.*\).*/\1/p' $CUDNN_INSTALL_PATH/include/cudnn.h)
export TF_CUDA_COMPUTE_CAPABILITIES=3.0,3.5,5.2,6.1,6.2
-
./configure
- bazel build --config=opt --config=cuda //tensorflow:libtensorflow.so //tensorflow/tools/pip_package:build_pip_package
+ bazel build --jobs $(nproc) --config=opt --config=cuda //tensorflow:libtensorflow.so //tensorflow/tools/pip_package:build_pip_package
bazel-bin/tensorflow/tools/pip_package/build_pip_package ${srcdir}/tmpcuda
}
@@ -71,10 +76,25 @@
install -Dm644 LICENSE ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
}
+package_tensorflow-opt() {
+ conflicts=(tensorflow)
+ provides=(tensorflow)
+ pkgdesc="Library for computation using data flow graphs for scalable machine learning (with CPU optimizations)"
+
+ cd ${srcdir}/tensorflow-${_pkgver}-opt
+
+ tensorflow/c/generate-pc.sh --prefix=/usr --version=${pkgver}
+ install -Dm644 tensorflow.pc ${pkgdir}/usr/lib/pkgconfig/tensorflow.pc
+ install -Dm755 bazel-bin/tensorflow/libtensorflow.so ${pkgdir}/usr/lib/libtensorflow.so
+ install -Dm644 tensorflow/c/c_api.h ${pkgdir}/usr/include/tensorflow/c/c_api.h
+ install -Dm644 LICENSE ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
+}
+
package_tensorflow-cuda() {
depends=(cuda cudnn)
conflicts=(tensorflow)
provides=(tensorflow)
+ pkgdesc="Library for computation using data flow graphs for scalable machine learning (with CUDA)"
cd ${srcdir}/tensorflow-${_pkgver}-cuda
@@ -101,10 +121,30 @@
install -Dm644 LICENSE ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
}
+package_python-tensorflow-opt() {
+ depends=(python python-protobuf)
+ conflicts=(python-tensorflow)
+ provides=(python-tensorflow)
+ pkgdesc="Library for computation using data flow graphs for scalable machine learning (with CPU optimizations)"
+
+ cd ${srcdir}/tensorflow-${_pkgver}-opt
+
+ WHEEL_PACKAGE=$(find ${srcdir}/tmpopt -name "tensor*.whl")
+ pip install --ignore-installed --upgrade --root $pkgdir/ $WHEEL_PACKAGE --no-dependencies
+
+ # tensorboard has been separated from upstream but they still install it with
+ # tensorflow. I don't know what kind of sense that makes but we have to clean
+ # it out from this pacakge.
+ rm -rf ${pkgdir}/usr/bin/tensorboard
+
+ install -Dm644 LICENSE ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
+}
+
package_python-tensorflow-cuda() {
depends=(python cuda cudnn python-pycuda python-protobuf)
conflicts=(python-tensorflow)
provides=(python-tensorflow)
+ pkgdesc="Library for computation using data flow graphs for scalable machine learning (with CUDA)"
cd ${srcdir}/tensorflow-${_pkgver}-cuda
More information about the arch-commits
mailing list