10000 New CI failures. · Issue #18932 · numpy/numpy · GitHub
[go: up one dir, main page]

Skip to content

New CI failures. #18932

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

Closed
charris opened this issue May 7, 2021 · 8 comments · Fixed by #18933
Closed

New CI failures. #18932

charris opened this issue May 7, 2021 · 8 comments · Fixed by #18933

Comments

@charris
Copy link
Member
charris commented May 7, 2021

CI has started failing somewhat randomly with

______________________ TestSpecialFloats.test_exp_values _______________________

self = <numpy.core.tests.test_umath.TestSpecialFloats object at 0x7f7f62e58580>

    def test_exp_values(self):
        x = [np.nan,  np.nan, np.inf, 0.]
        y = [np.nan, -np.nan, np.inf, -np.inf]
        for dt in ['f', 'd', 'g']:
            xf = np.array(x, dtype=dt)
            yf = np.array(y, dtype=dt)
            assert_equal(np.exp(yf), xf)
    
        with np.errstate(over='raise'):
            assert_raises(FloatingPointError, np.exp, np.float32(100.))
            assert_raises(FloatingPointError, np.exp, np.float32(1E19))
            assert_raises(FloatingPointError, np.exp, np.float64(800.))
            assert_raises(FloatingPointError, np.exp, np.float64(1E19))
    
        with np.errstate(under='raise'):
            assert_raises(FloatingPointError, np.exp, np.float32(-1000.))
            assert_raises(FloatingPointError, np.exp, np.float32(-1E19))
>           assert_raises(FloatingPointError, np.exp, np.float64(-1000.))

@charris
Copy link
Member Author
charris commented May 7, 2021

The test always passes on my machine, perhaps it is hardware related?

@r-devulap
Copy link
Member

The randomness is a bit worrisome. It might be the case that different standard C libraries vary in how they report underflows, but that doesn't explain randomness.

@mattip
Copy link
Member
mattip commented May 7, 2021

One failing machine is reporting NumPy CPU features: SSE SSE2 SSE3* SSSE3* SSE41* POPCNT* SSE42* AVX* F16C* FMA3* AVX2* AVX512F* AVX512CD* AVX512_KNL? AVX512_KNM? AVX512_SKX* AVX512_CLX? AVX512_CNL? AVX512_ICL?

@mattip
Copy link
Member
mattip commented May 7, 2021

Where a passing machine is reporting NumPy relaxed strides checking option: False NumPy CPU features: SSE SSE2 SSE3 SSSE3* SSE41* POPCNT* SSE42* AVX* F16C* FMA3* AVX2* AVX512F? AVX512CD? AVX512_KNL? AVX512_KNM? AVX512_SKX? AVX512_CLX? AVX512_CNL? AVX512_ICL?

@mattip
Copy link
Member
mattip commented May 7, 2021

so there is at least one case where it fails when AVX512F (and AVX512CD, AVX512_SKX) are supported ('*') and passes when AVX512F (and AVX512CD, AVX512_SKX) are not supported ('?'). @seiko2plus ideas?

@r-devulap
Copy link
Member

@mattip do you know if they use the same compilers?

@mattip
Copy link
Member
mattip commented May 7, 2021

here are a bunch of CI runs with some failures, some successes. It seems the failure is correlated very well with AVX512F

run state has avx512f compiler
basic (3.8) success AVX512F? GCC 9.3.0
basic (3.9) failure AVX512F* GCC 9.3.0
debug failure AVX512F* GCC 9.3.0
debug failure AVX512F* GCC 9.3.0
blas64 failure AVX512F* GCC 9.3.0
full success AVX512F? [GCC 7.5.0
benchmark success AVX512F? GCC 9.3.0
no_relaxed_strides failure AVX512F* GCC 9.3.0
use_wheel success AVX512F? GCC 9.3.0
no_array_func failure AVX512F* GCC 9.3.0
no_openblas failure AVX512F* GCC 9.3.0
sdist success AVX512F? GCC 9.3.0

@seiko2plus
Copy link
Member

just a simple nit, I'm not sure why CI didn't catch it during the pr build but maybe there's was no single worker with AVX512 support at that time.

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 a pull request may close this issue.

4 participants
0