Skip to content
esc edited this page Oct 11, 2022 · 1 revision

Numba Meeting: 2022-10-11

Attendees: Siu Kwan Lam, Andre Masella, Benjamin Graham, brandon willard, Graham Markall, Guilherme, Jim Pivarski, LI Da, Luk, stuart, Todd A. Anderson, Val, Shannon Quinn FPOC (last week): @sklam SCRIBE (FPOC next week): @guillherme

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

Please refer to this calendar for the next meeting date.

0. Discussion

  • #8483 - CUDA: Tuples of CAI exporters that aren't Numba device arrays are not recognized by typing (Graham)
    • Long discussion in triage meeting. Suggested fix is to update typeof etc to do a "class"->impl based dispatch (as present now), and also add a "protocol"->impl based dispatch (new) to handle the use case above and also incorporate existing "protocol"-like things such as cffi, buffers and _numba_type_.
  • Question about Python frontend work done by Val -- Guilherme
    • Val: Update will be presented near the end of the month/early next month. Main aim is to restructure and regularise the CFG derived from the Python bytecode.
    • Guilherme expressed interested in making some optimization passes run a bit faster.
    • Siu: the RDSVG form has some properties which are very useful in terms of reducing analysis necessary for Numba's needs. Control flow is implicit, 3 kinds of regions, linear code, loop, if-else/switch. Loop opt is simplified (as it's a data dep graph), hoisting etc is easy, loops are pretty much rotated, SSA is implicit. Tail loop regions lead to loops that will always execute.
    • Paper: https://dl.acm.org/doi/pdf/10.1145/2693261
    • Work is expected to land in Q2/2023
    • Motivation for this work in frontend is that it makes it more robust against changes in the CPython bytecode.
  • CUDA array interface - Stuart (summary of discussion on #8483 above)
    • Some objects can exports a __cuda_array_interface__
    • To work with Numba, these objects needs to be registered in the typeof map. One solution would be to add CUDA target specific code in typeof.py
  • Stencil
    • Maintanence problem with stencils:
      • Current tests require Python 3.7 AST
      • Two different implementations: one for @jit and another when parallel=True
    • If Numba drops 3.7, it will miss all the stencil specific tests
    • Presented options for handlind stencils:
      • Migrate all Python 3.7 specific tests to Python 3.8
      • Collect all tests
      • Move stencils to numba-extras repo
    • Todd asked why Numba has to use AST to generate tests and not write regular python tests?
      • Stuart said we would have to write ~128 tests by hand and every single one have very specific characteristics.
    • Jim suggested using https://github.com/rocky/python-uncompyle6 or ast.unparse in Python 3.9+
    • Siu suggested generating source code from AST (going to do this)
  • < add your topic here > -- < your name >

1. New Issues

  • #8487 - Not compatible with onetbb-2021.6.0
  • #8488 - Add advanced performance "tricks" page/notes to the docs or as a notebook
  • #8489 - test failure in numba.tests.test_mathlib.TestMathLib test_ldexp on ppc64el architecture.
  • #8492 - scalar ufuncs that have equivalents in the math module are not supported, but docs claim they are.
  • #8497 - List is considered as array

Closed Issues

2. New PRs

  • #8491 - Added support for multidimensional array indexing
  • #8493 - Removes context.compile_internal where easy
  • #8494 - Remove context.compile_internal where easy on numba/cpython/cmathimpl.py
  • #8495 - Removes context.compile_internal where easy on numba/cpython/listobj.py
  • #8496 - Rewrite most of the set API to use overloads
  • #8499 - Deprecate numba.generated_jit

https://github.com/numba/numba-examples/pull/44

Closed PRs

  • merged - #8490 - Restore installing SciPy from defaults instead of conda-forge on public CI
  • #8498 - Remove _DispatcherBase._types_active_call

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

Clone this wiki locally