[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
LAPACK vs. OpenBLAS
From: |
Ludovic Courtès |
Subject: |
LAPACK vs. OpenBLAS |
Date: |
Thu, 24 Jun 2021 14:55:04 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) |
Hello!
A surprisingly large number of packages depend on ‘lapack’:
--8<---------------cut here---------------start------------->8---
$ guix refresh -l lapack
Building the following 261 packages would ensure 614 dependent packages are
rebuilt: […]
--8<---------------cut here---------------end--------------->8---
Among them are Julia and Octave. You can see the reverse dependency
graph with:
guix graph -t reverse-bag lapack | xdot -
There are two cases:
1. Packages that depend on both ‘lapack’ and ‘openblas’. This is
almost always a mistake because ‘openblas’ provides the same
interfaces as ‘lapack’, only with a more efficient implementation.
2. Packages that depend on ‘lapack’ only: for the same reason, they
should depend on ‘openblas’ instead.
I’ve addressed a case like #1 for numpy/scipy in
6623d1cd7f3298f2e5c224299d11a77f7ae18bf5, and #2 with commit
c7a5c3e0bba2ac3d197b219d21527863308b75dd (petsc).
Julia references both lapack and openblas:
--8<---------------cut here---------------start------------->8---
$ guix graph --path -t references julia lapack
/gnu/store/d077a9ggqlcyhnhcg4ng2ibnlarxq8zf-julia-1.5.3
/gnu/store/41rw9w35by4j8lbl85gi3xfiaf7zqykh-lapack-3.9.0
$ guix graph --path -t references julia openblas
/gnu/store/d077a9ggqlcyhnhcg4ng2ibnlarxq8zf-julia-1.5.3
/gnu/store/bs9pl1f805ins80xaf4s3n35a0x2lyq3-openblas-0.3.9
--8<---------------cut here---------------end--------------->8---
Can a Julia-savvy person check whether this is justified?
I’ll look at some of the other cases. Perhaps we could have a lint
checker warning against the use of lapack.
Thoughts?
Thanks,
Ludo’.
- LAPACK vs. OpenBLAS,
Ludovic Courtès <=