-
-
Notifications
You must be signed in to change notification settings - Fork 27
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
Update to 0.58.1 #128
Update to 0.58.1 #128
Conversation
…nda-forge-pinning 2023.10.20.17.11.18
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 ( |
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.
Thanks Yue! 🙏
Requesting one change above
Co-authored-by: jakirkham <jakirkham@gmail.com>
The failed tests on Linux are caused by |
We are seeing the following test failures. AFAICT there are small things like @stuartarchibald how should we proceed here? ======================================================================
FAIL: test_arcsinh_D_D (numba.tests.test_ufuncs.TestLoopTypesComplex.test_arcsinh_D_D)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/conda/feedstock_root/build_artifacts/numba_1697850551590/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/lib/python3.11/site-packages/numba/tests/test_ufuncs.py", line 1522, in test_template
self._check_loop(fn, ufunc, loop)
File "/home/conda/feedstock_root/build_artifacts/numba_1697850551590/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/lib/python3.11/site-packages/numba/tests/test_ufuncs.py", line 1468, in _check_loop
self._check_ufunc_with_dtypes(fn, ufunc, letter_types)
File "/home/conda/feedstock_root/build_artifacts/numba_1697850551590/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/lib/python3.11/site-packages/numba/tests/test_ufuncs.py", line 1507, in _check_ufunc_with_dtypes
self.assertPreciseEqual(py_arg, c_arg, prec=prec, msg=msg,
File "/home/conda/feedstock_root/build_artifacts/numba_1697850551590/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/lib/python3.11/site-packages/numba/tests/support.py", line 434, in assertPreciseEqual
self.fail("when comparing %s and %s: %s" % (first, second, failure_msg))
AssertionError: when comparing [0. -1.57079633j nan +nanj 0. -1.57079633j
0. +0.j 1.44973435+0.73040122j nan +nanj
1.44973435+0.73040122j 0. +0.j ] and [-0. -1.57079633j nan +nanj -0. -1.57079633j
0. +0.j 1.44973435+0.73040122j nan +nanj
1.44973435+0.73040122j 0. +0.j ]: 0.0 != -0.0 : ufunc 'arcsinh' arrays differ ([array([-0. -1.j , nan+nanj, -0. -1.j , 0. +0.j , 1.5+1.5j, nan+nanj,
1.5+1.5j, 0. +0.j ]), array([-0. -1.57079633j, nan +nanj,
-0. -1.57079633j, 0. +0.j ,
1.44973435+0.73040122j, nan +nanj,
1.44973435+0.73040122j, 0. +0.j ])]):
args: double
expected [0. -1.57079633j nan +nanj 0. -1.57079633j
0. +0.j 1.44973435+0.73040122j nan +nanj
1.44973435+0.73040122j 0. +0.j ]
got [-0. -1.57079633j nan +nanj -0. -1.57079633j
0. +0.j 1.44973435+0.73040122j nan +nanj
1.44973435+0.73040122j 0. +0.j ]
======================================================================
FAIL: test_arcsinh_F_F (numba.tests.test_ufuncs.TestLoopTypesComplex.test_arcsinh_F_F)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/conda/feedstock_root/build_artifacts/numba_1697850551590/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/lib/python3.11/site-packages/numba/tests/test_ufuncs.py", line 1522, in test_template
self._check_loop(fn, ufunc, loop)
File "/home/conda/feedstock_root/build_artifacts/numba_1697850551590/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/lib/python3.11/site-packages/numba/tests/test_ufuncs.py", line 1468, in _check_loop
self._check_ufunc_with_dtypes(fn, ufunc, letter_types)
File "/home/conda/feedstock_root/build_artifacts/numba_1697850551590/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/lib/python3.11/site-packages/numba/tests/test_ufuncs.py", line 1507, in _check_ufunc_with_dtypes
self.assertPreciseEqual(py_arg, c_arg, prec=prec, msg=msg,
File "/home/conda/feedstock_root/build_artifacts/numba_1697850551590/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/lib/python3.11/site-packages/numba/tests/support.py", line 434, in assertPreciseEqual
self.fail("when comparing %s and %s: %s" % (first, second, failure_msg))
AssertionError: when comparing [0. -1.5707964j nan +nanj 0. -1.5707964j
0. +0.j 1.4497344+0.7304012j nan +nanj
1.4497344+0.7304012j 0. +0.j ] and [-0. -1.5707964j nan +nanj -0. -1.5707964j
0. +0.j 1.4497343+0.7304012j nan +nanj
1.4497343+0.7304012j 0. +0.j ]: 0.0 != -0.0 : ufunc 'arcsinh' arrays differ ([array([-0. -1.j , nan+nanj, -0. -1.j , 0. +0.j , 1.5+1.5j, nan+nanj,
1.5+1.5j, 0. +0.j ], dtype=complex64), array([-0. -1.5707964j, nan +nanj,
-0. -1.5707964j, 0. +0.j ,
1.4497343+0.7304012j, nan +nanj,
1.4497343+0.7304012j, 0. +0.j ], dtype=complex64)]):
args: single
expected [0. -1.5707964j nan +nanj 0. -1.5707964j
0. +0.j 1.4497344+0.7304012j nan +nanj
1.4497344+0.7304012j 0. +0.j ]
got [-0. -1.5707964j nan +nanj -0. -1.5707964j
0. +0.j 1.4497343+0.7304012j nan +nanj
1.4497343+0.7304012j 0. +0.j ]
======================================================================
FAIL: test_arctanh_D_D (numba.tests.test_ufuncs.TestLoopTypesComplex.test_arctanh_D_D)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/conda/feedstock_root/build_artifacts/numba_1697850551590/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/lib/python3.11/site-packages/numba/tests/test_ufuncs.py", line 1522, in test_template
self._check_loop(fn, ufunc, loop)
File "/home/conda/feedstock_root/build_artifacts/numba_1697850551590/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/lib/python3.11/site-packages/numba/tests/test_ufuncs.py", line 1468, in _check_loop
self._check_ufunc_with_dtypes(fn, ufunc, letter_types)
File "/home/conda/feedstock_root/build_artifacts/numba_1697850551590/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/lib/python3.11/site-packages/numba/tests/test_ufuncs.py", line 1507, in _check_ufunc_with_dtypes
self.assertPreciseEqual(py_arg, c_arg, prec=prec, msg=msg,
File "/home/conda/feedstock_root/build_artifacts/numba_1697850551590/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/lib/python3.11/site-packages/numba/tests/support.py", line 434, in assertPreciseEqual
self.fail("when comparing %s and %s: %s" % (first, second, failure_msg))
AssertionError: when comparing [0. -0.78539816j nan +nanj 0. -0.78539816j
0. +0.j 0.30594386+1.21648319j nan +nanj
0.30594386+1.21648319j 0. +0.j ] and [-0. -0.78539816j nan +nanj -0. -0.78539816j
0. +0.j 0.30594386+1.21648319j nan +nanj
0.30594386+1.21648319j 0. +0.j ]: 0.0 != -0.0 : ufunc 'arctanh' arrays differ ([array([-0. -1.j , nan+nanj, -0. -1.j , 0. +0.j , 1.5+1.5j, nan+nanj,
1.5+1.5j, 0. +0.j ]), array([-0. -0.78539816j, nan +nanj,
-0. -0.78539816j, 0. +0.j ,
0.30594386+1.21648319j, nan +nanj,
0.30594386+1.21648319j, 0. +0.j ])]):
args: double
expected [0. -0.78539816j nan +nanj 0. -0.78539816j
0. +0.j 0.30594386+1.21648319j nan +nanj
0.30594386+1.21648319j 0. +0.j ]
got [-0. -0.78539816j nan +nanj -0. -0.78539816j
0. +0.j 0.30594386+1.21648319j nan +nanj
0.30594386+1.21648319j 0. +0.j ]
======================================================================
FAIL: test_arctanh_F_F (numba.tests.test_ufuncs.TestLoopTypesComplex.test_arctanh_F_F)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/conda/feedstock_root/build_artifacts/numba_1697850551590/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/lib/python3.11/site-packages/numba/tests/test_ufuncs.py", line 1522, in test_template
self._check_loop(fn, ufunc, loop)
File "/home/conda/feedstock_root/build_artifacts/numba_1697850551590/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/lib/python3.11/site-packages/numba/tests/test_ufuncs.py", line 1468, in _check_loop
self._check_ufunc_with_dtypes(fn, ufunc, letter_types)
File "/home/conda/feedstock_root/build_artifacts/numba_1697850551590/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/lib/python3.11/site-packages/numba/tests/test_ufuncs.py", line 1507, in _check_ufunc_with_dtypes
self.assertPreciseEqual(py_arg, c_arg, prec=prec, msg=msg,
File "/home/conda/feedstock_root/build_artifacts/numba_1697850551590/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/lib/python3.11/site-packages/numba/tests/support.py", line 434, in assertPreciseEqual
self.fail("when comparing %s and %s: %s" % (first, second, failure_msg))
AssertionError: when comparing [0. -0.7853982j nan +nanj 0. -0.7853982j
0. +0.j 0.30594385+1.2164832j nan +nanj
0.30594385+1.2164832j 0. +0.j ] and [-0. -0.7853982j nan +nanj -0. -0.7853982j
0. +0.j 0.30594385+1.2164832j nan +nanj
0.30594385+1.2164832j 0. +0.j ]: 0.0 != -0.0 : ufunc 'arctanh' arrays differ ([array([-0. -1.j , nan+nanj, -0. -1.j , 0. +0.j , 1.5+1.5j, nan+nanj,
1.5+1.5j, 0. +0.j ], dtype=complex64), array([-0. -0.7853982j, nan +nanj,
-0. -0.7853982j, 0. +0.j ,
0.30594385+1.2164832j, nan +nanj,
0.30594385+1.2164832j, 0. +0.j ], dtype=complex64)]):
args: single
expected [0. -0.7853982j nan +nanj 0. -0.7853982j
0. +0.j 0.30594385+1.2164832j nan +nanj
0.30594385+1.2164832j 0. +0.j ]
got [-0. -0.7853982j nan +nanj -0. -0.7853982j
0. +0.j 0.30594385+1.2164832j nan +nanj
0.30594385+1.2164832j 0. +0.j ]
---------------------------------------------------------------------- |
If it is just a small numeric error, can tests be disabled for this version (it seems the package builds fine and tests again almost all tests except those small numeric values)? They can be reenabled for the next version when it is fixed in Numba. |
It's my understanding the Numba team is currently investigating this. So let's give them a little time to follow up |
Is there any new on this one? |
@jakirkham apologies for the delay on this. I've debugged it and think that the issue is actually rooted in a problem in the CF docker container #include <stdio.h>
#include <complex.h>
int main(void) {
double complex x = -0.0 - 1.0 * I;
double complex result;
printf("Input : (%18.16f, %18.16f)\n", creal(x), cimag(x));
result = casinh(x);
printf("Result: (%18.16f, %18.16f)\n", creal(result), cimag(result));
return 0;
} which, in the container used for the build, produces:
Note that the real part of the result does not copy the sign of the zero from the input. Further, running the failing test in the same container under This issue was discussed at the Numba maintainer's triage meeting on 2023-10-31 and the conclusion was that if the issue is indeed in As an aside, as part of the above discussion, it wasn't clear why the containers are using Hope this helps? |
@jakirkham OK to merge? |
Can we just skip the broken tests? Skipping all tests on Linux sounds like it could hide future problems. |
The test system of numba is based on unittests. |
Numba has a number of convenience functions for skipping specific tests, like this one: https://github.com/numba/numba/blob/main/numba/tests/support.py#L92 Here is the documentation about how to skip things using https://docs.python.org/3/library/unittest.html#skipping-tests-and-expected-failures So, probably a decorator like:
|
I don't have the expertise or bandwidth to dig into which parts of tests should be precisely skipped. |
This reverts commit e7d0718.
Signed-off-by: Marcel Bargull <marcel.bargull@udo.edu>
@conda-forge-admin, please rerender |
…nda-forge-pinning 2023.11.06.09.49.34
While Anaconda stopped building for CentOS 6 (glibc 2.12) in 2021 after its regular maintenance EOL, conda-forge continues to build for CentOS 6 by default until June next year (RHEL 6 extended support EOL).
Due to slight misunderstanding this feedstock continued to be tested against CentOS 6 (we hadn't yet merged a commit to rectify that). That being said, apparently we have slight regression in NumPy 1.26 regarding python -c 'import numpy as np; print("pass" if np.signbit(np.arctanh(-1j).real) else "fail", np.__version__)' On CentOS 7:
On Ubuntu 14.04: /lib/x86_64-linux-gnu/libc-2.19.so --version | head -n1
GNU C Library (Ubuntu EGLIBC 2.19-0ubuntu6.15) stable release version 2.19, by Roland McGrath et al.
Small reproducer showing different behavior in glibc versions like the one given by @stuartarchibald in #128 (comment) : { cat << 'EOF'
#include <stdio.h>
#include <complex.h>
#include <math.h>
void main(void) {
double complex x = -I;
if (signbit(creal(catanh(x))))
printf("pass\n");
else
printf("fail\n");
}
EOF
} | $CC -x c - -o issue128 -lm CentOS 7:
Ubuntu 14.04:
^-- If anyone wants to report that upstream to NumPy, feel free to do so. |
- llvm-openmp is added as a hard dependency via run_exports anyway. - libgomp is linked to by numba.np.ufunc.omppool. - tbb cannot be input to pin_compatible since it is not in host reqs. Signed-off-by: Marcel Bargull <marcel.bargull@udo.edu>
Signed-off-by: Marcel Bargull <marcel.bargull@udo.edu>
I haven't yet opened an upstream issue but put out conda-forge/numpy-feedstock#304 for further inspection/reference in future upstream issue. @conda-forge/numba : Anyone opposed to merging? |
Upstream issue: numpy/numpy#25087 |
I've also opened an issue for Numba to test against glibc=2.17 upstream so that we could react to upstream NumPy changes earlier in the future. xref: |
Thanks Stuart for digging into the test issue and following up! 🙏 Agree that we can just ignore those tests Thanks everyone (especially Marcel) on bringing this up-to-date! 🙏 @beckermr , could you please read over the discussion and changes here? Would appreciate hearing your thoughts (as I think you discovered the GLIBC symbol leak issue previously) |
That was a false positive coming from |
This feedstock is build with cos6 because when it was built against cos7, it started to carry cos7 symbols and not just the cos6 ones. |
Ahhh thanks @mbargull! We all missed that apparently. LGTM! |
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.
Thanks all! 🙏
Generally this looks good. Thanks for all the hard work here 👏
Had a couple questions below
recipe/meta.yaml
Outdated
# Need these for AOT. Do not init msvc as it may not be present | ||
- {{ compiler('c') }} # [not win] | ||
- {{ compiler('cxx') }} # [not win] |
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.
Somewhat unrelated, but do we need to limit this on Windows? We should always have MSVC on CI. Or do we want to keep this around for offline building/testing?
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.
I guess we could remove it.
It comes from the upstream recipe.
IDK in which way it changes the tests, TBH.
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.
No strong feelings. Agree dropping altogether seems reasonable. We can always change later if needed
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.
Ah, I actually meant to drop the selector only but deleted the lines 🤦.
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.
Oh ok. Thought it was dropped since the current AOT implementation is deprecated
Though ok with continuing to test AOT until it is removed
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.
Thanks Marcel! 🙏
Signed-off-by: Marcel Bargull <marcel.bargull@udo.edu>
Hi! This is the friendly conda-forge automerge bot! Commits were made to this PR after the |
Upstream PR to fix it: numpy/numpy#25093 |
Thanks for all your efforts @mbargull @jakirkham, great to see this shipped! |
Checklist
0
(if the version changed)conda-smithy
(Use the phrase@conda-forge-admin, please rerender
in a comment in this PR for automated rerendering)