Skip to content
esc edited this page Nov 15, 2022 · 1 revision

Numba Meeting: 2022-11-15

Attendees: Val, Graham Markall, Ianna Osborne, Jim Pivarski, Matthew Murray, Shannon Quinn, Todd A. Anderson, Siu Kwan Lam, Luk, Andre Masella, stuart, FPOC (last week): Andre FPOC (incoming): Siu

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

Please refer to this calendar for the next meeting date.

0. Discussion

  • [Done in triage] review dynamic exception PR: https://github.com/numba/numba/pull/8134
  • #8525 (stuart)
    • specifically, thoughts on whether the Data-Model Manager (DMMs) should be target based and if a 'generic' target DMM should exist.
    • There's only one DMM and for historical reasons it's only been for CPU.
    • The current patch tests out the idea of chaining a new DMM for a specific target on top of the CPU one for CUDA.
    • In reality, are they mostly generic? Probably... yes.
    • Is there going to be an issue with e.g. float16 between ARM (aarch64) and x86?
      • Maybe the differences are handled at the LLVM level already (on newer LLVMs).
    • Conclusion is to try out this idea/patch on a separate PR. There are concerns about model registration and how to handle that on a per target basis, is some new API needed as part of the target extension API to help with that?
  • #8493 (stuart)
    • specifically thoughts on the re-export of numba.core.extending API with partial over some specific target.
      • Comments on whether to re-export or be explicit about the target.
      • Siu: in favour of being explicit (others are in favour too).
  • Should we start moving to have numba.cpu for stuff which is just CPU? (stuart)
    • core for generic compiler stuff
    • cpu for cpu specific; e.g. libm math apis
    • nrt could one day work for non-cpu; so are many things in core that can become more generic
    • a lot of numpy.linalg support shouldn't be in core
    • core has too much code. hard to find things
    • Conclusion:
      • Stuart to start putting new math lib code into cpu, cuda, subpackage
  • np.ma support (stuart)
    • asking if anyone has use for it. known to be needed in climate science. there's a recent request for its support.
    • interesting challenges in implementation of masked array
      • getitem to handle mask
      • other ndarray operation should be able to work with minimal changes
    • interesting as a validation to Numba's ability make array subtypes and reuse code
    • Luk: targeting arrow. arrow uses mask
    • Siu: Is Arrow a better choice for masked-array like support for the future?
    • Graham: CUDA array interface as a place for describing masking.
  • Cache invalidation PR (#8396) update (Luk)
    • PR is ready!
    • Supported:
      • normal dispatchers, overloads, cfuncs, ufuncs
    • Limitations
      • lowlevel API, functions with inline='always', guvectorize, anything involving Parfors.
    • Stuart: Limitations are clear and easy to explain
    • Luk: invalidation behavior is on the safe sound. Moved files will be invalidated.
    • Stuart: dealing with one hard problem at a time is a good approach. Handling potential moves of the packages files that invalidate the cache can be handled at a later time.

New "Ready for Review" PRs

  • #8558: [Unicode] support int(str, base=10)

1. New Issues

  • #8586 - np.kron behaves differently when compiled with numba
  • #8589 - Deal with masked array
  • #8591 - performance issue with F-order array
  • #8596 - Classes with __enter__ and __exit__ methods, and jitclass decorator can't be used as context managers.
  • #8599 - Numba event mechanism is recording seconds as microseconds?

Closed Issues

  • #8584 - Cannot import Numba Android ARM64 Termux

2. New PRs

  • #8585 - migrate cmath.exp to use overload
  • #8590 - Py3.11 support continues
  • #8594 - Fix various CUDA lineinfo
  • llvmlite#890 - [CI Testing Only] Testing/pr830

Closed PRs

  • merged - #8587 - Remove unused refcount removal code, clean core/cpu.py module.
  • merged - #8588 - Remove lowering extension hooks, replace with pass infrastructure.
  • merged - #8592 - fix failure of test_cache_invalidate due to read-only install
  • merged - #8593 - Adjusted ULP precesion for noncentral distribution test
  • #8595 - [CI Testing Only] Py3.11ci
  • merged - #8597 - Prevent use of NumPy's MaskedArray.
  • merged - #8598 - Setup Azure CI to test py3.11

3. Next Release: Version 0.57.0/0.40.0, RC Jan 2023

Clone this wiki locally