Numba Activity Newsletter, March 2024

Editor for this month @kc611

What happened:

  • The Numba Community Survey for 2024 has officially wrapped up, and we want to extend our sincere thanks to everyone who participated. We’re excited to share that the results, along with a detailed analysis, are now available for you to explore at the following link: Numba User Survey 2024 Results.
    Your input is incredibly valuable and will play a crucial role in shaping the future direction of Numba. We truly appreciate your ongoing support, which continually strengthens Numba’s capabilities for our entire user community. Keep an eye out for more updates as we strive to make Numba even better.

  • Excited to announce a significant development regarding Numba’s compatibility with NumPy 2.0. Thanks to the collaborative efforts of @kc611, @stuartarchibald, and @sklam, Numba is now binary compatible with NumPy 2.0, ensuring source-level compatibility with both NumPy 1.x and 2.0 versions. Additionally, our buildfarm is now actively producing and testing packages compiled against NumPy 2.0 on both NumPy versions (1.x and 2.0). These changes merged in main branch with PR Numba#9466 and is scheduled to be a part of 0.60.0 release. Users should note that while we support most of NumPy 2 functionality, we don’t guarantee NumPy 2 type semantics (NEP-50) just yet.

  • On a related note, NumPy has opened an issue page (Issue NumPy#26191) to track whole ecosystem compatibility with NumPy 2.0. If you are using projects listed there (like Numba!), it’s probably worth being aware of their compatibility state!

  • We are pleased to announce the immediate availability of Numba 0.59.1 – this is a patch release that fixes a few bugs and performance issues with 0.59.0. Users can take a look at the release notes to see a list of all the changes.

  • Numba prioritises performance, hence as a step towards having a permanent benchmark suite and to assess performance changes across the changes being made regularly, @sklam made it so that Numba’s test suite runner can now emit JUnit style XML output and also test timings; this change has been merged and is now active: PR Numba#9436

  • Numba’s CPython and NumPy implementations of various core mathematical functions were being derived from a single common implementation; which prevented specialised changes from being made in either implementation. These were duplicated by @kc611 and made logically separate to help with NumPy 2.0 work: PR Numba#9437

  • Big announcement from llvmlite! @yashssh submitted patches so that llvmlite will now compile against LLVM 15: PR llvmlite#1035

  • A long term coverage issue with Numba was that compiled code within the repository wasn’t being picked up by generic coverage tools. @sklam opened a PR the implements compile time coverage reporting of compiled code: PR Numba#9508
    This will be a great help to further enhance our test suite and make sure we’ve got acceptable coverage stats during testing.

  • @stuartarchibald completed the work to enable Python 3.12+ sys.monitoring events in Numba’s dispatcher, it is now under review: PR Numba#9482

  • @guilhermeleobas’s PR which added math.log2 support for the CPU target has been merged: PR Numba#9416

Ongoing:

  • Numpy 2 support work continues on a feature branch: feature/np_2
    @kc611 is continuing NumPy 2.0 support work in the form of trying to split the type system to have separate Python and NumPy types at Numba#9513
    Have a look at this Discourse announcement for further details on why these changes are necessary and how they will affect you as a user.

  • @stuartarchibald is working on a ufunc implementation overhaul to make it possible to exactly replicate NumPy 2.0’s NEP-50 behaviour and execution semantics.

  • Following patch support for LLVM 15 being merged into llvmlite, @sklam is working on upgrading Numba and llvmlite to use LLVM 15 by default.

Meeting/FPOC schedule for this month (April 2024):

  • Public meeting: 2024-04-02

  • Office hours: 2024-04-09, 2024-04-16 (EU hours), 2024-04-23, 2024-04-30

  • FPOC (first port of call) duty rota, this is the maintainer who will respond to tickets/issues/PRs during the noted week and run the office hours/public meeting at the end of the week:

    • 2024-04-02 @gmarkall
    • 2024-04-09 @sklam
    • 2024-04-16 @stuartarchibald
    • 2024-04-23 @esc
    • 2024-04-30 @kc611

Thanks for reading! Have a nice day :smile:

5 Likes

Thank you for the newsletter @kc611 ,
Numba seems to have a roadmap for major tasks, but the public version may or may not be up to date.
Here’s the link for reference:

It would be great if you could also share some updates on the roadmap in future newsletters.
Thanks for your effort.