-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
Support for NumPy 1.22 #8027
Support for NumPy 1.22 #8027
Conversation
As title. Fixes numba#7756 Fixes numba#7757 Fixes numba#7759 Fixes numba#7760
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM! Guess we just need it go through the buildfarm
BFID |
I think there's a reasonable chance that this will need patching: numba/numba/tests/test_array_reductions.py Lines 688 to 693 in 0f5953d
|
I opened #8030 to get NumPy 1.22 running on more systems. A test failed on a skylake chip (similar to the observed failure pattern in the Numba build farm) with a small numerical error (couple of ULPs). Having looked at the NumPy 1.21-1.22 change log and diff. I suspect this is the cause: numpy/numpy#19478. From what I understand from skimming the patch and discussion, on chips with AVX-512 support, NumPy now links to a vendored-in copy of the SVML library and uses the low precision variant of a number of transcendental and trigonometric functions in the ufunc loops. These variants have a maximum declared error of 4 ULP, which may well explain why testing functions such as: numba/numba/tests/test_array_exprs.py Lines 67 to 69 in 0f5953d
As far as I can tell NumPy does not have the capacity from user code or otherwise to switch |
After doing some trials with #8030 (comment). Have added 1ca5b90 to switch off NumPy's AVX512 SVML ufunc dispatch mechanics. |
8a42464
to
1ca5b90
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
New changes looks good.
Needs to smoke it in the farm once public CI is done.
@sklam I had to add c5a3010. The failure of
|
BFID |
/azp run |
Azure Pipelines successfully started running 1 pipeline(s). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
c5a3010 make sense.
btw, to avoid this in the future, we should support warnings in nopython
.
This passed everywhere except linux aarch64 Python 3.8 NumPy 1.22. The failing test is: I think it's reasonably likely that this is something to do with the BLAS and/or LAPACK implementation in use opposed to Numba, as all Numba does for numba/numba/tests/test_linalg.py Lines 974 to 980 in 4684b9c
I'd guess it's a complex64 input to that which is causing the problem as that data type has a history of being problematic in these tests on ARM chips.
|
This adds NumPy 1.22 to the test matrix and updates the matrix to adjust the spread of builds such that there's a more even distribution across NumPy and Python versions.
Note: this is running against c5a3010 |
This branch at 812a1d7 has a test matrix distribution:
|
For reviewers:
|
This passed. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
When can we expect a new release version to be cut that includes this change? |
we will attempt this today (Thu 19th May 2022) |
… into release0.55 * public_ci/pin_llvmlite: Install llvmlite 0.38 for Numba 0.55.* * backport/0.55/numpy_122: Backport numba#8027: Support for NumPy 1.22
…'public_ci/rename_gitdiff_target', 'public_ci/pin_llvmlite' and 'changelog/0.55.2' into combine_8067_8069 * backport/0.55/numpy_122: Backport numba#8027: Support for NumPy 1.22 * 0.55.2/update_max_numpy: bump version in __init__.py too update max NumPy for 0.55.2 * public_ci/rename_gitdiff_target: update the target branch to match the release branch minimal rename from master to main for CI only * public_ci/pin_llvmlite: Install llvmlite 0.38 for Numba 0.55.* * changelog/0.55.2: update changelog for 0.55.2
…'backport/0.55/7804', 'public_ci/pin_llvmlite' and 'changelog/0.55.2' into combine_8067_8069 * backport/0.55/numpy_122: Backport numba#8027: Support for NumPy 1.22 * 0.55.2/update_max_numpy: fixup error message bump version in __init__.py too update max NumPy for 0.55.2 * backport/0.55/7804: update the target branch to match the release branch Merge pull request numba#7804 from esc/rename_master_main * public_ci/pin_llvmlite: Install llvmlite 0.38 for Numba 0.55.* * changelog/0.55.2: update changelog for 0.55.2
Unfortunately there were some issues backporting which took longer than expected. We now hope to have packages available by Monday 23 May 🤞 |
Hello, any chances the packages will be released today? Thank you. |
Backport #8027: Support for NumPy 1.22
please subscribe to: #8066 |
As title.
Fixes #7756
Fixes #7757
Fixes #7759
Fixes #7760
Fixes #7758
Closes #7754