Skip to content
esc edited this page Dec 14, 2022 · 1 revision

Numba Meeting: 2022-12-13

Attendees: Val, Andre Masella, Graham Markall, Ianna Osborne, Luk, Matthew Murray, Guilherme, stuart, Todd A. Anderson, Siu, brandon willard, Kaustubh Chaudhari FPOC (last week): Val FPOC (incoming): Andre

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

Please refer to this calendar for the next meeting date.

0. Discussion

  • 3.11 support via numba-hatchery (val)
    • In progress, should be done this week.
    • Issue tracking is #8667
  • Move C code to use heap types instead of static types? From #8669.
    • we have values initialized statically, but that makes assumptions about the Python interpeter's internal structures that wrong
    • could provide a function that creates them, but potentially wasteful and may break some C code that assumes pointer for type equal
    • could use g_once_init strategy from Gtk+ that uses a horrible macro to only initialize a value once, dynamically, and then hand out copies
  • 0.57 RC date?
    • Probably first or second week of February (pending package availability).
    • LLVM 14 issues are not a blocker
  • RNG Generator fma issues (stuart), xref #8232:
    • Background... on some architectures (e.g. M1) NumPy compiled binaries use fma instructions in the RNG module, Numba by default does not generate these instructions (need fp-contract enabled).
    • It seems like large (1000s of ULP) mistmatches can occur in some distributions, particularly those where there's a cumulative effect.
    • Is it likely/possible that use fma instructions could "alter" programs/properties of programs (should be no!? programs should be designed against this).
    • Should users be warned that on some architectures NumPy/Numba RNG "sequences" could be quite different (1000s of ULPs). Docs warning vs. runtime?
    • possible to have a distribution that would be affected, but unclear if that is very unlikely or not
    • we should notify NumPy about this
    • change the test for the ULP level on the M1
    • Clang 14 set fp-contract=on according to https://discourse.llvm.org/t/fp-contraction-fma-on-by-default/64975
  • Removal of mk_unique_var #8323 (stuart)
    • desire to use scopes to generate unique variable names, but parfors scopes are tricky
    • no contract for how scopes work when generating new code and this can lead to collisions in names

New "Ready for Review" PRs

1. New Issues

  • #8646 - cannot infer type of empty numpy array in local scope of jitclass, although explicitly given.
    • low priority; not actually a jitclass issue
  • #8647 - [ANN] Winter break 2023---reduced availability from Dec 17 - Jan 8
  • #8652 - Segfault in @njit(parallel=True)-decorated function
    • probably mostly(?) a parfors problem and incorrect assumptions about integer domains
  • #8653 - Multidimensional arrays made with np.array(dtype=complex128) are broken
    • related to a reflected list problem that may not be fixable
    • assertion in generated code should be improved to help users undertand problem
  • #8654 - literal_unroll with empty iterables
    • not critical given there exists a path to avoid
  • #8657 - Check test shards do not accidentally overlap
    • test_azure_config covers this with new tests?
  • #8658 - [FEA] Add Support for linking C/C++ with @numba.jit functions
  • #8664 - Caching fails when default argument value is nan
    • NaN inequality strikes again
  • #8665 - Lowering Error
  • #8667 - Create Dockerfile to allow easy access/testing of Numba with Python 3.11 support

Closed Issues

2. New PRs

  • #8650 - Split up parfor pass
    • to be abandoned; will close
  • #8655 - Support Optional(...) in Typed List
    • could be done, but performance is a problem?
  • #8656 - Testhound/fp16 cpu operators
    • waiting for more implementation
  • #8659 - Preserve module name of jitted class
    • Siu to review
  • #8661 - Make external compiler discovery lazy in the test suite.
    • not required since not the root problem
  • #8662 - Add support for .nbytes accessor for numpy arrays
    • old API
  • #8663 - Add .tobytes() method for Numpy arrays
    • old API; should be fixed
  • #8666 - Updates for Python 3.8 baseline/Python 3.11 migration
    • helping to reduce diff for 3.11
  • llvmlite#896 - drop upper limit on Python for conda recipe

Closed PRs

  • #8648 - Add overload to handle int(s: str)
  • merged - #8649 - Remove numba.core.overload_glue module.
  • #8651 - Try re-enabling involved inlining test on Python 3.8+
  • #8660 - Preserve PR #8319 commit history

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

Clone this wiki locally