Skip to content
Valentin Haenel edited this page May 26, 2020 · 1 revision

Numba Meeting: 2020-05-26

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

0. Feature Discussion

  • CoC Draft discussion:
  • RC1 release
    • pending LLVM9 buildfarm
    • error message improvement, inliner, entry-points features
    • reintroduce refct pruner pass with very conversative checking
  • Review current cycle: 4 weeks devs + 2 weeks burndown
    • keep doing for another cycle
    • this cycle is unusual due fallout from prev release
    • burndown is good
  • Performance measure
    • context: avoid major regression related to removing refcount pruner
    • performance testing using buildfarm and post to the PullRequest
    • also to think about:
  • Hameer interested to work on https://github.com/numba/numba/issues/5750

1. New Issues

  • #5746 - Significant performance regression for datashader in numba 0.49.x
    • try to reintroduce the pruner but make it very strict to the situation that it would apply
  • #5744 - Issue with vectorize for GPU
  • #5743 - Encountered weird drop in performance when running a function
  • #5742 - Runtime measurements
  • #5739 - Bug using += (Add AND) with matrix transpose
    • likely overwritten same memory
  • #5736 - np.isnan for np.datetime64 (numpy 1.18)
  • #5735 - failure to use Prange with @njit(parallel=True) on loop which can be parallelised
    • need fix in array_analysis
  • #5731 - Bug? Variable np.searchsorted side argument
  • #5730 - Using jitclass with types.List of array results in TypingError
    • we should fix by implementing types.int64[:]
  • #5728 - Var error in parfors step
    • there's a WIP fix
  • #5727 - complex power fails with cuda
  • #5726 - jitclass doesn't respect ndarray.flags.writeable flag
  • #5723 - Overload float(), int() and str() to do number <-> string conversion
  • #5720 - vectorize(target="parallel") breaks type resolution

Closed Issues

  • #5737 - Numba CUDA kernel very slow compared to CuPy fuse

2. New PRs

  • #5745 - CUDA stream callbacks and async awaitable streams
  • #5741 - CUDA: Add two-argument implementation of round()
  • #5740 - Add FAQ entry on how to create a MWR.
  • ** #5734 - Add printf and fflush
    • wonder about usecase: it's for debugging
  • #5732 - CUDA Docs: document forall method of kernels
  • #5729 - Enable dispatcher instances as 1st class function types when used in argument tuples
  • #5724 - Initialize process lock lazily to prevent multiprocessing issue
  • #5722 - Improve error messages.
  • #5721 - Fix array iterator layout.

Closed PRs

  • #5738 - Unbreak master on buildfarm
  • #5733 - Add np.isreal and np.iscomplex support.
  • #5725 - don't merge! Wip/declarative typing 4
  • #5719 - [WIP] Fix #5713: cache typed dict and list functions

3. Next Release: Version 0.50.0, RC=May 28th

  • Requests for 0.50

  • high risk stuff for 0.50.

    • Declarative typing (Siu and Stu)
      • declaring accepted types in things like @overload
      • so we can have better errmsg
      • allow overloading "contextual information"; i.e. targets (CPU, GPU), fastmath flag, exception handling
      • make sure we don't break existing @overload/@lower_builtin use cases
    • Remove macro expansion (Graham)
      • replace "macros" with standard typing/lowering; i.e. @register / @lower (@overload not yet working with CUDA)
  • llvm 9

  • plan to have first open meeting on June 4th.

  • 0.51 potential tasks

    • TypedSet
      • base on TypedDict
      • Related:

      https://github.com/numba/numba/pull/5639
    • Nested modes
    • Move SSA pass up the pipeline
      • make sure more passes can work in SSA form
    • CUDA Dispatcher / kernel interface:
      • Share machinery with CPU target (e.g. for multiple signatures, typeconv, etc.)

4. Upcoming tasks

  • Opening up the numba meeting
    • needs to approve a CoC
    • plan to have first open meeting on June 2nd.
Clone this wiki locally