Skip to content
esc edited this page Apr 26, 2023 · 1 revision

Numba Meeting: 2023-04-18

Attendees: Siu Kwan Lam, brandon willard, Guilherme, Ianna Osborne, Jim Pivarski, stuart, Todd A. Anderson, Luk, Andre Masella FPOC (last week): Guilherme 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

  • Issue #8897: Replicate old generated_jit behavior on basis of overload for only-jitted variants of functions
    • generated_jit was an older less flexible version of overload and the plan was to deprecated and migrate
    • there was an unhandled case discovered after migration; if a Python function, with an overloaded stub, and you want to call it from Python, you need to provide a Python implementation; however, the Python interpreted version will be run, not the JITted version.
    • ultimately, we have deprecated something without a direct analogue
    • Options: 1) try to reimplement existing functionality, 2) say not to use it; we'd prefer to try to implement generated_jit using overload
    • One possible prototype was developed by Stuart: https://github.com/numba/numba/issues/8466#issuecomment-1274593340
      • caveats include: kwargs and using disable JIT will break in unexpected ways
      • it is unlikely to get something that will work the same and the problems are likely not fixable (and the bugs were part of the motivations for migration)
    • do we only care about the case where we can call JITed function from CPython; is that sufficient?
      • this functionality is useful elsewhere
    • what are the motivating use cases?
      • having the ability to call a complex math function from CPython and also via the JIT(?)
      • a concrete example where multiple dispatch at the CPython level
      • some boilerplate likely required
    • plan is to figure out examples for boilerplate to make this work for users without bringing back or reimplementing generated_jit and see if that satisfied everyone's needs. (Stuart)
  • xDSL (https://xdsl.dev/)
    • lots of potential uses for Numba and lots of potential contributions to xDSL from Numba
    • MLIR has a high barrier to entry due to C++ and tablegen; xDSL managed to communicate with C++ and has a much lower barrier
  • Umbrella projects (No discussion)
    • Numba-Scipy maintainers

New "Ready for Review" PRs

1. New Issues

  • numba#8891 - Error when calling nb.generated_jit from CUDA
  • numba#8894 - I cannot install numba with pip
  • numba#8897 - Replicate old generated_jit behavior on basis of overload for only-jitted variants of functions
  • numba#8898 - numba 0.57.0rc1 segfaults: missing ldexpf for np.exp2 on Windows
  • numba#8899 - Unable to install shap on python 3.11 doubt to numba cannot install on Python version 3.11.2
  • numba#8900 - 0.57.0rc1 UnsupportedError when number of keyword arguments in CALL_FUNCTION_EX is 16 or more
  • numba#8901 - IntEnum get item by value
  • numba#8903 - 0.57.0rc1 NumbaDeprecationWarning: @guvectorize even with nopython keyword argument
  • numba#8904 - IndexError and TypeError when overloading a function with keyword-only arguments

Closed Issues

2. New PRs

  • numba#8893 - Support NVRTC using the ctypes binding
  • numba#8895 - CUDA: Enable caching functions that use CG
  • numba#8902 - Enable CALL_FUNCTION_EX test for py3.11
  • numba#8905 - FIX: Add missing **targetoptions to jit in GUFuncBuilder
  • numba#8906 - Add support for reflected dunder methods in jitclass
  • numba#8907 - Add tests for reproducing issue #8898.
  • llvmlite#934 - Expose TargetLibraryInfo pass
  • llvmlite#935 - Disable zlib for LLVM on Windows

Closed PRs

  • merged - numba#8892 - Add support for *matmul methods in jitclass
  • merged - numba#8896 - Remove codecov install (now deleted from PyPI

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

Clone this wiki locally