Skip to content
esc edited this page Feb 7, 2024 · 1 revision

Numba Meeting: 2024-02-06

Attendees: FPOC (last week): Val FPOC (incoming): Kaustubh

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

Please refer to this calendar for the next meeting date.

0. Discussion

  • The Numba user survey is coming up:
  • Jim reports back on some data that they collected about dependent projects. Data is in a public S3 bucket. Plan is to discuss the data and the results during the next office hours. That is next week.
  • Discussion on NumPy 2.0 changes.
    • NEP-50 requires a type system with separate Python and NumPy scalar types.
    • Numba currently supports coercion and casting rules that allows code to be less rigidly type stable.
    • With the arrival of a new type system in Numba, should type stability be more strongly enforced? Example:
    @jit
    def foo(predicate):
        if predicate:
            x = np.int8(123)
        else:
            x = np.int16(456)
    # What is the type of `x`?
    # Current type system unifies types.int8 and types.int16 to a types.int16
    # Is this behaviour type stable?
    • Is it ok to not be able to cast between e.g. Python and NumPy type systems (even though the representation in LLVM IR is likely the same).
    • What if casting was just removed and everything had to be made stable and "cast" was achieved through constructors like int or np.int<>()? (it's currently done at lowering time by indirect lookup).

New "Ready for Review" PRs

1. New Issues

  • numba#9410 - Numba 0.59.0 Final Checklist
  • numba#9412 - debuginfo issues with parallel functions: file names are not identified
  • numba#9413 - Python 3.13
  • numba#9414 - Inconsistent support of log2
  • numba#9415 - module 'numpy' has no attribute 'typeDict' with numpy 1.24.4
  • numba#9418 - Structured array scalar slices: iadd, isub, etc, not able to compile (simple example code)
  • numba#9419 - Outdated Python support list on numba.pydata.org
  • numba#9420 - Tuple of functions (with identical signature) does not compile for CUDA
  • numba#9421 - Support for Definition of Numpy Arrays of Complex Type Within njit-ed Functions?
    • Probably the issue is trying to create arrays from lists, looks like a feature request
  • numba#9423 - guvectorize does not check contiguity, breaks indexing
    • Needs a guard to prevent people from doing this.
  • llvmlite#1028 - llvmlite 0.42.0 Checklist
  • llvmlite#1030 - Symbol not found when building on arm64 platform macOSX
    • Incompatible C++ runtime
    • Homebrew LLVM is a mess
    • Maybe try unsetting the flags
  • llvmlite#1031 - Add flag to IRBuilder.if_else to control whether an "endif" block should be created

Closed Issues

2. New PRs

  • numba#9416 - Add math.log2 support
  • numba#9417 - Add np.log* bindings for CUDA
  • numba#9422 - Implement ndarray.byteswap
    • Contribution looks good, should probably be reviewed

Closed PRs

3. Short-term Roadmap

2024-gantt: TBD 2023-gantt: https://github.com/numba/numba/issues/8971

Clone this wiki locally