June 2024: Editor for this month is @stuartarchibald
What happened:
- A lot of work has been done on PIXIE to make it ready for a preview release and presentation at the SciPy 2024 conference. Implemented work/features includes:
- Support for x86_64 linux (
@stuartarchibald
) and arm64 macOS (@sklam
). - ISA based dispatch. (
@stuartarchibald
) - Embedded LLVM bitcode. (
@stuartarchibald
) - Automatic addition of a
__PIXIE__
dictionary to user suppliedPyInit
functions. (@stuartarchibald
) - Optional automatic conversion of C-libraries to Python C-extensions (
@stuartarchibald
) - Command line tools
pixie-cc
andpixie-cythonize
(@esc
and@stuartarchibald
) - Documentation (
@sklam
) - CI and CD infrastructure (
@esc
and@kc611
)
- Support for x86_64 linux (
- The SciPy demonstration is available here along with instructions on how to run it.
@kc611
has been working on some new performance diagnostic tooling for Numba by exposing the LLVM remarks interface into user space, PR#9601.- Contributor
@max-sixty
opened a PR to allow Numba functions within zip files to be cached PR#9630 @gmarkall
opened an RFC asking about moving the development and maintenance of thenumba.cuda
target to a package hosted and supported by NVIDIA.- A patch was made by
@sklam
that enables first class function types to be inlined under certain conditions and also raise exceptions (they are also a lot faster now as the GIL isn’t involved). PR#9077 - The Numba 0.60 and llvmlite 0.43 releases shipped this is the first release that is binary compatible with NumPy 2.0 (execution compatibility will come later).
@gmarkall
opened a patch to upgrade llvmlite to use LLVM 15 by default along with experimental support for LLVM 16. PR#1067- Contributor
@rj-jesus
added support for opaque pointers in llvmlite. PR#1064 - Support for LLVM’s new pass manager has completed review and will be in the next version of llvmlite. PR#1046
- To help support PIXIE
@sklam
added LLVM IR type reference “round tripping” capabilities to llvmlite in PR#1051 and@kc611
exposed the LLVM triple parser in PR#1063.
Ongoing:
- PIXIE will be developed further to add features such as linking and a json configuration as a method of specifying what to compile.
- Work on NumPy 2 support will resume/continue, including looking at compilation performance and the performance of resulting executables.
- Update Numba to use LLVM 15+.