Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

TEST: 1.19.x + blas variants #196

Closed
wants to merge 4 commits into from

Conversation

h-vetinari
Copy link
Member

Based on #195; doing a similar investigation as in conda-forge/scipy-feedstock#130.

@conda-forge-linter
Copy link

Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

@h-vetinari
Copy link
Member Author

h-vetinari commented Jun 26, 2020

This looks quite a bit better than on the scipy-side. Still it did catch some errors that might not show up anywhere else in CI.

I mentioned in conda/conda-build#3947 that IMO, foundational packages like numpy/scipy should be tested across all available blas variants. This would - effectively - provide some further CI on the various blas builds, but also make sure that no broken variants are shipped.

Note: The cells of the matrix have the same behaviour for all python versions (cpython 3.6-3.8, pypy 3.6) unless otherwise noted - hence the simplified matrix

variant blis mkl netlib openblas
linux / x86 ✔️ ✔️ ✔️ (cpython) / ❌ (pypy) ✔️ (cpython) / ❌ (pypy)
linux / aarch ✔️ ✔️
linux / ppc64le ✔️ ❌ (non-uniformly)
osx ✔️ ✔️ ✔️ ✔️
win ✔️ ✔️ ✔️ ✔️

There were 4 additional failures not shown in the matrix above:

  • the failure for osx+mkl on python 3.8 is a spurious http error
  • aarch+netlib+pypy runs into 60min drone timeout at ~54% of the test suite
  • ppc64le+netlib had two build script errors on travis, but I don't have rights to restart the job
linux + x86 + netlib/openblas + pypy: segfault, test suite aborted
linalg/tests/test_linalg.py::TestCond::test_sq_cases PASSED              [ 62%]
linalg/tests/test_linalg.py::TestCond::test_empty_sq_cases PASSED        [ 62%]
Fatal Python error: Segmentation fault

Stack (most recent call first, approximate line numbers):
  File "[...snip...]/lib/python3.6/site-packages/numpy/linalg/tests/test_linalg.py", line 81 in check [jitted]
  File "[...snip...]/lib/python3.6/site-packages/numpy/linalg/tests/test_linalg.py", line 337 in check_cases [jitted]
  File "[...snip...]/lib/python3.6/site-packages/numpy/linalg/tests/test_linalg.py", line 337 in check_cases
  File "[...snip...]/lib/python3.6/site-packages/numpy/linalg/tests/test_linalg.py", line 392 in test_generalized_sq_cases
  File "[...snip...]/site-packages/_pytest/python.py", line 175 in pytest_pyfunc_call
  File "[...snip...]/site-packages/pluggy/callers.py", line 157 in _multicall [jit inlined]
  File "[...snip...]/site-packages/pluggy/manager.py", line 84 in <lambda> [jit inlined]
  File "[...snip...]/site-packages/pluggy/manager.py", line 90 in _hookexec [jitted]
  File "[...snip...]/site-packages/pluggy/hooks.py", line 272 in __call__ [jitted]
  File "[...snip...]/site-packages/pluggy/hooks.py", line 272 in __call__
  File "[...snip...]/site-packages/_pytest/python.py", line 1475 in runtest
  File "[...snip...]/site-packages/_pytest/runner.py", line 126 in pytest_runtest_call
  File "[...snip...]/site-packages/pluggy/callers.py", line 157 in _multicall [jit inlined]
  File "[...snip...]/site-packages/pluggy/manager.py", line 84 in <lambda> [jit inlined]
Tests failed for numpy-1.19.0-py36h04dfcbd_0.tar.bz2 - moving package to /home/conda/feedstock_root/build_artifacts/broken
WARNING:conda_build.build:Tests failed for numpy-1.19.0-py36h04dfcbd_0.tar.bz2 - moving package to /home/conda/feedstock_root/build_artifacts/broken
WARNING conda_build.build:tests_failed(2751): Tests failed for numpy-1.19.0-py36h04dfcbd_0.tar.bz2 - moving package to /home/conda/feedstock_root/build_artifacts/broken
TESTS FAILED: numpy-1.19.0-py36h04dfcbd_0.tar.bz2
linux + ppc64le + openblas + cpython 3.6: 1 test failure (TestCholesky.test_basic_property)
=================================== FAILURES ===================================
_______________________ TestCholesky.test_basic_property _______________________

