Skip to content

Merge py3.11 branch to main - #8822

Merged
sklam merged 120 commits into
numba:mainfrom
sklam:enh/merge_py3.11
Mar 21, 2023
Merged

sklam merged 120 commits into
numba:mainfrom
sklam:enh/merge_py3.11

Conversation

@sklam

@sklam sklam commented Mar 16, 2023 •

Copy link
Copy Markdown
Member

Based on #8814 #8831. This merges py3.11 into main.

esc and others added 30 commits August 22, 2022 15:21
This will make Numba compile against the Python 3.11 code-base and
C-level API. Note that some of the Numba functionality may not be
available as a result.
With Python 3.11 a new Bytecode has been introduced: `RESUME`.

The documentation states that:

```
RESUME has been added. It is a no-op. Performs internal tracing, debugging and optimization checks.
```

And so, this is implemented as a `NOP` (no-operation) in Numba.
…/compile-hack' and 'python3.11_partial/implement_resume' into python3.11

* python3.11_partial/version_bump:
  bump max python version

* python3.11_partial/compile-hack:
  Comment out all C-level changes

* python3.11_partial/implement_resume:
  implement new Python 3.11 opcode: RESUME
It's only used in CALL which checks if the TOS is a NULL.
Not sure why MakeFunctionToJitFunction is picking up the <listcomp> in the failing test:

- numba.tests.test_looplifting.TestLoopLiftingInAction.test_lift_listcomp_block0
test_withlifting tests report errors=31, skipped=2, expected failures=2 out of 68 tests.
A lot of the tests are failing due to cloudpickle incompatibility.
# Conflicts:
#	numba/core/interpreter.py
failng test numba.tests.test_parfors.TestParforChunksizing.test_all_iterations_reset_chunksize
@sklam
sklam force-pushed the enh/merge_py3.11 branch from 2f31f60 to b9b0068 Compare March 20, 2023 23:15
@sklam
sklam force-pushed the enh/merge_py3.11 branch from e318750 to c9562c3 Compare March 21, 2023 16:04
@sklam

sklam commented Mar 21, 2023 •

Copy link
Copy Markdown
Member Author

Notes for reviewer:

  • df76454 merge py3.11 onto main. py3.11 branch changes to buildscripts are ignored. Commands roughly equal to:
    git merge origin/py3.11
    git checkout origin/main buildscripts azure-pipelines.yml
  • 1fb49d3 undo an expectedFailure due to temporary CI config changes on py3.11 branch
  • fff30e1 update the CI to include python=3.11.

@sklam
sklam marked this pull request as ready for review March 21, 2023 16:09
@sklam
sklam requested a review from stuartarchibald as a code owner March 21, 2023 16:09
@sklam
sklam force-pushed the enh/merge_py3.11 branch from c9562c3 to fff30e1 Compare March 21, 2023 16:32
@stuartarchibald

Copy link
Copy Markdown
Contributor

Notes for reviewer:

Thanks for these notes, much appreciated.

* [df76454](https://github.com/numba/numba/commit/df76454a1eeb88c80ee77df8e2a0a925f80fb397) merge branch `py3.11` onto `main`. `py3.11` branch changes to buildscripts are ignored. Commands roughly equal to:
  ```shell
  git merge origin/py3.11
  git checkout origin/main buildscripts azure-pipelines.yml
  ```

Locally I've taken main as of 07f824e and have merged py3.11 into it as of c4168f1, then have done:

git checkout <main branch> -- buildscripts azure-pipelines.yml

and have committed the result. This to create a commit series that merges the 3.11 work with main but retains the state of the buildscripts and azure-pipelines.yml as on main. The diff of this committed result and df76454 as of this PR is empty which suggests it is as expected.

* [1fb49d3](https://github.com/numba/numba/commit/1fb49d3ad3cd59b05ded3ac4cc37d135e5d12ebd) undo an expectedFailure due to temporary CI config changes on `py3.11` branch

Seems correct.

* [fff30e1](https://github.com/numba/numba/commit/fff30e16b8f667b832e883638a3f5b227ea1e8e6) update the CI to include python=3.11.

Seems correct. The CI matrix will probably need some further adjustment, as will general build configuration, but not for this PR as it seems out of scope.

@stuartarchibald

Copy link
Copy Markdown
Contributor

RE build failures.

@stuartarchibald stuartarchibald left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Thanks for the PR @sklam, great to see the Python 3.11 branch merged to main. This is approved with knowledge of known test failures #8822 (comment). The validity of this merge was checked through #8822 (comment), it appears to be as expected.

@stuartarchibald stuartarchibald added 4 - Waiting on CI Review etc done, waiting for CI to finish Effort - medium Medium size effort needed 5 - Ready to merge Review and testing done, is ready to merge and removed 2 - In Progress 4 - Waiting on CI Review etc done, waiting for CI to finish labels Mar 21, 2023
@sklam
sklam merged commit 86256e6 into numba:main Mar 21, 2023
@sklam sklam added this to the Numba 0.57 RC milestone Mar 21, 2023
@sklam
sklam deleted the enh/merge_py3.11 branch March 21, 2023 18:51
This was referenced Mar 21, 2023
bcdarwin added a commit to bcdarwin/nixpkgs that referenced this pull request Oct 14, 2023
Python 3.11 support was merged in numba/numba#8822
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

5 - Ready to merge Review and testing done, is ready to merge Effort - medium Medium size effort needed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants