Skip to content
esc edited this page May 30, 2023 · 1 revision

Numba Meeting: 2023-05-30

Attendees: val, siu, Andre, Brandon Willard, Graham Markall, Ianna Osborne, Ivan Butygin, Jim Pivarski, Luk, stuart, Todd A. Anderson, Kaustubh, collison, Matthew Murray FPOC (last week): Kaustubh FPOC (incoming): Val

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

Please refer to this calendar for the next meeting date.

0. Discussion

  • (discussed in triage) NumPy 1.25 milestone has it scheduled for 1st July https://github.com/numpy/numpy/milestone/113 so an RC will likely be out soon.

  • Updates from numba-family projects: RVSDG, PIXIE, and an update on the AOT MVP.

    • RVSDG:
      • Siu's path finding on full RVSDG form
        • Work in progress on lowering simple programs
        • Look out for a presnetation in the near future
      • Kaust's refactoring to simpler datastructures
    • PIXIE
      • Scope has been reduced slightly
    • AOT prototype
      • Implemented a prototype as per the document on Discourse and AOT use-case
      • Simple c-compilation into PIXIE libraries/modules
      • New AOT pipeline for Numba code to PIXIE module
      • Ways to combine these two modules in various ways
      • Few hacks still in place to get a quicker solution
      • You can import a PIXIE library, expose all functions in this library and make them availble for both JIT and AOT compilation.
      • Hope to stabilize this stuff and resolve call conventions type stuff
      • First version of PIXIE coming soon, will need feedback about how folks want to use this tool, inputs, outputs and what consumers would expect.
  • update on 0.57.1/0.40.1

    • Numba milestone three issues, one needs a real fix, one is ready and one needs a flake8 fix and some tests
    • llvmlite milestone: two issues left, one is RTM and one has been reviewed by OP
  • (discussed in triage) gpuCI follow up

    • No problems with installing the apps / following the process
    • Graham to contact Andre regarding app installation to start the process of setting up new CI
  • (discussed in triage) 2 months to 0.58. Some large items that need doing include

      1. objmode fallback removal (and clean up).
      1. cache invalidation PR
      1. NumPy 1.25 (large because of testing etc).
    • There's also a few smaller things on the milestone, suggest not adding anything else for now.
    • Val will drive this (together with Kaust?)
  • (discussed in triage) Given there was no one in favour of keeping support for windows 32 bit at last week's meeting and https://github.com/numba/numba/issues/8758 asks whether anyone depends on it, to which there have been no responses. Can it be concluded that windows 32bit support will be dropped for 0.58?

  • Numba-MLIR presentation by Ivan Butygin next week. Announcement: https://numba.discourse.group/t/numba-meeting-june-6-2023-presentation-on-numba-mlir/1959

New "Ready for Review" PRs

1. New Issues

  • numba#8981 - Ahead Of Time default parameters and default keyword arguments- method doesn't work as expected
    • pycc does support default arguments?
    • Answer is: no we don't
    • Siu suggests to do nothing on this issue, since the AOT pipeline needs a rewrite and this will be solved with that
  • numba#8986 - BUG: Windows11 VSCode Numba llvmlite OSError
    • Point user to other issues: missing runtime?
    • What is the real error? Doesn't llvmlite provide more info?
    • Hard to debug and diagnose remotely without a reproducer
  • numba#8989 - Spurious deep copies in inlining
    • Why is so much stuff being inlined that this is causing an issue
    • This was mentiond on gitter too
    • PR opened at: https://github.com/numba/numba/pull/8990 -- this removes some of the deepcopy that may not ne necessary
    • Check this some more with git blame and history
    • Run through build farm
    • Check back with OP
    • If everything checks out, the PR should be merged.

Closed Issues

  • numba#8977 - NameError from CubinLinker with CUDA_ENABLE_MINOR_VERSION_COMPATIBILITY
  • numba#8985 - Call to cuInit results in UNKNOWN_CUDA_ERROR

2. New PRs

  • *** numba#8982 - Don't do the parfor diagnostics pass for the parfor gufunc.
    • Waiting on Todd to do some flake8 fixes.
    • Needs a test: use run_test_in_subprocess -- this is the ideal thing to use since one needs to test that the env var has been set.
  • numba#8983 - Fix typo in deprecation.rst
    • Short typo fix, been reviewed and is now read to merge
  • numba#8984 - Support @gufunc inside @jit
    • Still in progress
  • numba#8987 - Add support of exception in CUDA kernels
    • Still in progress
  • numba#8988 - support for latest CUDA driver codes #8363
  • numba#8990 - [Do Not Merge] Removed extra block copying in InlineWorker
  • numba#8991 - Cherry-pick and squash PR #8978 (Import MVC packages when using MVCLinker) for Release 0.57.1
    • Backport for 0.57.1
  • *** llvmlite#953 - Add operand bundle tag support and file system support.
    • Has come from work on PyOpenMP
    • Questions for Todd:
      • What does the filesytstem have to do with this?
        • PyOpenMP does rely on a global structure for modules
        • Filling in those datastructures on the Numba side for llvmlite
        • A few fields need results of filesystem calls
        • Current approach: LLVM pass that does target processing
        • So we don't need to create the structres with llvmlite anymore
        • This could potentially be useful to other people
        • It's not structly necessary, but also not getting in the way
      • Tests and documentation will be needed ?
        • What level of dcoumentation, where should this go?
        • Documentation is straight forward, just documents that APIs exist and what they do
        • RST file somewhere
        • What would tests look like?
        • For the bundle, we just need some simple assembly parsing, to ensure valid LLVM IR is being generated
        • For the filesystem stuff, perhaps just exercise it, we can maybe just check if it works and returns something useful
  • llvmlite#954 - Invalidate string cache for mutable instructions
    • Graham may comment some more on this

Closed PRs

  • merged - numba#8976 - Fix index URL for ptxcompiler/cubinlinker packages.
  • merged - numba#8978 - Import MVC packages when using MVCLinker.
  • merged - numba#8979 - Cherry-pick #8976 (fix index URL for ptxcompiler/cubinlinker packages) for Release 0.57.1
  • numba#8980 - [CI only] Use nightly build of cubinlinker

3. Short-term Roadmap

gantt: https://github.com/numba/numba/issues/8971

Clone this wiki locally