Skip to main content

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_ and zgemm_ 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)

Source distribution for devsim-openblas 0.1.0
File Size Uploaded
devsim_openblas-0.1.0.tar.gz 9.0 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for devsim-openblas 0.1.0
File
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

Release history Release notifications | RSS feed

This release

0.1.0 This release

5 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page