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 0.57.0rc1 Checklist #8841

Closed
41 of 44 tasks
Tracked by #500 ...
stuartarchibald opened this issue Mar 23, 2023 · 21 comments
Closed
41 of 44 tasks
Tracked by #500 ...

Numba 0.57.0rc1 Checklist #8841

stuartarchibald opened this issue Mar 23, 2023 · 21 comments
Labels
Milestone

Comments

@stuartarchibald
Copy link
Contributor

stuartarchibald commented Mar 23, 2023

Numba 0.57.0rc1

Post Release:

  • Clean up ci_artifacts by moving files to sub-directories
  • Tag 0.58.0dev0 to start new development cycle on main.
  • Update llvmlite dependency via PR to main, PR includes version updates
    to: (Bump llvmlite requirement to 0.41.0dev0 #8916)
    • setup.py
    • numba/__init__.py
    • docs/environment.yml
    • buildscripts/incremental/setup_conda_environment.sh
    • buildscripts/incremental/setup_conda_environment.cmd
    • buildscripts/condarecipe.local/meta.yaml
  • Update release checklist template with any additional bullet points that
    may have arisen during the release (Update release checklist template #8925).
  • Close milestone (and then close this release issue).
@stuartarchibald
Copy link
Contributor Author

Update for those subscribed to this ticket: as can be seen above by the list of remaining PRs to be merged from the milestone, Numba is very close to being ready to branch from main for the 0.57 release series. Unfortunately, in testing of main last night, the build farm reported an intermittent segmentation fault (segfault) in the test suite on a few of the test jobs. As a result, creating the release branch will be temporarily on hold whilst the cause of the segfault is investigated and hopefully fixed. Once resolved this ticket will be updated. Thank you for your patience and understanding.

@stuartarchibald
Copy link
Contributor Author

It took a while to isolate this segfault (#8841 (comment)), due to it taking 20 minutes to (intermittently) reproduce it. Issue #8873 tracks the problem and contains debugging and discussion. An update will be posted once a decision is made about this issue.

@stuartarchibald
Copy link
Contributor Author

Update: #8873 has been debugged, understood, and is hopefully fixed in #8879.

@stuartarchibald
Copy link
Contributor Author

Update: #8879 and #8881 were needed to fix the issue in #8873, a build and test run containing these patches was successful. The process to branch and build out the RC has started!

@OWKenobi
Copy link

OWKenobi commented Apr 6, 2023

thanks for fixing this!

from a noob point of view: how long from now on (rough estimate) till 0.57 will be available in the form of "pip install numba"? Also, will llvmlite be updated just with it?

@sklam
Copy link
Member

sklam commented Apr 7, 2023

RC1 wheels are posted. Use pip install --pre numba; or

pip install numba==0.57.0rc1
pip install llvmlite==0.40.0rc1

to get the specific versions exactly.

@sklam
Copy link
Member

sklam commented Apr 7, 2023

Conda packages are also available:

numba: https://anaconda.org/numba/numba/files?version=0.57.0rc1
llvmlite: https://anaconda.org/numba/llvmlite/files?version=0.40.0rc1

Installable with conda install -c numba numba=0.57.0rc1.

@slayoo
Copy link

slayoo commented Apr 8, 2023

FWIW, just reporting that pip install --pre numba gives us a valid installation on Linux and macOS with Pythons 3.7-3.11, while on Windows (Github Actions' windows-latest) it only works for Python 3.7, later versions seem to install OK, but when trying to import numba, there are the following errors:

   File "C:\hostedtoolcache\windows\Python\3.8.10\x64\lib\site-packages\numba\__init__.py", line 69, in <module>
    from numba.core import config
  File "C:\hostedtoolcache\windows\Python\3.8.10\x64\lib\site-packages\numba\core\config.py", line 16, in <module>
    import llvmlite.binding as ll
  File "C:\hostedtoolcache\windows\Python\3.8.10\x64\lib\site-packages\llvmlite\binding\__init__.py", line 4, in <module>
    from .dylib import *
  File "C:\hostedtoolcache\windows\Python\3.8.10\x64\lib\site-packages\llvmlite\binding\dylib.py", line 3, in <module>
    from llvmlite.binding import ffi
  File "C:\hostedtoolcache\windows\Python\3.8.10\x64\lib\site-packages\llvmlite\binding\ffi.py", line 187, in <module>
    raise OSError(msg)
OSError: Could not find/load shared object file: llvmlite.dll
 Error was: Could not find module 'C:\hostedtoolcache\windows\Python\3.8.10\x64\lib\site-packages\llvmlite\binding\llvmlite.dll' (or one of its dependencies). Try using the full path with constructor syntax.

(see: https://github.com/numba-mpi/numba-mpi/actions/runs/4645911575/jobs/8222023577?pr=46)

@sklam
Copy link
Member

sklam commented Apr 10, 2023

Thanks for the report for the windows issue and the confirmation of the issues. I'm debugging it now.

@sklam
Copy link
Member

sklam commented Apr 10, 2023

The windows issue is llvmlite specific and is very likely another case of numba/llvmlite#650.
I have tested the wheels in a windows machine but it works fine. This indicates that it is likely a dependency problem. I'm trying to get a vanilla windows to test what it's missing. My current guess is that it requires the C++ redistributable package (see numba/llvmlite#650 (comment)).

@ldeluigi
Copy link

ldeluigi commented Apr 10, 2023

I installed the C++ redistributable but the problem still occurs. Even after reboot.

@sklam
Copy link
Member

sklam commented Apr 10, 2023

On a vanilla windows with python installed from python.org, I can replicate the llvmlite error. To fix it, I need to install C++ Redistributable packages for Visual Studio 2015, 2017, 2019, and 2022 and copy a zlib.dll next to the llvmlite.dll (as mentioned in numba/llvmlite#650 (comment)). I got the zlib.dll from miniconda. For conda users, this can be fixed by conda install zlib.

@Alpengreis
Copy link

Alpengreis commented Apr 10, 2023

@sklam

Had installed the related C++ Redistrutable already. Then I copied a zlib.dll next to llvmite.dll. It still doesn't work ...

PS: Win 10 with Python 3.11.3 ...

PPS: NOW IT WORKS, tried with another zlib.dll - thank you very much!!
I took the zlib.dll in right now current 1.2.13 version from XMedia Recode Portable (64 bit) ...

@eriknw
Copy link

eriknw commented Apr 13, 2023

I am finding that numba 0.57.0rc1 segfaults on Windows when installed with pip or conda for the following:

import numpy as np
from numba import njit

f = njit(lambda x: np.exp2(x))
f(np.int8(2))

I create the environments via

conda create -n py310pip -c conda-forge python=3.10
pip install numba==0.57.0rc1

and

conda create -n py310conda -c numba -c conda-forge python=3.10 numba

I have not found any other function for which this occurs.

I discovered this when testing python-graphblas. Here's an example traceback:

LLVM ERROR: Symbol not found: ldexpf
LLVM ERROR: Symbol not found: ldexpf
Fatal Python error: Aborted

Current thread 0x00000bb0 (most recent call first):
  File "C:\Miniconda3\envs\graphblas\lib\site-packages\llvmlite\binding\ffi.py", line 152 in __call__
  File "C:\Miniconda3\envs\graphblas\lib\site-packages\llvmlite\binding\executionengine.py", line 92 in finalize_object
  File "C:\Miniconda3\envs\graphblas\lib\site-packages\numba\core\codegen.py", line 1060 in wrapper
  File "C:\Miniconda3\envs\graphblas\lib\site-packages\numba\core\codegen.py", line 999 in _finalize_specific
  File "C:\Miniconda3\envs\graphblas\lib\site-packages\numba\core\codegen.py", line 797 in _finalize_final_module
  File "C:\Miniconda3\envs\graphblas\lib\site-packages\numba\core\codegen.py", line 765 in finalize
  File "C:\Miniconda3\envs\graphblas\lib\site-packages\numba\core\codegen.py", line 567 in _ensure_finalized
  File "C:\Miniconda3\envs\graphblas\lib\site-packages\numba\core\codegen.py", line 989 in get_pointer_to_function
  File "C:\Miniconda3\envs\graphblas\lib\site-packages\numba\core\ccallback.py", line 75 in compile
  File "C:\Miniconda3\envs\graphblas\lib\site-packages\numba\core\compiler_lock.py", line 35 in _acquire_compile_lock
  File "C:\Miniconda3\envs\graphblas\lib\site-packages\numba\core\decorators.py", line 311 in wrapper
  File "D:\a\python-graphblas\python-graphblas\graphblas\core\operator\unary.py", line 235 in _build
  File "D:\a\python-graphblas\python-graphblas\graphblas\core\operator\unary.py", line 305 in register_new
  File "D:\a\python-graphblas\python-graphblas\graphblas\unary\numpy.py", line 152 in __getattr__
  File "D:\a\python-graphblas\python-graphblas\graphblas\tests\test_numpyops.py", line 83 in test_npunary
  File "C:\Miniconda3\envs\graphblas\lib\site-packages\_pytest\python.py", line 194 in pytest_pyfunc_call
  File "C:\Miniconda3\envs\graphblas\lib\site-packages\pluggy\_callers.py", line 39 in _multicall
  File "C:\Miniconda3\envs\graphblas\lib\site-packages\pluggy\_manager.py", line 80 in _hookexec
  File "C:\Miniconda3\envs\graphblas\lib\site-packages\pluggy\_hooks.py", line 265 in __call__
  File "C:\Miniconda3\envs\graphblas\lib\site-packages\_pytest\python.py", line 1799 in runtest
  File "C:\Miniconda3\envs\graphblas\lib\site-packages\_pytest\runner.py", line 169 in pytest_runtest_call
  File "C:\Miniconda3\envs\graphblas\lib\site-packages\pluggy\_callers.py", line 39 in _multicall
  File "C:\Miniconda3\envs\graphblas\lib\site-packages\pluggy\_manager.py", line 80 in _hookexec
  File "C:\Miniconda3\envs\graphblas\lib\site-packages\pluggy\_hooks.py", line 265 in __call__
  File "C:\Miniconda3\envs\graphblas\lib\site-packages\_pytest\runner.py", line 262 in <lambda>
  File "C:\Miniconda3\envs\graphblas\lib\site-packages\_pytest\runner.py", line 341 in from_call
  File "C:\Miniconda3\envs\graphblas\lib\site-packages\_pytest\runner.py", line 261 in call_runtest_hook
  File "C:\Miniconda3\envs\graphblas\lib\site-packages\_pytest\runner.py", line 222 in call_and_report
  File "C:\Miniconda3\envs\graphblas\lib\site-packages\_pytest\runner.py", line 133 in runtestprotocol
  File "C:\Miniconda3\envs\graphblas\lib\site-packages\_pytest\runner.py", line 114 in pytest_runtest_protocol
  File "C:\Miniconda3\envs\graphblas\lib\site-packages\pluggy\_callers.py", line 39 in _multicall
  File "C:\Miniconda3\envs\graphblas\lib\site-packages\pluggy\_manager.py", line 80 in _hookexec
  File "C:\Miniconda3\envs\graphblas\lib\site-packages\pluggy\_hooks.py", line 265 in __call__
  File "C:\Miniconda3\envs\graphblas\lib\site-packages\_pytest\main.py", line 348 in pytest_runtestloop
  File "C:\Miniconda3\envs\graphblas\lib\site-packages\pluggy\_callers.py", line 39 in _multicall
  File "C:\Miniconda3\envs\graphblas\lib\site-packages\pluggy\_manager.py", line 80 in _hookexec
  File "C:\Miniconda3\envs\graphblas\lib\site-packages\pluggy\_hooks.py", line 265 in __call__
  File "C:\Miniconda3\envs\graphblas\lib\site-packages\_pytest\main.py", line 323 in _main
  File "C:\Miniconda3\envs\graphblas\lib\site-packages\_pytest\main.py", line 269 in wrap_session
  File "C:\Miniconda3\envs\graphblas\lib\site-packages\_pytest\main.py", line 316 in pytest_cmdline_main
  File "C:\Miniconda3\envs\graphblas\lib\site-packages\pluggy\_callers.py", line 39 in _multicall
  File "C:\Miniconda3\envs\graphblas\lib\site-packages\pluggy\_manager.py", line 80 in _hookexec
  File "C:\Miniconda3\envs\graphblas\lib\site-packages\pluggy\_hooks.py", line 265 in __call__
  File "C:\Miniconda3\envs\graphblas\lib\site-packages\_pytest\config\__init__.py", line 166 in main
  File "C:\Miniconda3\envs\graphblas\lib\site-packages\_pytest\config\__init__.py", line 189 in console_main
  File "C:\Miniconda3\envs\graphblas\lib\site-packages\pytest\__main__.py", line 5 in <module>
  File "C:\Miniconda3\envs\graphblas\lib\site-packages\coverage\execfile.py", line 199 in run
  File "C:\Miniconda3\envs\graphblas\lib\site-packages\coverage\cmdline.py", line 830 in do_run
  File "C:\Miniconda3\envs\graphblas\lib\site-packages\coverage\cmdline.py", line 659 in command_line
  File "C:\Miniconda3\envs\graphblas\lib\site-packages\coverage\cmdline.py", line 943 in main
  File "C:\Miniconda3\envs\graphblas\Scripts\coverage-script.py", line 10 in <module>
graphblas/tests/test_numpyops.py::test_npunary 

@maxnoe
Copy link

maxnoe commented Apr 26, 2023

Not sure if this is the right place, but I just wanted to drop a note that we for a relatively large project relying heavily on numba for some hot code paths tried out the rc1 on python 3.11 and our test suite passes with that, so great work!

@sklam
Copy link
Member

sklam commented Apr 26, 2023

@maxnoe, Thank you for testing the RC.

@oyvindln
Copy link

Also FYI Ubuntu 23.04 released with a version of numba 0.56 with changes for Python 3.11 support backported. Whether it's 100% stable I don't know.

http://changelogs.ubuntu.com/changelogs/pool/universe/n/numba/numba_0.56.4+dfsg-2/changelog

@sklam sklam closed this as completed May 2, 2023
benz0li added a commit to b-data/python-docker-stack that referenced this issue May 2, 2023
- numba/numba#8841
- Remove packages libblosc-dev, libbz2-dev, libhdf5-dev, liblzo2-dev
benz0li added a commit to b-data/jupyterlab-python-docker-stack that referenced this issue May 2, 2023
- numba/numba#8841
- Remove packages libblosc-dev, libbz2-dev, libhdf5-dev, liblzo2-dev
shaneahmed added a commit to TissueImageAnalytics/tiatoolbox that referenced this issue May 3, 2023
- np.int, np.bool, np.float is depreciated in v1.20 in favour of np.int_, np.bool_, np.float_

Waiting on some dependencies to update:
- numba not yet compatible with numpy 1.24
  >   from numba.np.ufunc import _internal
  E   SystemError: initialization of _internal failed without raising an exception

   - numba/numba#8464
   - numba/numba#8691
   - numba/numba#8841
   - https://github.com/numba/numba/milestone/63

- [x] Waiting for next numba release with numpy 1.24 support.

---------
Co-authored-by: John Pocock <John-P@users.noreply.github.com>
@benz0li
Copy link

benz0li commented May 4, 2023

@numba @stuartarchibald et al.: Thank you for all the hard work.

@stuartarchibald
Copy link
Contributor Author

@numba @stuartarchibald et al.: Thank you for all the hard work.

@benz0li thank you for your kind words of support for the Numba folks, they are much appreciated!

shaneahmed added a commit to TissueImageAnalytics/tiatoolbox that referenced this issue May 5, 2023
Adds support for Python 3.11 (beta)

- [x] Add 3.11 to the GitHub Actions CI workflow.
- [x] Add 3.11 to setup.py
- [x] Update pip install workflow.
- [x] Update conda requirements python versions.


Waiting on some dependencies to update:

- [x] Shapely (closed) shapely/shapely#1584
  - PyGeos pygeos/pygeos#457
- [x] PyTorch pytorch/pytorch#86566 
    - [x] PyTorch 2.0 supports Python 3.11 
    - [ ] `torch.compile` is not fully supported yet.
- [x] Scipy 1.9.2 not supported by Scikit-image scikit-image/scikit-image#6773
- [x] numba numba/numba#8304 support https://github.com/numba/numba/milestone/63
  - [x] numba/numba#8841
- [x] OpenSlide support for Python 3.11 openslide/openslide-python#189 
  - [ ] openslide/openslide-python#188

---------

Co-authored-by: Shan E Ahmed Raza <13048456+shaneahmed@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

10 participants