* [bug#55565] [PATCH] gnu: Add python-blis
@ 2022-05-21 22:17 Artyom V. Poptsov
2022-05-27 21:23 ` Ludovic Courtès
2023-09-02 0:00 ` bug#55565: " Vagrant Cascadian
0 siblings, 2 replies; 5+ messages in thread
From: Artyom V. Poptsov @ 2022-05-21 22:17 UTC (permalink / raw)
To: 55565
[-- Attachment #1.1: Type: text/plain, Size: 212 bytes --]
Hello,
this patch adds "blis" Python module[1] under the name "python-blis".
- Artyom
References:
1. "Fast matrix-multiplication as a self-contained Python library"
https://github.com/explosion/cython-blis
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1.2: 0001-gnu-Add-python-blis.patch --]
[-- Type: text/x-diff, Size: 1760 bytes --]
From 3d22d0e5f7929ac1b782217ec207a5e462316c66 Mon Sep 17 00:00:00 2001
From: "Artyom V. Poptsov" <poptsov.artyom@gmail.com>
Date: Sun, 22 May 2022 01:14:26 +0300
Subject: [PATCH] gnu: Add python-blis
* gnu/packages/python-xyz.scm (python-blis): New variable.
---
gnu/packages/python-xyz.scm | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 3c4fa16d16..95b85b9931 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -31449,3 +31449,27 @@ written in C.")
(synopsis "Cython bindings for MurmurHash2")
(description "This package provides Cython bindings for MurmurHash2.")
(license license:expat)))
+
+(define-public python-blis
+ (package
+ (name "python-blis")
+ (version "0.9.0")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "blis" version))
+ (sha256
+ (base32
+ "0adl7knj11rglg6l9nfqccl8kgs2v1c7qllv9c5kf5k796hir7k9"))))
+ (build-system python-build-system)
+ (native-inputs (list python-pytest python-cython))
+ (inputs (list python python-numpy python-hypothesis))
+ (arguments
+ ;; XXX: Tests are failing with the following error:
+ ;; AttributeError: module 'numpy.__config__' has no attribute 'blas_ilp64_opt_info'
+ (list #:tests? #f))
+ (home-page "https://github.com/explosion/cython-blis")
+ (synopsis "Fast matrix-multiplication Python library")
+ (description
+ "This package provides the @url{https://github.com/flame/blis,
+Blis linear algebra} routines as a self-contained Python C-extension.")
+ (license license:bsd-3)))
--
2.25.1
[-- Attachment #1.3: Type: text/plain, Size: 207 bytes --]
--
Artyom "avp" Poptsov <poptsov.artyom@gmail.com>
Home page: https://memory-heap.org/~avp/
CADR Hackerspace co-founder: https://cadrspace.ru/
GPG: D0C2 EAC1 3310 822D 98DE B57C E9C5 A2D9 0898 A02F
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [bug#55565] [PATCH] gnu: Add python-blis
2022-05-21 22:17 [bug#55565] [PATCH] gnu: Add python-blis Artyom V. Poptsov
@ 2022-05-27 21:23 ` Ludovic Courtès
2022-06-11 10:44 ` Artyom V. Poptsov
2023-09-02 0:00 ` bug#55565: " Vagrant Cascadian
1 sibling, 1 reply; 5+ messages in thread
From: Ludovic Courtès @ 2022-05-27 21:23 UTC (permalink / raw)
To: Artyom V. Poptsov; +Cc: 55565
Hi Artyom,
"Artyom V. Poptsov" <poptsov.artyom@gmail.com> skribis:
> From 3d22d0e5f7929ac1b782217ec207a5e462316c66 Mon Sep 17 00:00:00 2001
> From: "Artyom V. Poptsov" <poptsov.artyom@gmail.com>
> Date: Sun, 22 May 2022 01:14:26 +0300
> Subject: [PATCH] gnu: Add python-blis
>
> * gnu/packages/python-xyz.scm (python-blis): New variable.
[...]
> + (native-inputs (list python-pytest python-cython))
> + (inputs (list python python-numpy python-hypothesis))
> + (arguments
> + ;; XXX: Tests are failing with the following error:
> + ;; AttributeError: module 'numpy.__config__' has no attribute 'blas_ilp64_opt_info'
> + (list #:tests? #f))
Doesn’t that failure suggest something’s really wrong? Seems worth
investigating.
> + (home-page "https://github.com/explosion/cython-blis")
> + (synopsis "Fast matrix-multiplication Python library")
> + (description
> + "This package provides the @url{https://github.com/flame/blis,
> +Blis linear algebra} routines as a self-contained Python C-extension.")
Blis isn’t listed in ‘inputs’, and apparently that’s because it’s
bundled.
Could you “unbundle” it? That is, add Blis as an input, make sure it
gets used during the build process, and remove the bundled copy.
Thanks in advance,
Ludo’.
^ permalink raw reply [flat|nested] 5+ messages in thread
* [bug#55565] [PATCH] gnu: Add python-blis
2022-05-27 21:23 ` Ludovic Courtès
@ 2022-06-11 10:44 ` Artyom V. Poptsov
2022-06-13 10:20 ` Ludovic Courtès
0 siblings, 1 reply; 5+ messages in thread
From: Artyom V. Poptsov @ 2022-06-11 10:44 UTC (permalink / raw)
To: Ludovic Courtès; +Cc: 55565
[-- Attachment #1.1: Type: text/plain, Size: 386 bytes --]
Hello Ludovic,
thanks for the feedback.
I tried to fix the patch and got some promising results. Please find
the updated patch attached.
Basically I patched 'blis/benchmark.py' to use "blas_opt_info" instead
of "blas_ilp64_opt_info" and tests went fine. An issue with different
numpy versions I guess? I also added "blis" and "python-numpy-next" to
the "native-inputs".
- Artyom
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1.2: 0001-gnu-Add-python-blis.patch --]
[-- Type: text/x-diff, Size: 2119 bytes --]
From 3d088c0cbeee76c59dc140db16119a5e3f837b08 Mon Sep 17 00:00:00 2001
From: "Artyom V. Poptsov" <poptsov.artyom@gmail.com>
Date: Sun, 22 May 2022 01:14:26 +0300
Subject: [PATCH] gnu: Add python-blis
* gnu/packages/python-xyz.scm (python-blis): New variable.
---
gnu/packages/python-xyz.scm | 36 ++++++++++++++++++++++++++++++++++++
1 file changed, 36 insertions(+)
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 5f9ce4fdfe..934dfd2959 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -29435,3 +29435,39 @@ Information about these scales can be
@url{https://en.wikipedia.org/wiki/List_of_musical_scales_and_modes, found on
Wikipedia}.")
(license license:expat)))
+
+(define-public python-blis
+ (package
+ (name "python-blis")
+ (version "0.9.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/explosion/cython-blis")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1p4y4mf8046kv2syf2s0v6mf4s000anr1ws7w3fny852gpp6czk4"))))
+ (build-system python-build-system)
+ (native-inputs (list python-numpy-next
+ python-pytest
+ python-cython
+ blis
+ python-hypothesis))
+ (arguments
+ (list #:tests? #t
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'patch
+ (lambda _
+ (substitute* "./blis/benchmark.py"
+ (("blas_ilp64_opt_info")
+ "blas_opt_info")))))))
+ (home-page "https://github.com/explosion/cython-blis")
+ (synopsis "Fast matrix-multiplication Python library")
+ (description
+ "This package provides the @url{https://github.com/flame/blis,
+Blis linear algebra} routines as a self-contained Python C-extension.")
+ (license license:bsd-3)))
--
2.25.1
[-- Attachment #1.3: Type: text/plain, Size: 207 bytes --]
--
Artyom "avp" Poptsov <poptsov.artyom@gmail.com>
Home page: https://memory-heap.org/~avp/
CADR Hackerspace co-founder: https://cadrspace.ru/
GPG: D0C2 EAC1 3310 822D 98DE B57C E9C5 A2D9 0898 A02F
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [bug#55565] [PATCH] gnu: Add python-blis
2022-06-11 10:44 ` Artyom V. Poptsov
@ 2022-06-13 10:20 ` Ludovic Courtès
0 siblings, 0 replies; 5+ messages in thread
From: Ludovic Courtès @ 2022-06-13 10:20 UTC (permalink / raw)
To: Artyom V. Poptsov; +Cc: 55565
Hi Artyom,
"Artyom V. Poptsov" <poptsov.artyom@gmail.com> skribis:
> Basically I patched 'blis/benchmark.py' to use "blas_opt_info" instead
> of "blas_ilp64_opt_info" and tests went fine. An issue with different
> numpy versions I guess? I also added "blis" and "python-numpy-next" to
> the "native-inputs".
Unfortunately this is not sufficient: the source bundles a copy of BLIS
under ‘blis/_src’ and it starts by building it (which is why it takes so
long), whether or not BLIS is among the inputs.
Could you (1) add a snippet that removes ‘blis/_src’, and (2) see
whether/how ‘setup.py’ can be patched to not build BLIS? It might be
that commenting out the line that reads:
cmdclass={"build_ext": ExtensionBuilder},
would be enough, I don’t know.
Anyhow, given that BLIS is the kind of package that’s highly tuned on
our side for performance and reproducibility configuration, it’s
important to not have several copies around.
> + (native-inputs (list python-numpy-next
> + python-pytest
> + python-cython
> + blis
> + python-hypothesis))
NumPy and BLIS should definitely be ‘inputs’, not ‘native-inputs’; not
sure about ‘hypothesis’.
Also, please include a short comment explaining why numpy-next is used
rather than numpy (like “version >= X.Y required”).
Could you send an updated patch?
Sorry that this is providing trickier than we’d like!
Thanks,
Ludo’.
^ permalink raw reply [flat|nested] 5+ messages in thread
* bug#55565: [PATCH] gnu: Add python-blis
2022-05-21 22:17 [bug#55565] [PATCH] gnu: Add python-blis Artyom V. Poptsov
2022-05-27 21:23 ` Ludovic Courtès
@ 2023-09-02 0:00 ` Vagrant Cascadian
1 sibling, 0 replies; 5+ messages in thread
From: Vagrant Cascadian @ 2023-09-02 0:00 UTC (permalink / raw)
To: Artyom V. Poptsov, 55565-done
[-- Attachment #1: Type: text/plain, Size: 381 bytes --]
On 2022-05-22, Artyom V. Poptsov wrote:
> Subject: [PATCH] gnu: Add python-blis
>
> * gnu/packages/python-xyz.scm (python-blis): New variable.
...
> +(define-public python-blis
> + (package
> + (name "python-blis")
> + (version "0.9.0")
python-blis 0.9.1 was added in:
069618522d3ee040e0b0f2d9f24ceb763ce434aa gnu: Add python-blis.
Marking as done.
live well,
vagrant
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 227 bytes --]
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2023-09-02 0:02 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-05-21 22:17 [bug#55565] [PATCH] gnu: Add python-blis Artyom V. Poptsov
2022-05-27 21:23 ` Ludovic Courtès
2022-06-11 10:44 ` Artyom V. Poptsov
2022-06-13 10:20 ` Ludovic Courtès
2023-09-02 0:00 ` bug#55565: " Vagrant Cascadian
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.