You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
cd benchmark; asv continuous --factor 1.05 --bench main <commit1> <commit2>
Then asv creates a virtualenv for each commit, and uses a vanilla pip install to build NumPy. While this can work on macOS and linux (and use the system OpenBLAS), it will fail to correctly use OpenBLAS on windows, since the build also needs to
copy the OpenBLAS DLL into the correct place
build the _distributor_init.py file. In CI this is done via additional post-install code:
Is there a way to, if OpenBLAS is found, to do this as part of the build?
Here is what the various CI invocations to do these steps look like:
I think this is difficult to make work in any reasonable way. Basically, the poor design of Windows and the poor design of Python packaging tooling intersect here - pip install numpy --no-binary on Windows is also fundamentally broken, for the same reason.
One hack could be to let asv run delvewheel only on Windows.
I assume we could get meson to build the _distributor_init.py file built as part of the build scripts, conditioned on propogating some OpenBLAS config value. Could we get the DLL copied as part of the install step if we conditionally declare it a data file?
running either
or
will end up calling
Then asv creates a virtualenv for each commit, and uses a vanilla
pip install
to build NumPy. While this can work on macOS and linux (and use the system OpenBLAS), it will fail to correctly use OpenBLAS on windows, since the build also needs to_distributor_init.py
file. In CI this is done via additional post-install code:Is there a way to, if OpenBLAS is found, to do this as part of the build?
Here is what the various CI invocations to do these steps look like:
numpy/.github/workflows/windows_meson.yml
Lines 63 to 72 in 374e73d
numpy/.github/workflows/windows_clangcl.yml
Lines 66 to 75 in 374e73d
(on azure this also shows the complicated command line needed)
numpy/azure-steps-windows.yml
Lines 38 to 48 in 374e73d
numpy/tools/wheels/cibw_before_build.sh
Lines 39 to 56 in 374e73d
The text was updated successfully, but these errors were encountered: