Minutes_2022_12_13
esc edited this page Dec 14, 2022
·
1 revision
Attendees: Val, Andre Masella, Graham Markall, Ianna Osborne, Luk, Matthew Murray, Guilherme, stuart, Todd A. Anderson, Siu, brandon willard, Kaustubh Chaudhari FPOC (last week): Val FPOC (incoming): Andre
NOTE: All communication is subject to the Numba Code of Conduct.
Please refer to this calendar for the next meeting date.
- 3.11 support via numba-hatchery (val)
- In progress, should be done this week.
- Issue tracking is #8667
- Move C code to use heap types instead of static types? From #8669.
- we have values initialized statically, but that makes assumptions about the Python interpeter's internal structures that wrong
- could provide a function that creates them, but potentially wasteful and may break some C code that assumes pointer for type equal
- could use
g_once_init
strategy from Gtk+ that uses a horrible macro to only initialize a value once, dynamically, and then hand out copies
- 0.57 RC date?
- Probably first or second week of February (pending package availability).
- LLVM 14 issues are not a blocker
- RNG Generator
fma
issues (stuart), xref #8232:- Background... on some architectures (e.g. M1) NumPy compiled binaries use
fma
instructions in the RNG module, Numba by default does not generate these instructions (needfp-contract
enabled). - It seems like large (1000s of ULP) mistmatches can occur in some distributions, particularly those where there's a cumulative effect.
- Is it likely/possible that use
fma
instructions could "alter" programs/properties of programs (should be no!? programs should be designed against this). - Should users be warned that on some architectures NumPy/Numba RNG "sequences" could be quite different (1000s of ULPs). Docs warning vs. runtime?
- possible to have a distribution that would be affected, but unclear if that is very unlikely or not
- we should notify NumPy about this
- change the test for the ULP level on the M1
- Clang 14 set fp-contract=on according to https://discourse.llvm.org/t/fp-contraction-fma-on-by-default/64975
- Background... on some architectures (e.g. M1) NumPy compiled binaries use
- Removal of
mk_unique_var
#8323 (stuart)- desire to use scopes to generate unique variable names, but parfors scopes are tricky
- no contract for how scopes work when generating new code and this can lead to collisions in names
-
#8646 - cannot infer type of empty numpy array in local scope of jitclass, although explicitly given.
- low priority; not actually a jitclass issue
- #8647 - [ANN] Winter break 2023---reduced availability from Dec 17 - Jan 8
-
#8652 - Segfault in
@njit(parallel=True)
-decorated function- probably mostly(?) a parfors problem and incorrect assumptions about integer domains
-
#8653 - Multidimensional arrays made with np.array(dtype=complex128) are broken
- related to a reflected list problem that may not be fixable
- assertion in generated code should be improved to help users undertand problem
-
#8654 - literal_unroll with empty iterables
- not critical given there exists a path to avoid
-
#8657 - Check test shards do not accidentally overlap
-
test_azure_config
covers this with new tests?
-
-
#8658 - [FEA] Add Support for linking C/C++ with
@numba.jit
functions -
#8664 - Caching fails when default argument value is nan
- NaN inequality strikes again
- #8665 - Lowering Error
- #8667 - Create Dockerfile to allow easy access/testing of Numba with Python 3.11 support
-
#8650 - Split up parfor pass
- to be abandoned; will close
-
#8655 - Support
Optional(...)
in Typed List- could be done, but performance is a problem?
-
#8656 - Testhound/fp16 cpu operators
- waiting for more implementation
-
#8659 - Preserve module name of jitted class
- Siu to review
-
#8661 - Make external compiler discovery lazy in the test suite.
- not required since not the root problem
-
#8662 - Add support for
.nbytes
accessor for numpy arrays- old API
-
#8663 - Add
.tobytes()
method for Numpy arrays- old API; should be fixed
-
#8666 - Updates for Python 3.8 baseline/Python 3.11 migration
- helping to reduce diff for 3.11
- llvmlite#896 - drop upper limit on Python for conda recipe