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

Numba Meeting: 2020-08-25

Attendees: Graham, Hameer, Stuart, Todd, Val, Siu, Ehsan, Juan, Guilherme

0. Feature Discussion

  • 0.51.1 status

  • opt-in features

    • problem: compiler feature enhancements that might be too-niche to a particular use-case, unstable, with unknown needs, or needs continual work over a longer period of time to become stable/useful.
    • examples: literal_unroll, record subtyping
    • Hameer: suggests about overall project health, and whether to accept these things at all vs. maintainence liability. It's okay if someone steps up to maintain it.
    • Siu: Have considered having champions to maintain more niche features. Balance ability to accept contributions that are "risky" or unknown use against maintainability/stability of the project.
    • Ehsan: Global causes conflicts. Config object to jit for a pipeline?
    • Graham: Additive/combine only features.
    • Siu: compose all features as passes.
    • Graham: GCC does this, ends up problematic at times, as there's interdependencies that may not always be considered.
    • Ehsan: passes would solve overload problem. Global config hack used locally, global but easier.
    • Stuart: may need multiple solution. token-marked features are easily additive, pass-based are easily additive, typing/type-inference features are difficult.
    • Hameer: context variable avoids global states and allows for decorator-like API if needed
    • Stuart: every project defines its feature-set. do we have cases that we need specific feature at, perhaps, function-level.
    • Hameer: objectable points in previous suggestion is at cross-project config conflict.
    • Parking discussion here, it's going onto Discourse.
  • Caching issue. Passing address of cfunc, it's getting hardcoded as int address, needs to be dynamic. Can cfunc be cached?

    • Current problem is can't get address of cfunc in a jit context? Make it so you can get a runtime int?
  • Functions going in with global addresses.

1. New Issues

  • #6160 - Equivalent page to "Numba Performance Tips" but for GPU targets.
  • #6159 - guvectorize with cuda target is extremely slow
  • #6158 - np.arange seems to not support dtype='datetime64[M]'
  • #6155 - Scalars returned from arrays have less attributes in numba than in numpy
  • #6144 - Dispatch performance regression for namedtuples in Numba>0.48
    • potential fix #6145
  • **** #6143 - Serialization incompatibility between Os (Windows, MacOS, Ubuntu) when loading a trained UMAP object
    • pickling was never meant for long-term storage
  • #6142 - Variable '$88setup_with.1' is not defined.
    • TODO: fix error message

Closed Issues

  • #6151 - Fix unichrseq/unicode_str comparison
  • #6149 - CUDA: GPU list frozen at import time with 0.51
  • #6138 - PicklingError while returning typed list of jitclass objects from njit function

2. New PRs

  • #6162 - Move charseq support out of init and add missing typed.list init
  • #6161 - Remove use of jit on Numba import.
    • Siu thinks we can further delay init in @jit
  • #6157 - Add pipeline_class argument to @cfunc as supported by @jit.
  • #6156 - Remove callers of reraise in favor of using with_traceback directly
  • #6154 - Try replaying failures for known failing args from an on template cache.
  • #6152 - CUDA: Provide wrappers for all libdevice functions, and fix typing of math function (#4618)
  • #6150 - CUDA: Turn on flake8 for cudadrv and fix errors
    • Graham asked about black for autoformatting
    • Stuart prefers autopep8
  • **** #6148 - Initial support for Numpy subclasses.
  • #6145 - Patch to fingerprint namedtuples.
  • #6141 - Fix #6130 objmode cache segfault

Closed PRs

  • #6153 - Fix for #6151. Make UnicodeCharSeq into str for comparison.
  • #6147 - CUDA: Don't make a runtime call on import
  • #6146 - Fix compilation slowdown due to controlflow analysis
  • #6140 - Replace calls to utils.iteritems(d) with d.items()
  • #6139 - Use direct syntax instead of the add_metaclass decorator
  • #6137 - Remove references to Python 2's long

3. Next Release: Version 0.52.0, RC=?, Final ?

  • 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