Skip to content

New float16 failures in 32-bit Windows wheel build jobs #29808

@rgommers

Description

@rgommers

There are new failures in a full set of wheel builds on the latest main branch for float16, specifically for 32-bit Windows with a cp314t interpreter (EDIT: next set of wheel builds failed with cp312 and cp313t, so it's a generic 32-bit Windows issue).

A lot of the failures seem to have to do with sort/partition, see this CI log.

2025-09-24T08:46:03.2017662Z ..\venv-test\Lib\site-packages\numpy\_core\tests\test_multiarray.py:10653: 
2025-09-24T08:46:03.2018258Z _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
2025-09-24T08:46:03.2018584Z 
2025-09-24T08:46:03.2018731Z kth = np.float16(-0.3762), k = np.int32(302)
2025-09-24T08:46:03.2019255Z arr_part = array([-0.2607 , -0.2607 , -0.2607 ,  0.1748 , -0.4316 , -0.4316 ,
2025-09-24T08:46:03.2019779Z        -0.3027 ,  0.1748 , -0.309  , -0.309  , -0.3... 0.4526 ,
2025-09-24T08:46:03.2020387Z         0.4526 ,  0.4526 , -0.2451 , -0.2451 ,  0.4526 ,  0.4526 ,
2025-09-24T08:46:03.2020815Z         0.4526 ,  0.4526 ], dtype=float16)
2025-09-24T08:46:03.2021063Z 
2025-09-24T08:46:03.2021219Z     def assert_arr_partitioned(kth, k, arr_part):
2025-09-24T08:46:03.2021653Z >       assert_equal(arr_part[k], kth)
2025-09-24T08:46:03.2022034Z E       AssertionError: 
2025-09-24T08:46:03.2022344Z E       Items are not equal:
2025-09-24T08:46:03.2022696Z E        ACTUAL: np.float16(0.1777)
2025-09-24T08:46:03.2023072Z E        DESIRED: np.float16(-0.3762)
2025-09-24T08:46:03.2023354Z 
2025-09-24T08:46:03.2023618Z arr_part   = array([-0.2607 , -0.2607 , -0.2607 ,  0.1748 , -0.4316 , -0.4316 ,
2025-09-24T08:46:03.2024184Z        -0.3027 ,  0.1748 , -0.309  , -0.309  , -0.3... 0.4526 ,
2025-09-24T08:46:03.2024654Z         0.4526 ,  0.4526 , -0.2451 , -0.2451 ,  0.4526 ,  0.4526 ,
2025-09-24T08:46:03.2025096Z         0.4526 ,  0.4526 ], dtype=float16)
2025-09-24T08:46:03.2025483Z k          = np.int32(302)
2025-09-24T08:46:03.2025806Z kth        = np.float16(-0.3762)

... <warnings>

025-09-24T08:46:03.2307720Z inf location mismatch:
2025-09-24T08:46:03.2307825Z  ACTUAL: array([-0.3323,     inf], dtype=float16)
2025-09-24T08:46:03.2307939Z  DESIRED: array(-0.3323, dtype=float16)
2025-09-24T08:46:03.2308141Z FAILED _core/tests/test_multiarray.py::test_partition_fp[float16-N3] - AssertionError: 
2025-09-24T08:46:03.2308146Z 
2025-09-24T08:46:03.2308161Z 
2025-09-24T08:46:03.2308224Z inf location mismatch:
2025-09-24T08:46:03.2308356Z  ACTUAL: array([-0.3323, -0.3323, -0.3323,     inf], dtype=float16)
2025-09-24T08:46:03.2308438Z  DESIRED: array(-0.3323, dtype=float16)
2025-09-24T08:46:03.2309086Z FAILED _core/tests/test_multiarray.py::test_partition_fp[float16-N4] - AssertionError: 
2025-09-24T08:46:03.2309183Z Items are not equal:
2025-09-24T08:46:03.2309300Z  ACTUAL: np.float16(0.4185)
2025-09-24T08:46:03.2309401Z  DESIRED: np.float16(inf)
2025-09-24T08:46:03.2309718Z FAILED _core/tests/test_multiarray.py::test_partition_fp[float16-N5] - AssertionError: 
2025-09-24T08:46:03.2309809Z Items are not equal:
2025-09-24T08:46:03.2309917Z  ACTUAL: np.float16(-0.0886)

Does this ring a bell for anyone? Recent PRs that touched float16 and/or sort in a nontrivial way?

Metadata

Metadata

Assignees

No one assigned

    Labels

    00 - Bug57 - Close?Issues which may be closable unless discussion continued

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions