Skip to content

Rebuild for python 3.14 and 3.14t#306

Merged
h-vetinari merged 7 commits into
conda-forge:mainfrom
h-vetinari:314
Aug 30, 2025
Merged

Rebuild for python 3.14 and 3.14t#306
h-vetinari merged 7 commits into
conda-forge:mainfrom
h-vetinari:314

Conversation

@h-vetinari

Copy link
Copy Markdown
Member

Preempt the migrator because it won't do the nogil variant anyway. Follows conda-forge/numpy-feedstock#363

@conda-forge-admin

conda-forge-admin commented Aug 28, 2025

Copy link
Copy Markdown
Contributor

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/meta.yaml) and found it was in an excellent condition.

I do have some suggestions for making it better though...

For recipe/meta.yaml:

  • ℹ️ The recipe is not parsable by parser conda-souschef (grayskull). This parser is not currently used by conda-forge, but may be in the future. We are collecting information to see which recipes are compatible with grayskull.
  • ℹ️ The recipe is not parsable by parser conda-recipe-manager. The recipe can only be automatically migrated to the new v1 format if it is parseable by conda-recipe-manager.

This message was generated by GitHub Actions workflow run https://github.com/conda-forge/conda-forge-webservices/actions/runs/17337524406. Examine the logs at this URL for more detail.

@h-vetinari h-vetinari added automerge Merge the PR when CI passes and removed automerge Merge the PR when CI passes labels Aug 28, 2025
@h-vetinari h-vetinari added automerge Merge the PR when CI passes and removed automerge Merge the PR when CI passes labels Aug 28, 2025
@h-vetinari

Copy link
Copy Markdown
Member Author

We're back to the undiagnosed hangs on windows (also occurring in #250)

@h-vetinari

Copy link
Copy Markdown
Member Author

OK, it seems I finally caught all potential sources of hangs. But we still get pretty catastropic test failures (see below).

In all cases that I've looked at, the hanging and failing runs were on older CPUs with

  "SIMD Extensions": {
    "baseline": [
      "SSE",
      "SSE2",
      "SSE3"
    ],
    "found": [
      "SSSE3",
      "SSE41",
      "POPCNT",
      "SSE42",
      "AVX",
      "F16C",
      "FMA3",
      "AVX2"
    ],
    "not found": [
      "AVX512F",
      "AVX512CD",
      "AVX512_SKX",
      "AVX512_CLX",
      "AVX512_CNL",
      "AVX512_ICL"
    ]
  }

whereas all the passing runs have

  "SIMD Extensions": {
    "baseline": [
      "SSE",
      "SSE2",
      "SSE3"
    ],
    "found": [
      "SSSE3",
      "SSE41",
      "POPCNT",
      "SSE42",
      "AVX",
      "F16C",
      "FMA3",
      "AVX2",
      "AVX512F",
      "AVX512CD",
      "AVX512_SKX"
    ],
    "not found": [
      "AVX512_CLX",
      "AVX512_CNL",
      "AVX512_ICL"
    ]
  }

So either there's something going wrong with the feature detection and we're trying AVX512 instructions on CPUs that don't support them, or the fallback code is buggy.

Here's the remaining failures, which look like things going completely haywire (not just minor tolerance violations). It's interesting though that - even despite the skips - there's only a handful of them.

=========================== short test summary info ===========================
FAILED linalg/tests/test_decomp.py::TestEigh::test_various_drivers_standard[ev-complex128] - AssertionError: 
Not equal to tolerance rtol=0, atol=2.22045e-13

