Minutes_2022_11_15
esc edited this page Nov 15, 2022
·
1 revision
Attendees: Val, Graham Markall, Ianna Osborne, Jim Pivarski, Matthew Murray, Shannon Quinn, Todd A. Anderson, Siu Kwan Lam, Luk, Andre Masella, stuart, FPOC (last week): Andre FPOC (incoming): Siu
NOTE: All communication is subject to the Numba Code of Conduct.
Please refer to this calendar for the next meeting date.
- [Done in triage] review dynamic exception PR: https://github.com/numba/numba/pull/8134
- #8525 (stuart)
- specifically, thoughts on whether the Data-Model Manager (DMMs) should be target based and if a
'generic'
target DMM should exist. - There's only one DMM and for historical reasons it's only been for CPU.
- The current patch tests out the idea of chaining a new DMM for a specific target on top of the CPU one for CUDA.
- In reality, are they mostly generic? Probably... yes.
- Is there going to be an issue with e.g. float16 between ARM (aarch64) and x86?
- Maybe the differences are handled at the LLVM level already (on newer LLVMs).
- Conclusion is to try out this idea/patch on a separate PR. There are concerns about model registration and how to handle that on a per target basis, is some new API needed as part of the target extension API to help with that?
- specifically, thoughts on whether the Data-Model Manager (DMMs) should be target based and if a
- #8493 (stuart)
- specifically thoughts on the re-export of
numba.core.extending
API withpartial
over some specific target.- Comments on whether to re-export or be explicit about the target.
- Siu: in favour of being explicit (others are in favour too).
- specifically thoughts on the re-export of
- Should we start moving to have
numba.cpu
for stuff which is just CPU? (stuart)-
core
for generic compiler stuff -
cpu
for cpu specific; e.g. libm math apis -
nrt
could one day work for non-cpu; so are many things in core that can become more generic - a lot of
numpy.linalg
support shouldn't be in core -
core
has too much code. hard to find things -
Conclusion:
- Stuart to start putting new math lib code into
cpu
,cuda
, subpackage
- Stuart to start putting new math lib code into
-
-
np.ma
support (stuart)- asking if anyone has use for it. known to be needed in climate science. there's a recent request for its support.
- interesting challenges in implementation of masked array
- getitem to handle mask
- other ndarray operation should be able to work with minimal changes
- interesting as a validation to Numba's ability make array subtypes and reuse code
- Luk: targeting arrow. arrow uses mask
- Siu: Is Arrow a better choice for masked-array like support for the future?
- Graham: CUDA array interface as a place for describing masking.
- Cache invalidation PR (#8396) update (Luk)
- PR is ready!
- Supported:
- normal dispatchers, overloads, cfuncs, ufuncs
- Limitations
- lowlevel API, functions with
inline='always'
,guvectorize
, anything involvingParfors
.
- lowlevel API, functions with
- Stuart: Limitations are clear and easy to explain
- Luk: invalidation behavior is on the safe sound. Moved files will be invalidated.
- Stuart: dealing with one hard problem at a time is a good approach. Handling potential moves of the packages files that invalidate the cache can be handled at a later time.
- #8558: [Unicode] support int(str, base=10)
- #8586 - np.kron behaves differently when compiled with numba
- #8589 - Deal with masked array
- #8591 - performance issue with F-order array
-
#8596 - Classes with
__enter__
and__exit__
methods, andjitclass
decorator can't be used as context managers. - #8599 - Numba event mechanism is recording seconds as microseconds?
- #8584 - Cannot import Numba Android ARM64 Termux
- #8585 - migrate cmath.exp to use overload
- #8590 - Py3.11 support continues
- #8594 - Fix various CUDA lineinfo
- llvmlite#890 - [CI Testing Only] Testing/pr830
- merged - #8587 - Remove unused refcount removal code, clean
core/cpu.py
module. - merged - #8588 - Remove lowering extension hooks, replace with pass infrastructure.
- merged - #8592 - fix failure of test_cache_invalidate due to read-only install
- merged - #8593 - Adjusted ULP precesion for noncentral distribution test
- #8595 - [CI Testing Only] Py3.11ci
- merged - #8597 - Prevent use of NumPy's MaskedArray.
- merged - #8598 - Setup Azure CI to test py3.11