Skip to content
esc edited this page May 3, 2023 · 1 revision

Numba Meeting: 2023-05-02

Attendees: Siu Kwan Lam, Val, Andre Masella, collison, dipto, Graham Markall, Guilherme, Kaustubh, Minjie Wang, Neo, stuart, Todd A. Anderson FPOC (last week): Val FPOC (incoming): Graham

NOTE: All communication is subject to the Numba Code of Conduct.

Please refer to this calendar for the next meeting date.

0. Discussion

  • numba 0.57.0 and llvmlite 0.40.0 release finalizing
    • Projects have been tagged
    • Waiting on artifacts
      • Tagged versions of conda packages uploaded to anaconda.org
    • Wheels still missing
      • Need uploading after the meeting
    • conda-forge not sure about SVML patches, but yes they need to be applied
  • Updates from the subprojects
    • Numba RVSDG
      • Siu working on interface between Numba-RVSDG library and Numba itself
      • Good progress in general in last 2 weeks
    • NIL
      • Not much progress due to release
      • Priority is to focus on RVSDG first
    • PIXIE
      • Output format and tooling for self-describing libraries including bitcode and specific versions of functions
      • Target for the new AoT compiler and Numba internal use
      • Also no recent progress due to release process
  • [#7980] https://github.com/numba/numba/pull/7980 (Siu)
    • How to spell signature with default argument?
    • Asking uses to spell with Omitted / Optional in a string signature is unusual, so some design / thought is required.
    • PR got stuck at review due to other overriding priorities.
    • If there is interest in this an offline discussion / PR discussion would be doable.
    • Discourse thread forthcoming.
  • 0.57Rc1 milestone still has 34 open things in it.
  • Document how many Python / NumPy releases we are going to support at a time.
    • Needs a better policy, because it's random right now
      • In practice, 4 Pythons (3.8-3.11 now) and 4 NumPys (1.21-1.24 now)
    • Follow NEP29 which dicates which NumPy versions are supported and when versions go EOL
    • Numpy 2.0 is coming, so this needs an answer soonish
    • There may be more subtle details, such as type-systems, RVSDG uses, compiler pipeline changes, do we backport fixes for older NumPys, is compiler support uniform?
      • Example: split between Python and NumPy scalars may be implemented only in the new pipeline, so perhaps NumPy 2.0 could only be supported in the new pipeline (hypothetically)
      • Requires further consideration / iteration / discussion.
  • How to do runtime array aliasing check? (Todd)
    • Parfors currently has an issue where multiple slices can alias and inplace updates on one of them has unintended side effects on another
    • Could a runtime alias check be inserted to catch this scenario and abort / error?
    • Siu: there is no whole internal alias check
    • Stu: there are some parts of the solution, (extents_may_overlap()) in numba/numpy/arrayobj.py.
    • Todd: is this an implementation of NumPy's may_share_memory()?
      • No, it's an independent more naive implementation
    • PR #3908 has a copy of an implementation of may_share_memory(): https://github.com/numba/numba/pull/3908.
  • Merge [#8854]? https://github.com/numba/numba/pull/8854 (Mingjie)
    • Some docs for ParallelAccelerator development are needed, but not necessary to hold up this PR
    • Do we need a test for this?
      • No test at the moment, it would be difficult to test correctness.
    • To be marked as Ready to Merge
  • Neo:
    • Previously requested assistance / mentoring on Numba
    • Assistance still required
    • Could post on Numba Discourse Group: https://numba.discourse.group
  • Numba on Mastodon: https://fosstodon.org/@numba

New "Ready for Review" PRs

ISSUES/PR TBD

1. New Issues

  • numba#8919 - Make is so that nothing is compiled in the process of listing the available tests.
  • numba#8920 - Migrate code base towards objmode fallback removal
  • numba#8921 - Numba 0.57.0 Checklist
  • numba#8923 - CUDA Vectorize appears to induce spurious device-to-host copies even with all inputs on device
  • numba#8926 - Numba cache files don't get invalidated with Python cache files
    • Suggest to turn off the caching during development
    • Read the docs on limitations of caching, both user-docs and developer docs
    • suggest to use luk's patch https://github.com/numba/numba/pull/8396
    • Suggest to use a git-hook during development to prune the cache
    • Ask luk-f-a to perhaps comment on this issue
  • numba#8931 - non-deterministic NaN values in scipy.integrate.solve_ivp when compiling function with numba
    • Seems an odd issue
    • It may be due to pip packages because of the load chain, might be worth trying anaconda
  • numba#8933 - Replace deprecated imp module with importlib
    • Will need to be done for 3.12
    • Need a label on GH for 3.12
  • numba#8934 - jitclass reflected dunder methods do not work in a njit function
    • Update docs with limitation
    • Proper fix needs 6 months of full-time engagement
  • llvmlite#937 - llvmlite 0.40.0 Checklist

Closed Issues

  • numba#8928 - guvectorize raises deprecation warning even if nopython=True is passed

2. New PRs

  • numba#8927 - Add a Numba power-on-self-test script and use in CI.

Closed PRs

  • merged - numba#8922 - Cherrypicks for 0.57 final
  • merged - numba#8924 - Change llvmlite version pinning.
  • merged - numba#8925 - Update release checklist template
  • merged - numba#8929 - Update CHANGE_LOG for 0.57.0 final.
  • merged - numba#8930 - Fix year in change log
  • merged - numba#8932 - Fix 0.57 release changelog
  • merged - numba#8935 - Cherrypick for 0.57 final release
  • merged - llvmlite#938 - Cherrypicks for release 0.40.0 final
  • merged - llvmlite#939 - Bump llvmdev build number to include the nozlib change for windows
  • merged - llvmlite#940 - Update CHANGE_LOG for 0.40.0 final.
Clone this wiki locally