Minutes_2020_05_19
Valentin Haenel edited this page May 19, 2020
·
2 revisions
Attendees: Siu, Stu, Todd, Pearu, Aaron, Hameer, Guilherme, Val
-
#5609 Jitclass infer spec from type annotations
- Need to form opinions in next few weeks.
- PR changes:
- extended typeof to support typing generics
- jitclass can do:
@jitclass class Counter: x: int def __init__(self): self.x = 0 @property def count(self) -> int: return self.x def inc(self) -> int: self.x += 1 return self.x
- Note:
- extension to regular function
- cartesian product problem for describing types in signatures
- can it be inferred at the call site? (separate problem)
- would make writing jitclass spec easier
- TODO slightly unrelated. Jitclass ctor infer from callsite
- start discussion thread with Hameer
- TODO cont' discuss
- CoC Draft discussion:
- Current draft: https://github.com/numba/numba-governance/blob/draft/code-of-conduct.md
- Adapted from https://github.com/pandas-dev/pandas-governance/blob/master/code-of-conduct.md
- NOTE:
- make sure we have a private googlegroup
- TODO:
make PR for CoC document- review https://github.com/numba/numba-governance/pull/1
- Email core devs to get approval.
- Potential way through TBB nested threading problem
- complicated, worth a try
-
#5715 - Implement
in
/operator.contains
consistently. - ** #5713 - List() and Dict() always recompile _getitem,_setitem, _length, etc. every time; maybe should cache?
- important performance issue
-
#5712 - Greater support of thread specific arrays
- could be quick fix to remove guard that prevent returning arrays in device function
-
#5708 - libnvvm segfault compiling this kernel
- 2 args
round()
not supported in NVVM - we should stop emitting on 2 args
round()
- 2 args
- #5706 - Please add support for Metal as GPU accelerator
- **** #5703 - Nested tuples with numba.prange cause LoweringError
- discussion:
- should not continue to patch for nested tuples
- plans to remove gufunc
- discussion:
- #5698 - BUG: AssertionError: Failed in nopython mode pipeline (step: convert to parfors). Invalid reduction format. (Error with parallel=True)
- **** #5696 - Too slow jit compilation of a function
- parfor takes >50% of time in ~3 min compilation
- how to speed it up?
- complex CFG graph; time spent a lot in computing CFG; parfor passes also does a lot of CFG computing.
- discussed caching analysis passes
- discussed "enforcing"/"strict" mode to do expensive checks in Numba IR integrity.
- #5693 - Issue boxing tuple of dispatcher
- #5710 - CUDA Matrix Multiplication Code failing with ConstantInferenceError
- #5691 - Doesn’t work outright on latest Centos from Google cloud compute
- #5718 - CUDA lib path tests: unset CUDA_PATH when CUDA_HOME unset
- ** #5717 - Initialise Numba extensions ahead of any compilation starting.
-
#5716 - Docs: Add example usage of List.empty_list
- prefer to make
List(dtype=intp)
-
List.empty_list
will be deprecated soon
- prefer to make
- #5714 - Fix bug in test
-
#5711 - Division with timedelta input
- bigger picture problem: unit logic in numpy have changed in time
- #5709 - [WIP] Refactoring of cuda.jit and kernel / dispatcher
- #5707 - [WIP] refactoring np.argmax with overload
- #5705 - A fix for cases where SSA looks like a reduction variable.
- #5702 - Fixes for LLVM 9
- #5701 - Wip/declarative typing 2
- **** #5700 - Make it easier to understand type inference: add SSA dump, use for DEBUG_TYPEINFER
- discussion: getting too many flags?
-
#5699 - Implement np.split and np.array_split
- TODO: comment on use of typedlist; prefer reflected list for now
- #5719 - [WIP] Fix #5713: cache typed dict and list functions
- #5704 - CUDA Eager compilation: Fix max_registers kwarg
- #5697 - Fix usedef issue with parfor loopnest variables.
- #5695 - Fix usedef issue with parfor loopnest variables.
- #5694 - Skip part of slice array analysis if any part is not analyzable.
-
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
- declaring accepted types in things like
- Remove macro expansion (Graham)
- replace "macros" with standard typing/lowering; i.e.
@register
/@lower
(@overload
not yet working with CUDA)
- replace "macros" with standard typing/lowering; i.e.
- Declarative typing (Siu and Stu)
-
llvm 9
-
plan to have first open meeting on June 4th.
-
0.51 potential tasks
- TypedSet
- base on TypedDict
- 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.)
- TypedSet
- Opening up the numba meeting
- needs to approve a CoC
- plan to have first open meeting on June 2nd.