Skip to content
Siu Kwan Lam edited this page Mar 21, 2023 · 1 revision

Numba Meeting: 2023-03-14

Attendees: Jim Pivarski, Graham Markall, collison, Andre Masella, Ianna Osborne, Brandon Willard, Val, Stuart, Kaustubh, Guilherme, Siu Kwan Lam, Todd A. Anderson FPOC (last week): Andre FPOC (incoming): Graham

NOTE: All communication is subject to the Numba Code of Conduct.

Please refer to this calendar for the next meeting date.

0. Discussion

  • 0.57 release prep status:
    • Numpy 1.24 (merged?)
    • LLVM14 merged
    • Py3.11 merge preparation in progress
  • LLVM 14 AArch64 blocker
    • Numba Issue #8738: LLVM14 linux-aarch64 blocker
    • LLVM Issue: #61402: RuntimeDyldELF doesn't clear GOTOffsetMap in finalizeLoad(), leading to invalid GOT relocations on AArch64
    • Patch: https://github.com/numba/numba/issues/8738#issuecomment-1467136997 - with this patch:
      • All LLVM unit + regression tests pass on AArch64 + x86
      • All Numba tests pass with Numba main and llvmlite main
    • How to proceed?
      • This is one more patch on the pile, so no change to status quo
      • Graham to make PR to add patch to llvmdev build
      • Andre to run through buildfarm
      • Ping Debian etc. maintainers
  • Should SLP be turned off again? [stuart]
    • Seems to cause failures to correctly initialize registers, involved in:
      • #8705: np.cos, np.sin, np.sqrt returning incorrect values in very specific scenarios
      • #8681: Numba crashes Python with simple function containing numpy.exp
    • Turning it off may have some performance impact, but seems to be causing some miscompiles
      • Use a/the flag to turn it on?
      • Consensus steering towards correctness over performance
  • [name=JimP]: Invitation to PyHEP.dev for coordination between Numba development and HEP (High-Energy Physics) software development. Contact pivarski@princeton.edu.
  • Can support for compiler-rt be added to the next version of llvmlite (https://github.com/numba/llvmlite/pull/909)?
    • llvmlite release cycle independent of being able to use this PR once merged.
    • Once it is merged, we'll rebuild llvmdev and it will be usable for Numba CI from then on.
    • Potential workarounds for the conda-build issue on macOS.
    • Will this enable arbitrary precision integers?
      • Possibly, would need to check what compiler-rt implements
  • Compiler plugins support in llvmlite: https://github.com/numba/llvmlite/pull/915
    • Shared lib build issues
    • llvmlite on numba channel statically linked, but dynlinked elsewhere
      • also statically linked on wheels
    • what do we really need to do to fit the goal?
      • in support of enzyme for numba
    • other option to provide a way to build passes into llvmlite
    • option: implement as is in pr but you need to link against llvm dynamically and we cant guarantee it works.
    • another (maybe not attractive) option: llvmdev package wheel with so and a small import "stub"
    • Symbol versioning also an issue
    • Possibly another option better: serialise to bitcode and run through pass externally then pipe back in

New "Ready for Review" PRs

1. New Issues

  • numba#8797 - Allow typed containers to be pickled
  • numba#8798 - Support python sortedcontainers in nopython mode
    • close. out of scope for numba.
  • numba#8799 - ImportError: cannot import name 'njit' from 'numba
  • numba#8800 - double free malloc error in generator returning reference
  • numba#8801 - CUDA: Error when linking C/C++ sources when Minor Version Compatibility is enabled
  • numba#8806 - Bug in numba recipe: zipping tuples.
  • numba#8808 - jitclass doesn't work when dict class attribute has array as value type
  • numba#8812 - <intrinsic to_fixed_tuple> is not usable in pure-python
  • numba#8813 - LLVM14 SVML causes small change in precision in test_logaddexp2_dd_d on osx
    • up the ULP to fix
  • llvmlite#912 - “Escape hatch” for maximum Python version check
    • remove max python version guard
  • llvmlite#913 - LLVM14 test suite not run on llvmdev pacakage build
  • llvmlite#914 - Support for LLVM 15.0.7
  • llvmlite#916 - cannot install llvmlite via poetry

Closed Issues

  • numba#8805 - 'numpy.dtype[float64]' object has no attribute 'is_precise'

2. New PRs

  • numba#8802 - Move the minimum supported NumPy version to 1.21
  • numba#8803 - Attempted fix to #8789 by changing compile_ptx to accept a signature instead of argument tuple
  • numba#8804 - Split parfor pass into 3 parts
  • numba#8809 - Update LLVM versions for 0.57 release
  • numba#8811 - Temp/debug8134
  • llvmlite#915 - Add Support for Compiler Plugins

Closed PRs

  • numba#8807 - [CI] Pr/8535 LLVM14 testing
  • merged - numba#8810 - Fix llvmlite dependency in meta.yaml

3. Next Release: Version 0.57.0/0.40.0, RC Jan 2023

Clone this wiki locally