Minutes_2020_09_29
Valentin Haenel edited this page Sep 30, 2020
·
1 revision
Attendees: Graham, Guilherme, Hameer, Pearu, Stuart, Todd, Val, Siu
-
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
- find a decref that:
-
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?
- Hameer: Helpful in
-
#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
raisesTypeError
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
- user suggested fix: https://github.com/numba/numba/pull/6284
-
#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
- #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?
- #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
- #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.
- Requests for 0.52
- Fast(er)
typed.List
/typed.Dict
? Doesn't have to be in 0.52, next 3-5 months is fine.
- Fast(er)