Minutes_2020_08_25
Valentin Haenel edited this page Aug 26, 2020
·
1 revision
Attendees: Graham, Hameer, Stuart, Todd, Val, Siu, Ehsan, Juan, Guilherme
-
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.
- #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
- #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
- #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
- Siu thinks we can further delay init in
- #6157 - Add pipeline_class argument to @cfunc as supported by @jit.
-
#6156 - Remove callers of
reraise
in favor of usingwith_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
- Graham asked about
- **** #6148 - Initial support for Numpy subclasses.
- #6145 - Patch to fingerprint namedtuples.
- #6141 - Fix #6130 objmode cache segfault
- #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
- 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)