Skip to content
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

numba v0.51.0 #56

Merged

Conversation

regro-cf-autotick-bot
Copy link
Contributor

It is very likely that the current package version for this feedstock is out of date.
Notes for merging this PR:

  1. Feel free to push to the bot's branch to update this PR if needed.
  2. The bot will almost always only open one PR per version.
    Checklist before merging this PR:
  • Dependencies have been updated if changed: see upstream
  • Tests have passed
  • Updated license if changed and license_file is packaged

Note that the bot will stop issuing PRs if more than 3 Version bump PRs generated by the bot are open. If you don't want to package a particular version please close the PR.

NEW: If you want these PRs to be merged automatically, make an issue with @conda-forge-admin,please add bot automerge in the title and merge the resulting PR. This command will add our new bot automerge feature to your feedstock!

If this PR was opened in error or needs to be updated please add the bot-rerun label to this PR. The bot will close this PR and schedule another one. If you do not have permissions to add this label, you can use the phrase @conda-forge-admin, please rerun bot in a PR comment to have the conda-forge-admin add it for you.

This PR was created by the regro-cf-autotick-bot.
The regro-cf-autotick-bot is a service to automatically track the dependency graph, migrate packages, and propose package version updates for conda-forge. If you would like a local version of this bot, you might consider using rever. Rever is a tool for automating software releases and forms the backbone of the bot's conda-forge PRing capability. Rever is both conda (conda install -c conda-forge rever) and pip (pip install re-ver) installable.
Finally, feel free to drop us a line if there are any issues!
This PR was generated by https://circleci.com/gh/regro/circle_worker/38692, please use this URL for debugging

Here is a list of all the pending dependencies (and their versions) for this repo. Please double check all dependencies before merging.

Name Upstream Version Current Version
tbb 2020.3 Anaconda-Server Badge

regro-cf-autotick-bot added 2 commits August 12, 2020 21:20
@conda-forge-linter
Copy link

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

@jakirkham
Copy link
Member

@conda-forge-admin, please restart CI.

@jakirkham
Copy link
Member

Looks like there is a casting error in the tests.