self = <numpy.linalg.tests.test_linalg.TestCholesky object at 0x706e90d77b38>

    def test_basic_property(self):
        # Check A = L L^H
        shapes = [(1, 1), (2, 2), (3, 3), (50, 50), (3, 10, 10)]
        dtypes = (np.float32, np.float64, np.complex64, np.complex128)
    
        for shape, dtype in itertools.product(shapes, dtypes):
            np.random.seed(1)
            a = np.random.randn(*shape)
            if np.issubdtype(dtype, np.complexfloating):
                a = a + 1j*np.random.randn(*shape)
    
            t = list(range(len(shape)))
            t[-2:] = -1, -2
    
            a = np.matmul(a.transpose(t).conj(), a)
            a = np.asarray(a, dtype=dtype)
    
            c = np.linalg.cholesky(a)
    
            b = np.matmul(c, c.transpose(t).conj())
            assert_allclose(b, a,
                            err_msg="{} {}\n{}\n{}".format(shape, dtype, a, c),
>                           atol=500 * a.shape[0] * np.finfo(dtype).eps)
E           AssertionError: 
E           Not equal to tolerance rtol=1e-07, atol=5.55112e-12
E           (50, 50) <class 'numpy.complex128'>
E           [[ 86.08558859 +0.j           3.44218047+15.88127244j
E              -0.45363563 -0.44661413j ...   2.64035992 -9.58169853j
E              -3.23064882 +6.99917231j   3.72228944 -3.50497908j]
E            [  3.44218047-15.88127244j  97.31130762 +0.j
E               4.95610003 +3.51207641j ... -24.44048428 -0.53073368j
E             -21.33047678 +4.24795683j  -2.7632562  +5.87612999j]
E            [ -0.45363563 +0.44661413j   4.95610003 -3.51207641j
E             108.58323952 +0.j         ...   6.24573557 -3.07029841j
E               7.36481721 -5.16506877j  -1.1160803  -0.23457131j]
E            ...
E            [  2.64035992 +9.58169853j -24.44048428 +0.53073368j
E               6.24573557 +3.07029841j ...  97.33841401 +0.j
E              13.64351655 +0.62184078j   3.54722947 +1.06034335j]
E            [ -3.23064882 -6.99917231j -21.33047678 -4.24795683j
E               7.36481721 +5.16506877j ...  13.64351655 -0.62184078j
E              99.49995802 +0.j         -15.73440912 -2.65289272j]
E            [  3.72228944 +3.50497908j  -2.7632562  -5.87612999j
E              -1.1160803  +0.23457131j ...   3.54722947 -1.06034335j
E             -15.73440912 +2.65289272j  89.70910493 +0.j        ]]
E           [[ 9.27823198+0.j          0.        +0.j          0.        +0.j
E             ...  0.        +0.j          0.        +0.j
E              0.        +0.j        ]
E            [ 0.3709953 -1.71167012j  9.70792746+0.j          0.        +0.j
E             ...  0.        +0.j          0.        +0.j
E              0.        +0.j        ]
E            [-0.04889246+0.04813569j  0.52087651-0.35499305j 10.40101916+0.j
E             ...  0.        +0.j          0.        +0.j
E              0.        +0.j        ]
E            ...
E            [ 0.28457576+1.03270737j -2.3463717 -0.03497098j  0.71336226+0.38319797j
E             ...  2.96242819+0.j          0.        +0.j
E              0.        +0.j        ]
E            [-0.3481966 -0.75436488j -2.31692309-0.3473546j   0.81411515+0.58790833j
E             ...  0.99318458+0.51943463j  1.12603697+0.j
E              0.        +0.j        ]
E            [ 0.40118521+0.37776368j -0.23336466-0.69046409j -0.11904651+0.06872805j
E             ...  0.0339795 -0.51402601j  0.96743148-0.46502072j
E              1.24939718+0.j        ]]
E           Mismatched elements: 436 / 2500 (17.4%)
E           Max absolute difference: 94.66308979
E           Max relative difference: 16.00607492
E            x: array([[ 86.085589 +0.j      ,   3.44218 +15.881272j,
E                    -0.453636 -0.446614j, ...,   2.64036  -9.581699j,
E                    -3.230649 +6.999172j,   3.722289 -3.504979j],...
E            y: array([[ 86.085589 +0.j      ,   3.44218 +15.881272j,
E                    -0.453636 -0.446614j, ...,   2.64036  -9.581699j,
E                    -3.230649 +6.999172j,   3.722289 -3.504979j],...

../_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/lib/python3.6/site-packages/numpy/linalg/tests/test_linalg.py:1736: AssertionError
=============================== warnings summary ===============================
linux + ppc64le + openblas + cpython 3.7: 4 test failures
=========================== short test summary info ============================
FAILED core/tests/test_multiarray.py::TestDot::test_dot_3args - AssertionError: 
FAILED linalg/tests/test_linalg.py::TestCond::test_sq_cases - AssertionError:...
FAILED linalg/tests/test_linalg.py::TestMatrixPower::test_power_is_minus_one[dt3]
FAILED linalg/tests/test_linalg.py::TestCholesky::test_basic_property - numpy...
= 4 failed, 10394 passed, 568 skipped, 26 deselected, 19 xfailed, 5 xpassed, 233 warnings in 424.23s (0:07:04) =
linux + ppc64le + openblas + cpython 3.8: 3 test failures
=========================== short test summary info ============================
FAILED core/tests/test_multiarray.py::TestDot::test_dot_3args - AssertionError: 
FAILED linalg/tests/test_linalg.py::TestCond::test_sq_cases - AssertionError:...
FAILED linalg/tests/test_linalg.py::TestCholesky::test_basic_property - numpy...
= 3 failed, 10398 passed, 567 skipped, 26 deselected, 19 xfailed, 5 xpassed, 233 warnings in 401.93s (0:06:41) =

@h-vetinari
Copy link
Member Author

Maybe worth pinging @conda-forge/help-pypy on this. The segfaults on linux+pypy for numpy 1.19 affect both this PR and #195.

@h-vetinari h-vetinari mentioned this pull request Jun 27, 2020
3 tasks
@mattip
Copy link

mattip commented Jun 27, 2020

What version of OpenBLAS are you testing with? 0.3.10 was released recently and fixes an interaction that would cause a segfault on PyPy on azure machines.

@h-vetinari h-vetinari closed this Jun 27, 2020
@h-vetinari h-vetinari reopened this Jun 27, 2020
@h-vetinari
Copy link
Member Author

@mattip
It was running with libopenblas 0.3.9 before, but even after bumping to 0.3.10 (see conda-forge/blas-feedstock#45), the segfault with openblas persists. Interestingly (and I have no good reason why), the segfault is now gone for the netlib variant (perhaps it's not fully deterministic).

There's more stuff that I don't understand, actually. Bumping blis from 0.6.1 to 0.7.0 has introduced a segfault on cpython 3.6, 12 test failures on 3.7, but runs through fine on 3.8...? 🤔

@h-vetinari h-vetinari closed this Jun 27, 2020
@h-vetinari h-vetinari reopened this Jun 27, 2020
@h-vetinari
Copy link
Member Author

After bumping blis to 0.7.0 and openblas to 0.3.10 (see conda-forge/blas-feedstock#45), the picture changed a bit, in some ways unexpectedly.

In short:

  • the linux+x86+pypy segfault remains, but seems non-deterministic (in a run before it disappeared only from the netlib build, not the openblas one, now it did appeared for the first time in the mkl build, while disappearing for the others)
  • linux+ppc64le+openblas failures remained
  • both pypy builds on aarch time out
  • win+blis is now failing
  • TestCholesky.test_basic_property seems to be the most common failure across variants
  • the failure of win+mkl+py37 is likely spurious
variant blis mkl netlib openblas
linux / x86 ✔️ ✔️ (cpython) / ❌ (pypy) ✔️ ✔️
linux / aarch ✔️ (cpython) / ❌ (pypy) ✔️ (cpython) / ❌ (pypy)
linux / ppc64le ✔️ ❌ (non-uniformly)
osx ✔️ ✔️ ✔️ ✔️
win ✔️ ✔️ ✔️
linux + x86 + mkl + pypy: segfault, test suite aborted
linalg/tests/test_linalg.py::TestCond::test_sq_cases PASSED              [ 62%]
linalg/tests/test_linalg.py::TestCond::test_empty_sq_cases PASSED        [ 62%]
Fatal Python error: Segmentation fault

Stack (most recent call first, approximate line numbers):
  File "[...snip...]/lib/python3.6/site-packages/numpy/linalg/tests/test_linalg.py", line 81 in check [jitted]
  File "[...snip...]/lib/python3.6/site-packages/numpy/linalg/tests/test_linalg.py", line 337 in check_cases [jitted]
  File "[...snip...]/lib/python3.6/site-packages/numpy/linalg/tests/test_linalg.py", line 337 in check_cases
  File "[...snip...]/lib/python3.6/site-packages/numpy/linalg/tests/test_linalg.py", line 392 in test_generalized_sq_cases
  File "[...snip...]/site-packages/_pytest/python.py", line 175 in pytest_pyfunc_call
  File "[...snip...]/site-packages/pluggy/callers.py", line 157 in _multicall [jit inlined]
  File "[...snip...]/site-packages/pluggy/manager.py", line 84 in <lambda> [jit inlined]
  File "[...snip...]/site-packages/pluggy/manager.py", line 90 in _hookexec [jitted]
  File "[...snip...]/site-packages/pluggy/hooks.py", line 272 in __call__ [jitted]
  File "[...snip...]/site-packages/pluggy/hooks.py", line 272 in __call__
  File "[...snip...]/site-packages/_pytest/python.py", line 1475 in runtest
  File "[...snip...]/site-packages/_pytest/runner.py", line 126 in pytest_runtest_call
  File "[...snip...]/site-packages/pluggy/callers.py", line 157 in _multicall [jit inlined]
  File "[...snip...]/site-packages/pluggy/manager.py", line 84 in <lambda> [jit inlined]
Tests failed for numpy-1.19.0-py36h04dfcbd_0.tar.bz2 - moving package to /home/conda/feedstock_root/build_artifacts/broken
WARNING:conda_build.build:Tests failed for numpy-1.19.0-py36h04dfcbd_0.tar.bz2 - moving package to /home/conda/feedstock_root/build_artifacts/broken
WARNING conda_build.build:tests_failed(2751): Tests failed for numpy-1.19.0-py36h04dfcbd_0.tar.bz2 - moving package to /home/conda/feedstock_root/build_artifacts/broken
TESTS FAILED: numpy-1.19.0-py36h04dfcbd_0.tar.bz2
linux + ppc64le + openblas + cpython: 3 test failures
=========================== short test summary info ============================
FAILED linalg/tests/test_linalg.py::TestCond::test_sq_cases - AssertionError:...
FAILED linalg/tests/test_linalg.py::TestCholesky::test_basic_property - numpy...
FAILED linalg/tests/test_linalg.py::TestTensorinv::test_tensorinv_result - As...
= 3 failed, 10395 passed, 568 skipped, 26 deselected, 19 xfailed, 5 xpassed, 233 warnings in 507.77s (0:08:27) =
linux + ppc64le + openblas + pypy: 4 test failures
=========================== short test summary info ============================
FAILED core/tests/test_multiarray.py::TestDot::test_dot_3args - AssertionError: 
FAILED linalg/tests/test_linalg.py::TestInv::test_sq_cases - AssertionError: ...
FAILED linalg/tests/test_linalg.py::TestCond::test_sq_cases - AssertionError:...
FAILED linalg/tests/test_linalg.py::TestCholesky::test_basic_property - numpy...
= 4 failed, 10337 passed, 612 skipped, 26 deselected, 21 xfailed, 5 xpassed, 233 warnings in 993.28s (0:16:33) =
windows + blis + cpython: 11-12 failed tests

This one seems to be a bit fickle as well - in the previous run, it appeared for py36 & py37 but not py38, not it appeared for py37 & py38 but not py36.

=========================== short test summary info ===========================
FAILED core/tests/test_multiarray.py::TestMatmul::test_matmul_object - Assert...
FAILED linalg/tests/test_linalg.py::TestSolve::test_sq_cases - AssertionError...
FAILED linalg/tests/test_linalg.py::TestSolve::test_generalized_sq_cases - As...
FAILED linalg/tests/test_linalg.py::TestInv::test_sq_cases - AssertionError: ...
FAILED linalg/tests/test_linalg.py::TestInv::test_generalized_sq_cases - Asse...
FAILED linalg/tests/test_linalg.py::TestPinv::test_nonsq_cases - AssertionErr...
FAILED linalg/tests/test_linalg.py::TestPinv::test_generalized_sq_cases - Ass...
FAILED linalg/tests/test_linalg.py::TestPinv::test_generalized_nonsq_cases - ...
FAILED linalg/tests/test_linalg.py::TestDet::test_sq_cases - AssertionError: ...
FAILED linalg/tests/test_linalg.py::TestDet::test_generalized_sq_cases - Asse...
FAILED linalg/tests/test_linalg.py::TestMatrixPower::test_power_is_minus_one[dt13]
FAILED linalg/tests/test_linalg.py::TestCholesky::test_basic_property - Asser...
= 12 failed, 10401 passed, 493 skipped, 19 xfailed, 1 xpassed, 228 warnings in 545.60s (0:09:05) =

@mattip
Copy link

mattip commented Jun 28, 2020

Thanks for the summary. Numpy regularly builds on travisCI machines with PyPy, both in the numpy/numpy CI and on the MacPython/num-wheels CI. I wonder what is different on the Azure builds?

@mattip
Copy link

mattip commented Jun 28, 2020

In the build log for pypy I am seeing libcblas: 3.8.0-16_mkl. Am I looking at the wrong logs? I expected to see 3.10.

@h-vetinari
Copy link
Member Author

h-vetinari commented Jun 28, 2020

@mattip: In the build log for pypy I am seeing libcblas: 3.8.0-16_mkl. Am I looking at the wrong logs? I expected to see 3.10.

You're looking at the right logs, but I think you're mixing up the reference-lapack version numbers with openblas (note: 3.9.0 isn't in conda-forge yet because MKL isn't compatible yet). libblas / libcblas / liblapack / liblapacke get the lapack version number, and a build string suffix indicating which blas flavour (blis / mkl / netlib = reference-lapack / openblas) - you were looking at a run with mkl.

As I noted in the last comment, the segfault on pypy seems non-deterministic. It appeared for openblas in 2 out of 3 runs, for netlib 1/3 times and for mkl 1/3 times. One of the runs has been deleted by azure, but here's one where the segfault occurred with openblas. I haven't investigated which test follows linalg/tests/test_linalg.py::TestCond::test_empty_sq_cases PASSED [ 62%], but it always seems to happen there.

@mattip
Copy link

mattip commented Jun 28, 2020

Ahh, right sorry. But in the linux_blas_implopenblasnumpy1.18python3.6.____73_pypytarget_platformlinux-64.yaml log, I see libopenblas: 0.3.9-h5ec1e0e_0. Shouldn't that be 0.3.10?

In NumPy we use add a check like this (from tools/openblas.py:

def test_version(expected_version, ilp64=get_ilp64()):
    """
    Assert that expected OpenBLAS version is
    actually available via NumPy
    """
    import numpy
    import ctypes

    dll = ctypes.CDLL(numpy.core._multiarray_umath.__file__)
    if ilp64 == "64_":
        get_config = dll.openblas_get_config64_
    else:
        get_config = dll.openblas_get_config
    get_config.restype=ctypes.c_char_p
    res = get_config()
    print('OpenBLAS get_config returned', str(res))
    if not expected_version:
        expected_version = OPENBLAS_V
    check_str = b'OpenBLAS %s' % expected_version.encode()
    print(check_str)
    assert check_str in res, '%s not found in %s' %(expected_version, res)
    if ilp64:
        assert b"USE64BITINT" in res
    else:
        assert b"USE64BITINT" not in res

@h-vetinari
Copy link
Member Author

@mattip: Shouldn't that be 0.3.10?

You're right, sorry. The run I linked was before conda-forge/blas-feedstock#45 was merged. The first run after that had the segfault, but got deleted by azure since I restarted before everything was through. Let's try that again.

@h-vetinari h-vetinari closed this Jun 28, 2020
@h-vetinari h-vetinari reopened this Jun 28, 2020
@mattip
Copy link

mattip commented Jun 29, 2020

this is a tough PR. The starts must align just perfectly for everything to pass in the same run.

@h-vetinari
Copy link
Member Author

this is a tough PR. The starts must align just perfectly for everything to pass in the same run.

It seems to me the best answer would be to figure out what causes the segfault and fix it 😉
So far, the pypy build has always failed for at least one of the blas variants.

The blis+win builds are also failing consistently, as are the linux+ppc builds. So we'll probably need more than lucky stars to pull this into the green 😅

@mattip
Copy link

mattip commented Jul 14, 2020

I wonder if there is a path to release a 1.19 NumPy for at least the most common platforms.

@mattip
Copy link

mattip commented Jul 14, 2020

I see that OpenBLAS is being built with DYNAMIC_ARCH. Is a base `TARGET being set as well? See for instance MacPython/openblas-libs#34

In [this comment](https://github.com/OpenMathLib/OpenBLAS/issues/2388#issuecomment-582267407), and elsewhere, they recommends using `TARGET` as a minimal platform when `DYNAMIC_ARCH` is used which will be the fallback when no better dynamic loop can be found. The default is the build platform, which may be problematic if the build is done on a more advanced machine than the test.

@isuruf isuruf closed this Jul 16, 2020
@isuruf isuruf reopened this Jul 16, 2020
@h-vetinari h-vetinari changed the title WIP: 1.19.5 + blas variants TEST: 1.19.5 + blas variants Feb 10, 2021
@h-vetinari
Copy link
Member Author

No more 1.19 patch releases expected, time to close this PR

@h-vetinari h-vetinari closed this May 8, 2021
@h-vetinari h-vetinari deleted the 1.19_blas_var branch May 8, 2021 18:35
@h-vetinari h-vetinari changed the title TEST: 1.19.5 + blas variants TEST: 1.19.x + blas variants Jan 3, 2022
@h-vetinari h-vetinari restored the 1.19_blas_var branch April 6, 2022 21:43
@h-vetinari h-vetinari deleted the 1.19_blas_var branch April 6, 2022 21:56
@h-vetinari h-vetinari restored the 1.19_blas_var branch April 12, 2022 22:23
@h-vetinari h-vetinari reopened this Apr 12, 2022
@h-vetinari h-vetinari changed the base branch from master to numpy119 April 12, 2022 22:23
@h-vetinari
Copy link
Member Author

Revival (new PyPy builds and BLAS updates): all green except PPC

Due to rebuilding 1.19 for pypy3.8/3.9, much less several relevant BLAS (& infrastructure) changes, I thought I'd revive this PR for one last update.

From 9 failures out of 92 runs, we're now at 12 failures (PPC-only) out of 108 runs.

Notable

  • Added accelerate BLAS flavour on osx
  • Testing against PyPy 3.8 and 3.9 added everywhere but for osx-arm
  • Big bumps for openblas, blis & MKL
  • In the meantime, the previous blis errors have been tracked down and fixed
  • The broken pipe errors on windows should be gone thanks to the pagefile work
  • Fixed the error reporting of the test suite (used to be broken due to missing sys.exit wrapper)
  • Switched to running the full test suite; emulation keeps running only label='fast' tests.

Details

variant before after
linux + aarch + pypy3.6 + openblas one test failure (probably flaky as it's "only" from hypothesis) gone 🥳
linux + ppc + pypy + netlib segfault gone 🥳
linux + ppc fine otherwise (on travis) test failures due to emulation problems (on azure)
win + blis 11-12 failures across all python versions fixed 🥳
win 3 failures due to The process tried to write to a nonexistent pipe. gone 🥳
win + pypy ... two spurious failures in test_may_share_memory_easy_fuzz, resolved by restart

lib before after updated
version
updated
build
numpy 1.19.5 1.19.5
libblas 3.9.0-7 3.9.0-14 X
blis 0.8.0-1 0.9.0-0 X
openblas 0.3.12-pthreads-1 0.3.20-pthreads-0 X
mkl 2020.4-304 2022.0.1-803 X
netlib 3.9.0-3 3.9.0-5 X
pypy 7.3.3-3 7.3.9-1 (pypy38/39)
7.3.7-3 (pypy37)
X
qemu-user-static ? 6.1.0-8

variant accelerate blis mkl netlib openblas sum*
linux / x86 ✔️ ✔️ ✔️ ✔️ -
linux / aarch ✔️ ✔️ -
linux / ppc64le ✖️ ✖️ 12F
osx / arm ✔️ ✔️ ✔️ -
osx / x86 ✔️ ✔️ ✔️ ✔️ ✔️ -
win / x86 ✔️ ✔️ ✔️ ✔️ -
sum* - - - 6F 6F 12F

* sum of Failures (out of a total of 108 CI combinations being tested)

Build logs:
Azure

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.

4 participants