Skip to content

Conversation

@ev-br
Copy link
Owner

@ev-br ev-br commented Mar 26, 2025

Reference issue

What does this implement/fix?

Additional information

rgommers and others added 20 commits March 26, 2025 13:50
Adapted largely from NumPy's `linux_blas.yml`
ci fix

Avoid pytest-cov, and install python311 on OpenSUSE

CI: enable Debian libblas/liblapack job

CI: add Fedora jobs for OpenBLAS and FlexiBLAS

OpenBLAS is detected without pkg-config, because Fedora does not
ship an openblas.pc file. FlexiBLAS is detected through pkg-config.

CI: add job using BLIS

CI: add MKL job

CI: add Accelerate (NEWLAPACK LP64) job

ENH: enable new macOS Accelerate BLAS/LAPACK support

BUG: fix issue with picking up use-g77-abi flag
This was left out initially when adding support for building with
Meson. The numpy.distutils based build supported ILP64 builds with
OpenBLAS and its `64_` symbol suffix scheme. We now add this back
and make it more generic, so that it also supports the `_64` scheme
of MKL as well as the `$NEWLAPACK_ILP64` scheme from Accelerate.
DEBUG: enable macos job

BUG: ensure F77 ABI wrappers deal with BLAS symbol suffix correctly

This avoids build errors that look like:
```
../scipy/_build_utils/src/wrap_g77_abi_c.c:13:16: error: use of undeclared identifier 'cblas_cdotc_sub'
```
when one uses Accelerate with the `$NEWLAPACK` symbol suffix for example.

[ci skip]

WIP: ENH: more symbol renaming needed for BLAS symbol suffix support
`qhull.pyx` uses cython_lapack, so linking is done at the build time.
NB: and if anything, Qhull might not be 64-bit int ready, so it'll
probably need an LP64 LAPACK.
Violations observed on linux with MKL in the ILP64 mode.
It otherwise segfaults. Needs using BLAS_FUNC maybe?
@ev-br ev-br closed this Mar 26, 2025
@ev-br ev-br reopened this Mar 26, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants