Skip to content
Valentin Haenel edited this page Sep 30, 2020 · 1 revision

Numba Meeting: 2020-09-29

Attendees: Graham, Guilherme, Hameer, Pearu, Stuart, Todd, Val, Siu

0. Feature Discussion

  • Refprune status #6266

    • and potential optimisation

    fanout

    
    digraph {
        node [shape=box]
    
        A [label="A\nincref"]
        B [label="B\ndecref"]
        C [label="C\ndecref"]
        A -> B, C
        B -> D
        C -> E
    
    }
    
    • refops balanced for all outgoing edges

    draft pseudo algorithm (Siu needs to update this):

    • for each children of A as cur-node:

      • find a decref that:
        • node dominates decref
        • decref postdom cur-node
      • if not found:
        • recurse algorithm at this point
    • if decref is found for all children, prune is possible

    • Stats from python runtests.py numba/tests/test_typedlist.py

    Ran 86 tests in 79.457s
    
    refprune stats per-BB 5542 diamond 116 fanout 41 fanout+raise 223
    
    • Turn on sanitzers
    • Where the refprune pass should be inserted in the optimization pipeline?
      • inlining reveals more refops to be pruned
    • Put a level to enable which refprune subpass
      • Stuart thinks this is a good idea
  • Type annotation (TA): https://github.com/numba/numba/pull/6222

    • TA doesn't always lead to clean code
    • high verbosity
    • What does TA give us?
    • Goals of TA:
      • easier to contribute
    • Experience of TA:
      • Hameer: Helpful in sparse. Less in code that are highly generic. Depends on the code.
      • Pearu: Helpful on the user side for specifying func sigs instead of custom type system.
      • Pytorch is doing type annotations -> docstrings.
      • Hameer: not all IDEs check type annotations match up with docs etc.
      • Stuart: Can types be compounded more to decrease verbosity?

1. New Issues

  • #6274 - Changes to literal behaviour between <=0.49.0 and >=0.50.0
    • used to work for the wrong reason
  • #6273 - Numba np.zeros giving incorrect result and wierd behavior
    • weird structued-dtype error
  • #6270 - is_serialiable raises TypeError on Python 3.8+
    • Siu to look at
  • #6269 - Failed in nopython mode pipeline (step: nopython frontend)
    • very likely another llvmlite version mismatch
  • #6268 - Support fortran ordered arrays in parallel accelerator
    • feature request
  • #6264 - Caching: functions captured in closure
  • #6263 - 'CPUDispatcher' object is not subscriptable
    • user question... answered
  • #6259 - Add support for ndarray 'contains'
  • #6256 - guvectorize in-place operations work only in some cases
    • TODO: check if this is supposed to work

Closed Issues

  • #6285 - could I use the numba speed up the np.argsort ?
  • #6280 - Issues using the target keyword argument with @vectorize decorator
  • #6276 - numba advices to use cross2d but specified path is wrong
  • #6260 - Type cannot be determined when using 'if a not in b' in list construction
  • #6258 - Support string datatype declaration for numpy array creation
  • #6257 - .ptp() not @njit compilable anymore?

2. New PRs

  • #6287 - Fix #5713: cache typed dict and list functions
  • #6286 - Add np.allclose support ref. issue #4074
    • May be too involved, may not do what Numpy does, needs a closer look.
  • #6284 - Prevent cache busting by the UUID of Dispatcher
  • #6283 - Add note on how public CI is impl and what users can do to help.
  • #6279 - Add support for np.asarray_chkfinite [WIP] [need help]
  • #6278 - Improve typed list performance.
  • #6275 - Switch on SLP vectorize.
  • #6272 - Feature/swapaxes
  • #6271 - Support ndarray contains
    • need to guard against a key type mismatch? Numba checks this alreay with casting and can determine what kind of cast it is.
  • *** #6266 - Use custom LLVM refcount pruning pass

Closed PRs

  • #6282 - Remove docs on Python 2(.7) EOL.
  • #6281 - Remove numba.jitclass shim as per deprecation schedule.
  • #6277 - fix: cross2d wrong doc. reference (issue #6276)
  • #6267 - speed up a couple of really slow unittests
  • #6265 - Fix #6260
  • #6262 - Support dtype from str literal.
  • #6261 - Add np.ndarray.ptp() support.

3. Next Release: Version 0.52.0, RC=7th Oct, Final=RC+=~3weeks?

  • Requests for 0.52
    • Fast(er) typed.List/typed.Dict? Doesn't have to be in 0.52, next 3-5 months is fine.

4. Upcoming tasks

Clone this wiki locally