Mismatched elements: 359 / 400 (89.8%)
Max absolute difference among violations: 3.67723305
Max relative difference among violations: inf
 ACTUAL: array([[ 1.515039e+00-1.387779e-16j, -1.671042e+00-2.775558e-17j,
         7.577442e-03-5.594483e-17j, -5.147664e-02-5.551115e-17j,
        -2.088862e-02-1.626303e-17j, -2.684733e-02+1.110223e-16j,...
 DESIRED: array(0.)
FAILED linalg/tests/test_decomp.py::TestEigh::test_various_drivers_standard[evd-complex128] - AssertionError: 
Not equal to tolerance rtol=0, atol=2.22045e-13

Mismatched elements: 340 / 400 (85%)
Max absolute difference among violations: 0.44519929
Max relative difference among violations: inf
 ACTUAL: array([[-4.421419e-02+1.387779e-17j,  2.419257e-02+3.469447e-18j,
         1.729653e-01-5.898060e-17j,  6.564105e-02+4.163336e-17j,
         7.144854e-02-4.163336e-17j,  3.416460e-02-1.942890e-16j,...
 DESIRED: array(0.)
FAILED linalg/tests/test_decomp.py::TestEigh::test_various_drivers_standard[evx-complex128] - AssertionError: 
Not equal to tolerance rtol=0, atol=2.22045e-13

Mismatched elements: 320 / 400 (80%)
Max absolute difference among violations: 0.01312156
Max relative difference among violations: inf
 ACTUAL: array([[-1.623363e-03+2.081668e-16j, -2.778519e-03+2.012279e-16j,
        -3.731607e-03-1.249001e-16j, -4.858551e-04-2.498002e-16j,
        -1.488499e-05-1.214306e-16j,  3.405177e-04-2.775558e-17j,...
 DESIRED: array(0.)
FAILED linalg/tests/test_decomp.py::TestSVD_GESVD::test_random_complex - AssertionError: 
Arrays are not almost equal to 6 decimals

Mismatched elements: 37 / 400 (9.25%)
Max absolute difference among violations: 0.02491297
Max relative difference among violations: 0.02491297
 ACTUAL: array([[ 1.000000e+00+0.000000e+00j,  3.642919e-17+1.179612e-16j,
         7.806256e-18-7.936360e-17j, -9.714451e-17-2.081668e-16j,
        -1.127570e-17+0.000000e+00j, -3.122502e-17-9.714451e-17j,...
 DESIRED: array([[1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
        0., 0., 0., 0.],
       [0., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,...
FAILED linalg/tests/test_decomp_ldl.py::test_ldl_type_size_combinations_real[150-float64] - IndexError: index 150 is out of bounds for axis 0 with size 150
FAILED linalg/tests/test_solvers.py::TestSolveContinuousAre::test_solve_continuous_are[17-case17] - numpy.linalg.LinAlgError: The associated Hamiltonian pencil has eigenvalues too close to the imaginary axis
FAILED stats/tests/test_distributions.py::TestKSTwo::test_ppf_of_cdf_sqrtn - AssertionError: 
Not equal to tolerance rtol=1e-07, atol=0

Mismatched elements: 3 / 10 (30%)
Max absolute difference among violations: 2.09978598e+53
Max relative difference among violations: 2.99969426e+54
 ACTUAL: array([1.000000e-02, 2.000000e-02, 3.000000e-02, 4.000000e-02,
       5.000000e-02, 5.267270e+52, 2.099786e+53, 1.826073e+53,
       9.000000e-02, 1.000000e-01])
 DESIRED: array([0.01, 0.02, 0.03, 0.04, 0.05, 0.06, 0.07, 0.08, 0.09, 0.1 ])
FAILED stats/tests/test_distributions.py::TestKSTwo::test_isf_of_sf_sqrtn - AssertionError: 
Not equal to tolerance rtol=1e-07, atol=0

Mismatched elements: 3 / 5 (60%)
Max absolute difference among violations: 2.09978598e+53
Max relative difference among violations: 2.99969426e+54
 ACTUAL: array([5.267270e+52, 2.099786e+53, 1.826073e+53, 9.000000e-02,
       1.000000e-01])
 DESIRED: array([0.06, 0.07, 0.08, 0.09, 0.1 ])
FAILED stats/tests/test_distributions.py::TestKSTwo::test_ppf - AssertionError: 
Not equal to tolerance rtol=1e-07, atol=0

Mismatched elements: 5 / 10 (50%)
Max absolute difference among violations: 0.8
Max relative difference among violations: 4.
 ACTUAL: array([0.1, 1. , 1. , 1. , 1. , 1. , 0.7, 0.8, 0.9, 1. ])
 DESIRED: array([0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1. ])
= 9 failed, 78442 passed, 5009 skipped, 325 xfailed, 15 xpassed, 2649 warnings in 1296.49s (0:21:36) =

@lucascolley

Copy link
Copy Markdown
Member

test_solve_continuous_are rings a bell to me as a frequent source of flakiness in the main repo. The others not so much.

@h-vetinari h-vetinari merged commit 4808766 into conda-forge:main Aug 30, 2025
39 checks passed
@h-vetinari h-vetinari deleted the 314 branch August 30, 2025 04:35
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.

3 participants