* [PR PATCH] python3-numpy: Use OpenBLAS when available.
@ 2021-01-09 22:16 olafmersmann
2021-01-09 22:20 ` [PR PATCH] [Updated] " olafmersmann
` (6 more replies)
0 siblings, 7 replies; 8+ messages in thread
From: olafmersmann @ 2021-01-09 22:16 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 461 bytes --]
There is a new pull request by olafmersmann against master on the void-packages repository
https://github.com/olafmersmann/void-packages python3-numpy
https://github.com/void-linux/void-packages/pull/27797
python3-numpy: Use OpenBLAS when available.
Just like `python3-scipy`, `python3-numpy` should use OpenBLAS when available and fall back to BLAS/LAPACK otherwise.
A patch file from https://github.com/void-linux/void-packages/pull/27797.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-python3-numpy-27797.patch --]
[-- Type: text/x-diff, Size: 7098 bytes --]
From dccefd67847566208fa9d5849efc924a2ce54c0d Mon Sep 17 00:00:00 2001
From: Olaf Mersmann <olafm@p-value.net>
Date: Sat, 9 Jan 2021 01:44:35 +0100
Subject: [PATCH 1/6] shutils/chroot.sh: move homedir to /tmp/fake-home.
starship tests fail if /tmp is $HOME because they create files inside
/tmp and compare the shortend path to an expected path. If /tmp is
$HOME, starship contracts it to ~ which does not match the expected
value.
---
common/xbps-src/shutils/chroot.sh | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/common/xbps-src/shutils/chroot.sh b/common/xbps-src/shutils/chroot.sh
index 8646d758549..e4bf4129826 100644
--- a/common/xbps-src/shutils/chroot.sh
+++ b/common/xbps-src/shutils/chroot.sh
@@ -88,7 +88,7 @@ PATH=/void-packages:/usr/bin
exec env -i -- SHELL=/bin/sh PATH="\$PATH" DISTCC_HOSTS="\$XBPS_DISTCC_HOSTS" DISTCC_DIR="/host/distcc" \
${XBPS_ARCH+XBPS_ARCH=$XBPS_ARCH} ${XBPS_CHECK_PKGS+XBPS_CHECK_PKGS=$XBPS_CHECK_PKGS} \
- CCACHE_DIR="/host/ccache" IN_CHROOT=1 LC_COLLATE=C LANG=en_US.UTF-8 TERM=linux HOME="/tmp" \
+ CCACHE_DIR="/host/ccache" IN_CHROOT=1 LC_COLLATE=C LANG=en_US.UTF-8 TERM=linux HOME="/tmp/fake-home" \
PS1="[\u@$XBPS_MASTERDIR \W]$ " /bin/bash +h
_EOF
@@ -119,7 +119,9 @@ chroot_prepare() {
# Copy /etc/passwd and /etc/group from base-files.
cp -f $XBPS_SRCPKGDIR/base-files/files/passwd $XBPS_MASTERDIR/etc
- echo "$(whoami):x:$(id -u):$(id -g):$(whoami) user:/tmp:/bin/xbps-shell" \
+ mkdir -p $XBPS_MASTERDIR/tmp/fake-home
+ chown $(id -u):$(id -g) $XBPS_MASTERDIR/tmp/fake-home
+ echo "$(whoami):x:$(id -u):$(id -g):$(whoami) user:/tmp/fake-home:/bin/xbps-shell" \
>> $XBPS_MASTERDIR/etc/passwd
cp -f $XBPS_SRCPKGDIR/base-files/files/group $XBPS_MASTERDIR/etc
echo "$(whoami):x:$(id -g):" >> $XBPS_MASTERDIR/etc/group
@@ -166,7 +168,7 @@ chroot_handler() {
rv=$?
else
env -i -- PATH="/usr/bin:$PATH" SHELL=/bin/sh \
- HOME=/tmp IN_CHROOT=1 LC_COLLATE=C LANG=en_US.UTF-8 \
+ HOME=/tmp/fake-home IN_CHROOT=1 LC_COLLATE=C LANG=en_US.UTF-8 \
${HTTP_PROXY:+HTTP_PROXY="${HTTP_PROXY}"} \
${HTTPS_PROXY:+HTTPS_PROXY="${HTTPS_PROXY}"} \
${FTP_PROXY:+FTP_PROXY="${FTP_PROXY}"} \
From 92bc76e4361963c0b4cc2534d44be60311dd27c6 Mon Sep 17 00:00:00 2001
From: Olaf Mersmann <olafm@p-value.net>
Date: Sat, 9 Jan 2021 01:56:44 +0100
Subject: [PATCH 2/6] starship: cleanup do_check.
---
srcpkgs/starship/template | 4 ----
1 file changed, 4 deletions(-)
diff --git a/srcpkgs/starship/template b/srcpkgs/starship/template
index 0eae193aece..cdf8bcc97dd 100644
--- a/srcpkgs/starship/template
+++ b/srcpkgs/starship/template
@@ -22,11 +22,7 @@ post_build() {
}
do_check() {
- mkdir -p fake-home
- local OLDHOME=$HOME
- export HOME=$(pwd)/fake-home
cargo test -q --release --target ${RUST_TARGET}
- export HOME=$OLDHOME
}
post_install() {
From 6101e4de3a203bf99c956fb0854694dfa2694b85 Mon Sep 17 00:00:00 2001
From: Olaf Mersmann <olafm@p-value.net>
Date: Sat, 9 Jan 2021 01:58:12 +0100
Subject: [PATCH 3/6] passmenu: simplify do_check.
---
srcpkgs/pass/template | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/srcpkgs/pass/template b/srcpkgs/pass/template
index 33f0811c76d..82fae4d661f 100644
--- a/srcpkgs/pass/template
+++ b/srcpkgs/pass/template
@@ -16,7 +16,7 @@ checksum=2b6c65846ebace9a15a118503dcd31b6440949a30d3b5291dfb5b1615b99a3f4
do_check() {
mkdir -p fake-home
- HOME=$(pwd)/fake-home make test
+ make test
}
passmenu_package() {
From 066fe8c0f49ae57e9bf66d63b51a4477bcf57257 Mon Sep 17 00:00:00 2001
From: Olaf Mersmann <olafm@p-value.net>
Date: Sat, 9 Jan 2021 01:59:23 +0100
Subject: [PATCH 4/6] pygtk: simplify do_check.
---
srcpkgs/pygtk/template | 3 ---
1 file changed, 3 deletions(-)
diff --git a/srcpkgs/pygtk/template b/srcpkgs/pygtk/template
index 41554b81763..e205ca332fc 100644
--- a/srcpkgs/pygtk/template
+++ b/srcpkgs/pygtk/template
@@ -28,10 +28,7 @@ pre_configure() {
}
do_check() {
- export HOME="$(mktemp -d)"
- mkdir -p "$HOME/.local/share"
xvfb-run make check
- rm -r "$HOME"
}
post_install() {
From be7041bebbadbdb342f1ab23f2e4840e11380b7b Mon Sep 17 00:00:00 2001
From: Olaf Mersmann <olafm@p-value.net>
Date: Sat, 9 Jan 2021 02:06:59 +0100
Subject: [PATCH 5/6] pass: simplify do_check.
---
srcpkgs/pass/template | 1 -
1 file changed, 1 deletion(-)
diff --git a/srcpkgs/pass/template b/srcpkgs/pass/template
index 82fae4d661f..57493f0862c 100644
--- a/srcpkgs/pass/template
+++ b/srcpkgs/pass/template
@@ -15,7 +15,6 @@ distfiles="https://git.zx2c4.com/password-store/snapshot/password-store-${versio
checksum=2b6c65846ebace9a15a118503dcd31b6440949a30d3b5291dfb5b1615b99a3f4
do_check() {
- mkdir -p fake-home
make test
}
From 8415ff2569159f3c6c16f56bc7c165967c9a41d3 Mon Sep 17 00:00:00 2001
From: Olaf Mersmann <olafm@p-value.net>
Date: Sat, 9 Jan 2021 23:11:42 +0100
Subject: [PATCH 6/6] python3-numpy: Use OpenBLAS on platforms that support it.
---
srcpkgs/python3-numpy/files/site.cfg.openblas | 4 ++++
srcpkgs/python3-numpy/template | 20 +++++++++++++++++--
2 files changed, 22 insertions(+), 2 deletions(-)
create mode 100644 srcpkgs/python3-numpy/files/site.cfg.openblas
diff --git a/srcpkgs/python3-numpy/files/site.cfg.openblas b/srcpkgs/python3-numpy/files/site.cfg.openblas
new file mode 100644
index 00000000000..a83f9155faf
--- /dev/null
+++ b/srcpkgs/python3-numpy/files/site.cfg.openblas
@@ -0,0 +1,4 @@
+[openblas]
+libraries = openblas
+library_dirs = /usr/lib
+include_dirs = /usr/include
diff --git a/srcpkgs/python3-numpy/template b/srcpkgs/python3-numpy/template
index 619040f2892..e032c99ae67 100644
--- a/srcpkgs/python3-numpy/template
+++ b/srcpkgs/python3-numpy/template
@@ -1,11 +1,12 @@
# Template file for 'python3-numpy'
pkgname=python3-numpy
version=1.19.5
-revision=1
+revision=2
wrksrc="numpy-${version}"
build_style=python3-module
hostmakedepends="python3-setuptools python3-Cython gcc-fortran"
-makedepends="python3-devel lapack-devel cblas-devel"
+makedepends="python3-devel
+ $(vopt_if openblas 'openblas-devel' 'lapack-devel cblas-devel')"
depends="python3-setuptools"
short_desc="Fast and sophisticated array facility to Python3"
maintainer="bra1nwave <bra1nwave@protonmail.com>"
@@ -15,7 +16,22 @@ distfiles="https://github.com/numpy/numpy/archive/v${version}.tar.gz"
checksum=43fe3bcdf27a2eb27196a1d140385aeece71c8b1a6eda18d2c6365239e50c60f
alternatives="numpy:f2py:/usr/bin/f2py3"
+build_options="openblas"
+desc_option_openblas="Enable support for openblas accelerated linear algebra"
+
+case "$XBPS_TARGET_MACHINE" in
+ x86_64*|i686*|aarch64*|armv[67]*|ppc64*)
+ # Prefer accelerated routines where available
+ build_options_default="openblas"
+ ;;
+ *) ;;
+esac
+
post_patch() {
+ if [ -n "$build_option_openblas" ] ; then
+ cp "${FILESDIR}/site.cfg.openblas" site.cfg
+ fi
+
case "${XBPS_TARGET_MACHINE}" in
armv5tel-musl)
cp "${FILESDIR}/fenv-constants.h" numpy/core/src/npymath/
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PR PATCH] [Updated] python3-numpy: Use OpenBLAS when available.
2021-01-09 22:16 [PR PATCH] python3-numpy: Use OpenBLAS when available olafmersmann
@ 2021-01-09 22:20 ` olafmersmann
2021-01-10 15:38 ` olafmersmann
` (5 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: olafmersmann @ 2021-01-09 22:20 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 466 bytes --]
There is an updated pull request by olafmersmann against master on the void-packages repository
https://github.com/olafmersmann/void-packages python3-numpy
https://github.com/void-linux/void-packages/pull/27797
python3-numpy: Use OpenBLAS when available.
Just like `python3-scipy`, `python3-numpy` should use OpenBLAS when available and fall back to BLAS/LAPACK otherwise.
A patch file from https://github.com/void-linux/void-packages/pull/27797.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-python3-numpy-27797.patch --]
[-- Type: text/x-diff, Size: 2250 bytes --]
From b2f84191455db64d562e820a2ab89b30dffa70a3 Mon Sep 17 00:00:00 2001
From: Olaf Mersmann <olafm@p-value.net>
Date: Sat, 9 Jan 2021 23:11:42 +0100
Subject: [PATCH] python3-numpy: Use OpenBLAS on platforms that support it.
---
srcpkgs/python3-numpy/files/site.cfg.openblas | 4 ++++
srcpkgs/python3-numpy/template | 20 +++++++++++++++++--
2 files changed, 22 insertions(+), 2 deletions(-)
create mode 100644 srcpkgs/python3-numpy/files/site.cfg.openblas
diff --git a/srcpkgs/python3-numpy/files/site.cfg.openblas b/srcpkgs/python3-numpy/files/site.cfg.openblas
new file mode 100644
index 00000000000..a83f9155faf
--- /dev/null
+++ b/srcpkgs/python3-numpy/files/site.cfg.openblas
@@ -0,0 +1,4 @@
+[openblas]
+libraries = openblas
+library_dirs = /usr/lib
+include_dirs = /usr/include
diff --git a/srcpkgs/python3-numpy/template b/srcpkgs/python3-numpy/template
index 619040f2892..a3e33570d9b 100644
--- a/srcpkgs/python3-numpy/template
+++ b/srcpkgs/python3-numpy/template
@@ -1,11 +1,12 @@
# Template file for 'python3-numpy'
pkgname=python3-numpy
version=1.19.5
-revision=1
+revision=2
wrksrc="numpy-${version}"
build_style=python3-module
hostmakedepends="python3-setuptools python3-Cython gcc-fortran"
-makedepends="python3-devel lapack-devel cblas-devel"
+makedepends="python3-devel
+ $(vopt_if openblas 'openblas-devel' 'lapack-devel cblas-devel')"
depends="python3-setuptools"
short_desc="Fast and sophisticated array facility to Python3"
maintainer="bra1nwave <bra1nwave@protonmail.com>"
@@ -15,7 +16,22 @@ distfiles="https://github.com/numpy/numpy/archive/v${version}.tar.gz"
checksum=43fe3bcdf27a2eb27196a1d140385aeece71c8b1a6eda18d2c6365239e50c60f
alternatives="numpy:f2py:/usr/bin/f2py3"
+build_options="openblas"
+desc_option_openblas="Enable support for openblas accelerated linear algebra"
+
+case "$XBPS_TARGET_MACHINE" in
+ x86_64*|i686*|aarch64*|armv[67]*|ppc64*)
+ # Prefer accelerated routines where available
+ build_options_default="openblas"
+ ;;
+ *) ;;
+esac
+
post_patch() {
+ if [ -n "$build_option_openblas" ] ; then
+ cp "${FILESDIR}/site.cfg.openblas" site.cfg
+ fi
+
case "${XBPS_TARGET_MACHINE}" in
armv5tel-musl)
cp "${FILESDIR}/fenv-constants.h" numpy/core/src/npymath/
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PR PATCH] [Updated] python3-numpy: Use OpenBLAS when available.
2021-01-09 22:16 [PR PATCH] python3-numpy: Use OpenBLAS when available olafmersmann
2021-01-09 22:20 ` [PR PATCH] [Updated] " olafmersmann
@ 2021-01-10 15:38 ` olafmersmann
2021-01-10 19:12 ` [PR REVIEW] " ahesford
` (4 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: olafmersmann @ 2021-01-10 15:38 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 466 bytes --]
There is an updated pull request by olafmersmann against master on the void-packages repository
https://github.com/olafmersmann/void-packages python3-numpy
https://github.com/void-linux/void-packages/pull/27797
python3-numpy: Use OpenBLAS when available.
Just like `python3-scipy`, `python3-numpy` should use OpenBLAS when available and fall back to BLAS/LAPACK otherwise.
A patch file from https://github.com/void-linux/void-packages/pull/27797.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-python3-numpy-27797.patch --]
[-- Type: text/x-diff, Size: 2250 bytes --]
From cc6142b175c2e64ac72a5e72c52340e2e178b33b Mon Sep 17 00:00:00 2001
From: Olaf Mersmann <olafm@p-value.net>
Date: Sat, 9 Jan 2021 23:11:42 +0100
Subject: [PATCH] python3-numpy: Use OpenBLAS on platforms that support it.
---
srcpkgs/python3-numpy/files/site.cfg.openblas | 4 ++++
srcpkgs/python3-numpy/template | 20 +++++++++++++++++--
2 files changed, 22 insertions(+), 2 deletions(-)
create mode 100644 srcpkgs/python3-numpy/files/site.cfg.openblas
diff --git a/srcpkgs/python3-numpy/files/site.cfg.openblas b/srcpkgs/python3-numpy/files/site.cfg.openblas
new file mode 100644
index 00000000000..a83f9155faf
--- /dev/null
+++ b/srcpkgs/python3-numpy/files/site.cfg.openblas
@@ -0,0 +1,4 @@
+[openblas]
+libraries = openblas
+library_dirs = /usr/lib
+include_dirs = /usr/include
diff --git a/srcpkgs/python3-numpy/template b/srcpkgs/python3-numpy/template
index 619040f2892..a3e33570d9b 100644
--- a/srcpkgs/python3-numpy/template
+++ b/srcpkgs/python3-numpy/template
@@ -1,11 +1,12 @@
# Template file for 'python3-numpy'
pkgname=python3-numpy
version=1.19.5
-revision=1
+revision=2
wrksrc="numpy-${version}"
build_style=python3-module
hostmakedepends="python3-setuptools python3-Cython gcc-fortran"
-makedepends="python3-devel lapack-devel cblas-devel"
+makedepends="python3-devel
+ $(vopt_if openblas 'openblas-devel' 'lapack-devel cblas-devel')"
depends="python3-setuptools"
short_desc="Fast and sophisticated array facility to Python3"
maintainer="bra1nwave <bra1nwave@protonmail.com>"
@@ -15,7 +16,22 @@ distfiles="https://github.com/numpy/numpy/archive/v${version}.tar.gz"
checksum=43fe3bcdf27a2eb27196a1d140385aeece71c8b1a6eda18d2c6365239e50c60f
alternatives="numpy:f2py:/usr/bin/f2py3"
+build_options="openblas"
+desc_option_openblas="Enable support for openblas accelerated linear algebra"
+
+case "$XBPS_TARGET_MACHINE" in
+ x86_64*|i686*|aarch64*|armv[67]*|ppc64*)
+ # Prefer accelerated routines where available
+ build_options_default="openblas"
+ ;;
+ *) ;;
+esac
+
post_patch() {
+ if [ -n "$build_option_openblas" ] ; then
+ cp "${FILESDIR}/site.cfg.openblas" site.cfg
+ fi
+
case "${XBPS_TARGET_MACHINE}" in
armv5tel-musl)
cp "${FILESDIR}/fenv-constants.h" numpy/core/src/npymath/
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PR REVIEW] python3-numpy: Use OpenBLAS when available.
2021-01-09 22:16 [PR PATCH] python3-numpy: Use OpenBLAS when available olafmersmann
2021-01-09 22:20 ` [PR PATCH] [Updated] " olafmersmann
2021-01-10 15:38 ` olafmersmann
@ 2021-01-10 19:12 ` ahesford
2021-01-10 20:59 ` [PR PATCH] [Updated] " olafmersmann
` (3 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: ahesford @ 2021-01-10 19:12 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 273 bytes --]
New review comment by ahesford on void-packages repository
https://github.com/void-linux/void-packages/pull/27797#discussion_r554609916
Comment:
This will not work properly for cross compilation. See what we do in `python3-scipy` for the right way to handle `site.cfg`.
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PR PATCH] [Updated] python3-numpy: Use OpenBLAS when available.
2021-01-09 22:16 [PR PATCH] python3-numpy: Use OpenBLAS when available olafmersmann
` (2 preceding siblings ...)
2021-01-10 19:12 ` [PR REVIEW] " ahesford
@ 2021-01-10 20:59 ` olafmersmann
2021-01-10 21:02 ` [PR REVIEW] " olafmersmann
` (2 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: olafmersmann @ 2021-01-10 20:59 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 466 bytes --]
There is an updated pull request by olafmersmann against master on the void-packages repository
https://github.com/olafmersmann/void-packages python3-numpy
https://github.com/void-linux/void-packages/pull/27797
python3-numpy: Use OpenBLAS when available.
Just like `python3-scipy`, `python3-numpy` should use OpenBLAS when available and fall back to BLAS/LAPACK otherwise.
A patch file from https://github.com/void-linux/void-packages/pull/27797.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-python3-numpy-27797.patch --]
[-- Type: text/x-diff, Size: 2213 bytes --]
From 94ea348e9a3b6da3f0062d58236e8a0b0b1a0d05 Mon Sep 17 00:00:00 2001
From: Olaf Mersmann <olafm@p-value.net>
Date: Sat, 9 Jan 2021 23:11:42 +0100
Subject: [PATCH] python3-numpy: Use OpenBLAS on supported platforms.
---
srcpkgs/python3-numpy/template | 32 ++++++++++++++++++++++++++++++--
1 file changed, 30 insertions(+), 2 deletions(-)
diff --git a/srcpkgs/python3-numpy/template b/srcpkgs/python3-numpy/template
index 619040f2892..c021e885476 100644
--- a/srcpkgs/python3-numpy/template
+++ b/srcpkgs/python3-numpy/template
@@ -1,11 +1,12 @@
# Template file for 'python3-numpy'
pkgname=python3-numpy
version=1.19.5
-revision=1
+revision=2
wrksrc="numpy-${version}"
build_style=python3-module
hostmakedepends="python3-setuptools python3-Cython gcc-fortran"
-makedepends="python3-devel lapack-devel cblas-devel"
+makedepends="python3-devel
+ $(vopt_if openblas 'openblas-devel' 'lapack-devel cblas-devel')"
depends="python3-setuptools"
short_desc="Fast and sophisticated array facility to Python3"
maintainer="bra1nwave <bra1nwave@protonmail.com>"
@@ -15,6 +16,22 @@ distfiles="https://github.com/numpy/numpy/archive/v${version}.tar.gz"
checksum=43fe3bcdf27a2eb27196a1d140385aeece71c8b1a6eda18d2c6365239e50c60f
alternatives="numpy:f2py:/usr/bin/f2py3"
+build_options="openblas"
+desc_option_openblas="Enable support for openblas accelerated linear algebra"
+
+case "$XBPS_TARGET_MACHINE" in
+ x86_64*|i686*|aarch64*|armv[67]*|ppc64*)
+ # Prefer accelerated routines where available
+ build_options_default="openblas"
+ ;;
+ *) ;;
+esac
+
+LDFLAGS+=" -shared"
+
+# Tell numpy to build in parallel
+export NPY_NUM_BUILD_JOBS="${XBPS_MAKEJOBS}"
+
post_patch() {
case "${XBPS_TARGET_MACHINE}" in
armv5tel-musl)
@@ -26,6 +43,17 @@ post_patch() {
pre_build() {
make_build_args+=" ${makejobs}"
+ # Find the right linear algebra subroutines on the target arch
+ : > site.cfg
+ for _blaslib in $(vopt_if openblas openblas "lapack blas"); do
+ cat >> site.cfg <<-EOF
+ [$_blaslib]
+ libraries = ${_blaslib}
+ include_dirs = ${XBPS_CROSS_BASE}/usr/include
+ library_dirs = ${XBPS_CROSS_BASE}/usr/lib
+ runtime_library_dirs = ${XBPS_CROSS_BASE}/usr/lib
+ EOF
+ done
}
do_check() {
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PR REVIEW] python3-numpy: Use OpenBLAS when available.
2021-01-09 22:16 [PR PATCH] python3-numpy: Use OpenBLAS when available olafmersmann
` (3 preceding siblings ...)
2021-01-10 20:59 ` [PR PATCH] [Updated] " olafmersmann
@ 2021-01-10 21:02 ` olafmersmann
2021-01-12 23:53 ` [PR PATCH] [Updated] " olafmersmann
2021-01-17 18:12 ` [PR PATCH] [Closed]: " ahesford
6 siblings, 0 replies; 8+ messages in thread
From: olafmersmann @ 2021-01-10 21:02 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 207 bytes --]
New review comment by olafmersmann on void-packages repository
https://github.com/void-linux/void-packages/pull/27797#discussion_r554622289
Comment:
Changed it to generate the `site.cfg` file dynamically.
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PR PATCH] [Updated] python3-numpy: Use OpenBLAS when available.
2021-01-09 22:16 [PR PATCH] python3-numpy: Use OpenBLAS when available olafmersmann
` (4 preceding siblings ...)
2021-01-10 21:02 ` [PR REVIEW] " olafmersmann
@ 2021-01-12 23:53 ` olafmersmann
2021-01-17 18:12 ` [PR PATCH] [Closed]: " ahesford
6 siblings, 0 replies; 8+ messages in thread
From: olafmersmann @ 2021-01-12 23:53 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 466 bytes --]
There is an updated pull request by olafmersmann against master on the void-packages repository
https://github.com/olafmersmann/void-packages python3-numpy
https://github.com/void-linux/void-packages/pull/27797
python3-numpy: Use OpenBLAS when available.
Just like `python3-scipy`, `python3-numpy` should use OpenBLAS when available and fall back to BLAS/LAPACK otherwise.
A patch file from https://github.com/void-linux/void-packages/pull/27797.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-python3-numpy-27797.patch --]
[-- Type: text/x-diff, Size: 2393 bytes --]
From dd199cc610834dff033ba9f5675fbe8048fdc8fd Mon Sep 17 00:00:00 2001
From: Olaf Mersmann <olafm@p-value.net>
Date: Sat, 9 Jan 2021 23:11:42 +0100
Subject: [PATCH] python3-numpy: Use OpenBLAS on supported platforms.
---
srcpkgs/python3-numpy/template | 36 ++++++++++++++++++++++++++++++++--
1 file changed, 34 insertions(+), 2 deletions(-)
diff --git a/srcpkgs/python3-numpy/template b/srcpkgs/python3-numpy/template
index 619040f2892..de1dfe62be4 100644
--- a/srcpkgs/python3-numpy/template
+++ b/srcpkgs/python3-numpy/template
@@ -1,11 +1,12 @@
# Template file for 'python3-numpy'
pkgname=python3-numpy
version=1.19.5
-revision=1
+revision=2
wrksrc="numpy-${version}"
build_style=python3-module
hostmakedepends="python3-setuptools python3-Cython gcc-fortran"
-makedepends="python3-devel lapack-devel cblas-devel"
+makedepends="python3-devel
+ $(vopt_if openblas 'openblas-devel' 'lapack-devel cblas-devel')"
depends="python3-setuptools"
short_desc="Fast and sophisticated array facility to Python3"
maintainer="bra1nwave <bra1nwave@protonmail.com>"
@@ -15,6 +16,22 @@ distfiles="https://github.com/numpy/numpy/archive/v${version}.tar.gz"
checksum=43fe3bcdf27a2eb27196a1d140385aeece71c8b1a6eda18d2c6365239e50c60f
alternatives="numpy:f2py:/usr/bin/f2py3"
+build_options="openblas"
+desc_option_openblas="Enable support for openblas accelerated linear algebra"
+
+case "$XBPS_TARGET_MACHINE" in
+ x86_64*|i686*|aarch64*|armv[67]*|ppc64*)
+ # Prefer accelerated routines where available
+ build_options_default="openblas"
+ ;;
+ *) ;;
+esac
+
+LDFLAGS+=" -shared"
+
+# Tell numpy to build in parallel
+export NPY_NUM_BUILD_JOBS="${XBPS_MAKEJOBS}"
+
post_patch() {
case "${XBPS_TARGET_MACHINE}" in
armv5tel-musl)
@@ -22,10 +39,25 @@ post_patch() {
patch -Np0 -i "${FILESDIR}/fenv-constants.patch"
;;
esac
+
+ if [ "$XBPS_TARGET_LIBC" = musl ] ; then
+ vsed -i 's|"backtrace",||' numpy/core/setup_common.py
+ fi
}
pre_build() {
make_build_args+=" ${makejobs}"
+ # Find the right linear algebra subroutines on the target arch
+ : > site.cfg
+ for _blaslib in $(vopt_if openblas openblas "lapack blas"); do
+ cat >> site.cfg <<-EOF
+ [$_blaslib]
+ libraries = ${_blaslib}
+ include_dirs = ${XBPS_CROSS_BASE}/usr/include
+ library_dirs = ${XBPS_CROSS_BASE}/usr/lib
+ runtime_library_dirs = ${XBPS_CROSS_BASE}/usr/lib
+ EOF
+ done
}
do_check() {
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PR PATCH] [Closed]: python3-numpy: Use OpenBLAS when available.
2021-01-09 22:16 [PR PATCH] python3-numpy: Use OpenBLAS when available olafmersmann
` (5 preceding siblings ...)
2021-01-12 23:53 ` [PR PATCH] [Updated] " olafmersmann
@ 2021-01-17 18:12 ` ahesford
6 siblings, 0 replies; 8+ messages in thread
From: ahesford @ 2021-01-17 18:12 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 294 bytes --]
There's a closed pull request on the void-packages repository
python3-numpy: Use OpenBLAS when available.
https://github.com/void-linux/void-packages/pull/27797
Description:
Just like `python3-scipy`, `python3-numpy` should use OpenBLAS when available and fall back to BLAS/LAPACK otherwise.
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2021-01-17 18:12 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-01-09 22:16 [PR PATCH] python3-numpy: Use OpenBLAS when available olafmersmann
2021-01-09 22:20 ` [PR PATCH] [Updated] " olafmersmann
2021-01-10 15:38 ` olafmersmann
2021-01-10 19:12 ` [PR REVIEW] " ahesford
2021-01-10 20:59 ` [PR PATCH] [Updated] " olafmersmann
2021-01-10 21:02 ` [PR REVIEW] " olafmersmann
2021-01-12 23:53 ` [PR PATCH] [Updated] " olafmersmann
2021-01-17 18:12 ` [PR PATCH] [Closed]: " ahesford
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).