======================================================================
ERROR: test_ediff1d_edge_cases (numba.tests.test_np_functions.TestNPFunctions)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/conda/feedstock_root/build_artifacts/numba_1597363055369/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/lib/python3.8/site-packages/numba/tests/test_np_functions.py", line 2080, in test_ediff1d_edge_cases
    _check_raises_type_error(params, 'to_begin')
  File "/home/conda/feedstock_root/build_artifacts/numba_1597363055369/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/lib/python3.8/site-packages/numba/tests/test_np_functions.py", line 2047, in _check_raises_type_error
    pyfunc(**params)
  File "/home/conda/feedstock_root/build_artifacts/numba_1597363055369/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/lib/python3.8/site-packages/numba/tests/test_np_functions.py", line 233, in ediff1d
    return np.ediff1d(ary, to_end, to_begin)
  File "<__array_function__ internals>", line 5, in ediff1d
  File "/home/conda/feedstock_root/build_artifacts/numba_1597363055369/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/lib/python3.8/site-packages/numpy/lib/arraysetops.py", line 107, in ediff1d
    raise TypeError("dtype of `to_end` must be compatible "
TypeError: dtype of `to_end` must be compatible with input `ary` under the `same_kind` rule.

More details can be found on CI or in the attached logs.

cc @stuartarchibald (in case you have thoughts here 🙂)

@stuartarchibald
Copy link
Contributor

Thanks @jakirkham this is a NumPy 1.19 vs Numba problem I think, xref numba/numba#5929 think it was Numba that hit the problem in NumPy in the first place :)

Comment on lines -64 to +66
- numpy >=1.15
# Working around an issue with NumPy 1.19
# xref: https://github.com/numba/numba/issues/5929
- numpy >=1.15,<1.19
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

IIUC, ref. numba/numba#5929 (comment), this is fixed in 1.19.1, so we could do

Suggested change
- numpy >=1.15
# Working around an issue with NumPy 1.19
# xref: https://github.com/numba/numba/issues/5929
- numpy >=1.15,<1.19
# Working around an issue with NumPy 1.19.0
# xref: https://github.com/numba/numba/issues/5929
- numpy >=1.15,!=1.19.0

Or did I miss something?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't know. Asked here ( numba/numba#5929 (comment) ).

That said, this is just in the tests. So I don't think we need to worry about this too much. Hoping by the next Numba release we will be able to drop this.

@jakirkham
Copy link
Member

Thanks for the context Stuart! 😄

Went ahead and constrained NumPy to 1.18 in the tests only. Please let me know if that's a reasonable solution 🙂

@jakirkham jakirkham added the automerge Merge the PR when CI passes label Aug 14, 2020
@github-actions
Copy link
Contributor

github-actions bot commented Aug 14, 2020

Hi! This is the friendly conda-forge automerge bot!

I considered the following status checks when analyzing this PR:

  • linter: passed
  • drone: passed
  • travis: passed
  • azure: passed

Thus the PR was passing and merged! Have a great day!

@jakirkham
Copy link
Member

jakirkham commented Aug 15, 2020

Windows Python 3.8 is failing as we don't have corresponding llvmlite packages ( conda-forge/llvmlite-feedstock#40 ) ( conda-forge/llvmlite-feedstock#44 ).

PPC seems to have a segfault during the test suite, but only on Python 3.7 and 3.8 (3.6 appears to be fine).

numba/tests/test_parfors.py", line 150 in check_parfors_vs_others

@step21
Copy link
Contributor

step21 commented Aug 15, 2020

PPC seems to have a segfault during the test suite, but only on Python 3.7 and 3.8 (3.6 appears to be fine).

numba/tests/test_parfors.py", line 150 in check_parfors_vs_others

same for aarch64. What did you do to make it pass now for ppc?

- numpy
- tbb-devel >=2019.5 # [linux]

run:
- python
- llvmlite >=0.33.0,<0.34
- llvmlite >=0.34.0,<0.35
- {{ pin_compatible('numpy') }}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Shouldn't we use

Suggested change
- {{ pin_compatible('numpy') }}
- {{ pin_compatible('numpy') }}
# Working around an issue with NumPy 1.19.0
# xref: https://github.com/numba/numba/issues/5929
- numpy !=1.19.0

instead of adding the restriction to test/requires in https://github.com/conda-forge/numba-feedstock/pull/56/files#r470998911?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It seems it is just one niche case where it fails ( #56 (comment) ). So this seems too restrictive given that.

@jakirkham
Copy link
Member

Not sure. Maybe it was restarted?

@jakirkham
Copy link
Member

I wonder if the parfors segfault is related to issue ( numba/numba#5973 ). @stuartarchibald, do you have any insights here?

See if the segfaults on `aarch64` can be alleviated by not using `tbb`
there.
@jakirkham
Copy link
Member

I wonder if the parfors segfault is related to issue ( numba/numba#5973 ). @stuartarchibald, do you have any insights here?

Dropping tbb on aarch64 to see if this fixes the issue. Looks promising thus far.

@github-actions github-actions bot merged commit 36339a5 into conda-forge:master Aug 17, 2020
@regro-cf-autotick-bot regro-cf-autotick-bot deleted the 0.51.0_h3ad951 branch August 17, 2020 23:57
@jakirkham
Copy link
Member

Looks like that did the trick! 🎉

If there's anything we should follow up on, please let us know and we can handle it in a new PR. Thanks all! 😄

@stuartarchibald
Copy link
Contributor

@jakirkham just got to this, thanks for getting the 0.51 build out.

That the tbb backend is segfaulting is obviously not good. Recording the backtraces in case the logs go missing:

AArch64 + Python 3.8:

Backtrace:
/lib64/libpthread.so.0(raise+0x34)[0xffff90ca7850]
??:0(??)[0xffff90d1b66c]
$PREFIX/lib/python3.8/lib-dynload/../../libtbb.so.2(+0x21dbc)[0xffff88196dbc]
$PREFIX/lib/python3.8/lib-dynload/../../libtbb.so.2(_ZNK3tbb8internal32allocate_root_with_context_proxy8allocateEm+0x54)[0xffff8818dd6c]
$PREFIX/lib/python3.8/site-packages/numba/np/ufunc/tbbpool.cpython-38-aarch64-linux-gnu.so(+0x5ad0)[0xffff88138ad0]
$PREFIX/lib/python3.8/lib-dynload/../../libtbb.so.2(_ZNK3tbb10interface78internal15task_arena_base16internal_executeERNS1_13delegate_baseE+0x194)[0xffff88195494]
$PREFIX/lib/python3.8/site-packages/numba/np/ufunc/tbbpool.cpython-38-aarch64-linux-gnu.so(+0x62e0)[0xffff881392e0]
??:0(??)[0xffff7f74c0ec]
??:0(??)[0xffff7f74c1e4]
python(+0x82380)[0xaaaad0ad7380]

AArch64 + Python 3.7:

Backtrace:
/lib64/libpthread.so.0(raise+0x34)[0xffffb8a54850]
??:0(??)[0xffffb8ac866c]
$PREFIX/lib/python3.7/lib-dynload/../../libtbb.so.2(+0x21dbc)[0xffff6c76bdbc]
$PREFIX/lib/python3.7/lib-dynload/../../libtbb.so.2(_ZNK3tbb8internal32allocate_root_with_context_proxy8allocateEm+0x54)[0xffff6c762d6c]
$PREFIX/lib/python3.7/site-packages/numba/np/ufunc/tbbpool.cpython-37m-aarch64-linux-gnu.so(+0x5ad0)[0xffff6c710ad0]
$PREFIX/lib/python3.7/lib-dynload/../../libtbb.so.2(_ZNK3tbb10interface78internal15task_arena_base16internal_executeERNS1_13delegate_baseE+0x194)[0xffff6c76a494]
$PREFIX/lib/python3.7/site-packages/numba/np/ufunc/tbbpool.cpython-37m-aarch64-linux-gnu.so(+0x62e0)[0xffff6c7112e0]
??:0(??)[0xffffadfaf0ec]
??:0(??)[0xffffadfaf1dc]
python(PyCFunction_Call+0x14c)[0xaaaae198ebf4]

I wonder if the parfors segfault is related to issue ( numba/numba#5973 ). @stuartarchibald, do you have any insights here?

I'd say quite it's likely. It's not clear what the problem is there, whether it's an issue with Numba or TBB. Slightly suspect it's to do with task isolation but that's just a guess.

@jakirkham
Copy link
Member

Good point. Went ahead and attached the logs in this archive from the last failing build before dropping TBB on aarch64.

One interesting observation is that Python 3.6 avoided this issue. Not sure if we just got lucky there or if there's something notable about how Python 3.6 behaves relative to Python 3.7 and 3.8.

Thanks for taking a look Stuart! Please let us know if there's anything else you need here 😄

@jakirkham jakirkham mentioned this pull request Aug 27, 2020
3 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
automerge Merge the PR when CI passes
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants