devsim-openblas
Run DEVSIM on the OpenBLAS that NumPy and SciPy ship, so
pip install devsim devsim-openblas gives a working DEVSIM on Linux, macOS
and Windows with no system BLAS/LAPACK and no Intel MKL.
import devsim_openblas
devsim_openblas.configure() # before the first `import devsim`
import devsim
Why
DEVSIM loads BLAS/LAPACK at import time from whatever DEVSIM_MATH_LIBS
names, falling back to Intel MKL or a system libopenblas. Pip alone cannot
provide either on every platform: MKL wheels cover Linux x86_64 and Windows
x64 only (and DEVSIM does not load MKL on macOS), while the portable OpenBLAS
wheel, scipy-openblas32,
prefixes its symbols (scipy_dgetrf_), so DEVSIM cannot find them.
This package ships a small shim library that exports, under their plain
names, the 16 routines DEVSIM and its UMFPACK solver look up, and forwards
each to its scipy_-prefixed counterpart:
- LAPACK and BLAS-1, loaded by DEVSIM:
dgetrf_ dgetrs_ zgetrf_ zgetrs_ drotg_ zrotg_ - BLAS-2/3, loaded by the UMFPACK direct solver:
dgemm_ dgemv_ dger_ dtrsm_ dtrsv_andzgemm_ zgemv_ zgeru_ ztrsm_ ztrsv_
configure() loads OpenBLAS behind the shim and sets DEVSIM_MATH_LIBS to
the shim, overriding any value already set. It must run before DEVSIM is
imported, because DEVSIM reads the variable once. MKL PARDISO is not
available through the shim; DEVSIM's UMFPACK and SuperLU solvers are.
devsim_openblas.calls() reports how many times DEVSIM has called each
forwarded routine, which is handy to check the shim is in use.
Platforms
Wheels are built and tested in CI on every platform DEVSIM publishes wheels for: Linux x86_64 and aarch64, macOS arm64 and Windows x64. One wheel per platform serves every Python 3 version.
Status
This is a stopgap. A fallback that lets DEVSIM load scipy-openblas32
directly has been proposed upstream in
devsim/devsim#167; once a DEVSIM
release includes it, this package is no longer needed.
Metadata
Release files for devsim-openblas 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| devsim_openblas-0.1.0.tar.gz | 9.0 kB | Details |
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| devsim_openblas-0.1.0-py3-none-win_amd64.whl | Python 3 | none | Windows x86-64 | Details |
| devsim_openblas-0.1.0-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl | Python 3 | none | Linux glibc 2.17+ ARM64, Linux glibc 2.28+ ARM64 | Details |
| devsim_openblas-0.1.0-py3-none-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl | Python 3 | none | Linux glibc 2.28+ x86-64, Linux glibc 2.5+ x86-64 | Details |
| devsim_openblas-0.1.0-py3-none-macosx_11_0_arm64.whl | Python 3 | none | macOS 11.0+ ARM64 | Details |
Total release size: 44.8 kB
Release files / devsim_openblas-0.1.0.tar.gz
| Download URL | devsim_openblas-0.1.0.tar.gz |
|---|---|
| Size | 9.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f15d62bac75d34a9d88044fc958784a3364dacf290ce86a1d24b77554a875535
|
|
BLAKE2b-256 checksum How to use checksums |
cbc22a2b38d01d4da733be819aec7edbb411051215e9cdfe944661873f16fc61
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.0
|
Release files / devsim_openblas-0.1.0-py3-none-win_amd64.whl
| Download URL | devsim_openblas-0.1.0-py3-none-win_amd64.whl |
|---|---|
| Size | 10.7 kB |
| Tags | Python 3 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
30f415a6e262d4db673b26d98dd0a6d896856938e20cbb0601ee7a696a38cc93
|
|
BLAKE2b-256 checksum How to use checksums |
4224e9bd59839298efae3735249dc504e7aa422a80ed02655ca0f2b322967769
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.0
|
Release files / devsim_openblas-0.1.0-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
| Download URL | devsim_openblas-0.1.0-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 8.9 kB |
| Tags | Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64 Python 3 |
|
SHA-256 checksum How to use checksums |
87c4f35d3547c6528514c9eecb554a8c94485edc865a6c818a9659bcd3e80341
|
|
BLAKE2b-256 checksum How to use checksums |
7c7638a03f5f18747c68dba00a2282a26e45bf3aa67d84cb04fe7c4ddc835d54
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.0
|
Release files / devsim_openblas-0.1.0-py3-none-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
| Download URL | devsim_openblas-0.1.0-py3-none-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl |
|---|---|
| Size | 8.4 kB |
| Tags | Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64 Python 3 |
|
SHA-256 checksum How to use checksums |
288789f77bb1d54864053b24b68619c179fc8fd6a456f86198dd2afe1c19fb38
|
|
BLAKE2b-256 checksum How to use checksums |
03a122745c263f756174f4e10afc67d5021f1463ca969688732a5eb88a35056a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.0
|
Release files / devsim_openblas-0.1.0-py3-none-macosx_11_0_arm64.whl
| Download URL | devsim_openblas-0.1.0-py3-none-macosx_11_0_arm64.whl |
|---|---|
| Size | 7.8 kB |
| Tags | Python 3 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
4b8ee55bda25d8689a15a45b25ca205ebead9b9b17fe396a0a5fe0ac0802ceb9
|
|
BLAKE2b-256 checksum How to use checksums |
27a5e9efb5c577369329645b6ca8c816b9e0d5da869d58f5e1639b48e322f28b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.0
|