diff options
author | Ricardo Wurmus <rekado@elephly.net> | 2022-07-07 14:28:05 +0200 |
---|---|---|
committer | Ricardo Wurmus <rekado@elephly.net> | 2022-07-08 18:41:35 +0200 |
commit | 684c718e6a2fe47ea0f44f112cc2edf40df6a158 (patch) | |
tree | 29e7bca68d16d82f1d8b55f215306a76f2f8795b /gnu | |
parent | c6136b48c2fb0c4a6521dcc923358946ec50b8d8 (diff) | |
download | guix-684c718e6a2fe47ea0f44f112cc2edf40df6a158.tar guix-684c718e6a2fe47ea0f44f112cc2edf40df6a158.tar.gz |
gnu: Add python-opt-einsum.
* gnu/packages/python-science.scm (python-opt-einsum): New variable.
Diffstat (limited to 'gnu')
-rw-r--r-- | gnu/packages/python-science.scm | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm index 747c84d493..428ce48b53 100644 --- a/gnu/packages/python-science.scm +++ b/gnu/packages/python-science.scm @@ -1403,3 +1403,35 @@ data as HDF5. It can save any Python data structure, offering the same ease of use as pickling or @code{numpy.save}, but with the language interoperability offered by HDF5.") (license license:bsd-3))) + +(define-public python-opt-einsum + (package + (name "python-opt-einsum") + (version "3.3.0") + (source (origin + (method url-fetch) + (uri (pypi-uri "opt_einsum" version)) + (sha256 + (base32 + "0jb5lia0q742d1713jk33vlj41y61sf52j6pgk7pvhxvfxglgxjr")))) + (build-system python-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "pytest" "-vv"))))))) + (propagated-inputs (list python-numpy)) + (native-inputs (list python-pytest python-pytest-cov python-pytest-pep8)) + (home-page "https://github.com/dgasmith/opt_einsum") + (synopsis "Optimizing numpys einsum function") + (description + "Optimized einsum can significantly reduce the overall execution time of +einsum-like expressions by optimizing the expression's contraction order and +dispatching many operations to canonical BLAS, cuBLAS, or other specialized +routines. Optimized einsum is agnostic to the backend and can handle NumPy, +Dask, PyTorch, Tensorflow, CuPy, Sparse, Theano, JAX, and Autograd arrays as +well as potentially any library which conforms to a standard API. See the +documentation for more information.") + (license license:expat))) |